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: PathBuf
The 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