pub struct FileObj {
pub name: PathBuf,
pub added_lines: Vec<u32>,
pub added_ranges: Vec<RangeInclusive<u32>>,
pub diff_chunks: Vec<RangeInclusive<u32>>,
pub format_advice: Option<FormatAdvice>,
pub tidy_advice: Option<TidyAdvice>,
}Expand description
A structure to represent a file’s path and line changes.
Fields§
§name: PathBufThe path to the file.
added_lines: Vec<u32>The list of lines with additions.
added_ranges: Vec<RangeInclusive<u32>>The list of ranges that span only lines with additions.
diff_chunks: Vec<RangeInclusive<u32>>The list of ranges that span the lines present in diff chunks.
format_advice: Option<FormatAdvice>The collection of clang-format advice for this file.
tidy_advice: Option<TidyAdvice>The collection of clang-format advice for this file.
Implementations§
Source§impl FileObj
impl FileObj
Sourcepub fn new(name: PathBuf) -> Self
pub fn new(name: PathBuf) -> Self
Instantiate a rudimentary object with only file name information.
To instantiate an object with line information, use FileObj::from.
Sourcepub fn from(
name: PathBuf,
added_lines: Vec<u32>,
diff_chunks: Vec<RangeInclusive<u32>>,
) -> Self
pub fn from( name: PathBuf, added_lines: Vec<u32>, diff_chunks: Vec<RangeInclusive<u32>>, ) -> Self
Instantiate an object with file name and changed lines information.
pub fn get_ranges( &self, lines_changed_only: &LinesChangedOnly, ) -> Vec<RangeInclusive<u32>>
Sourcepub fn is_hunk_in_diff(&self, hunk: &DiffHunk<'_>) -> Option<(u32, u32)>
pub fn is_hunk_in_diff(&self, hunk: &DiffHunk<'_>) -> Option<(u32, u32)>
Is the range from start_line to end_line contained in a single item of
FileObj::diff_chunks?
Sourcepub fn make_suggestions_from_patch(
&self,
review_comments: &mut ReviewComments,
summary_only: bool,
) -> Result<()>
pub fn make_suggestions_from_patch( &self, review_comments: &mut ReviewComments, summary_only: bool, ) -> Result<()>
Create a list of Suggestion from a
generated Patch and store them in the given
ReviewComments.
The suggestions will also include diagnostics from clang-tidy that did not have a fix applied in the patch.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FileObj
impl RefUnwindSafe for FileObj
impl Send for FileObj
impl Sync for FileObj
impl Unpin for FileObj
impl UnwindSafe for FileObj
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more