pub struct Change {
pub id: Uuid,
pub kind: ChangeKind,
pub old: Option<String>,
pub new: Option<String>,
pub line_range: Range<usize>,
pub char_range: Range<usize>,
pub location: SourceLocation,
pub semantic_impact: ComprehensiveSemanticImpact,
pub affected_symbols: Vec<String>,
pub confidence: f32,
pub description: String,
}Expand description
Represents a single change made during an operation
Fields§
§id: UuidUnique identifier for this change
kind: ChangeKindType and nature of the change
old: Option<String>Original content (if any)
new: Option<String>New content (if any)
line_range: Range<usize>Line range affected by the change
char_range: Range<usize>Character range within the file
location: SourceLocationLocation where the change occurred
semantic_impact: ComprehensiveSemanticImpactSemantic impact of this change
affected_symbols: Vec<String>Symbols affected by this change
confidence: f32Confidence level (0.0 to 1.0)
description: StringHuman-readable description
Implementations§
Source§impl Change
impl Change
Sourcepub fn addition(
location: SourceLocation,
content: String,
reason: String,
) -> Self
pub fn addition( location: SourceLocation, content: String, reason: String, ) -> Self
Create a simple addition change
Sourcepub fn modification(
location: SourceLocation,
old_content: String,
new_content: String,
why: String,
) -> Self
pub fn modification( location: SourceLocation, old_content: String, new_content: String, why: String, ) -> Self
Create a simple modification change
Sourcepub fn deletion(
location: SourceLocation,
content: String,
justification: String,
) -> Self
pub fn deletion( location: SourceLocation, content: String, justification: String, ) -> Self
Create a simple deletion change
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Change
impl<'de> Deserialize<'de> for Change
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Change
impl RefUnwindSafe for Change
impl Send for Change
impl Sync for Change
impl Unpin for Change
impl UnwindSafe for Change
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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>
Converts
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>
Converts
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