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.