pub struct AstContext {
pub containing_function: Option<String>,
pub containing_class: Option<String>,
pub return_type: Option<String>,
pub parameter_types: Vec<String>,
pub local_types: Vec<(String, String)>,
pub statement_kind: String,
pub expression_kind: String,
pub ast_depth: usize,
}Expand description
AST context around an error
Fields§
§containing_function: Option<String>Function/method name containing the error
containing_class: Option<String>Class name if in a method
return_type: Option<String>Return type annotation (if present)
parameter_types: Vec<String>Parameter types (if annotated)
local_types: Vec<(String, String)>Local variable types inferred
statement_kind: StringStatement kind (return, assign, call, etc.)
expression_kind: StringExpression kind (call, binop, name, etc.)
ast_depth: usizeDepth in AST (0 = top level)
Trait Implementations§
Source§impl Clone for AstContext
impl Clone for AstContext
Source§fn clone(&self) -> AstContext
fn clone(&self) -> AstContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AstContext
impl Debug for AstContext
Source§impl<'de> Deserialize<'de> for AstContext
impl<'de> Deserialize<'de> for AstContext
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 AstContext
impl RefUnwindSafe for AstContext
impl Send for AstContext
impl Sync for AstContext
impl Unpin for AstContext
impl UnwindSafe for AstContext
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> 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