pub struct TreeSitterOracle { /* private fields */ }Expand description
Tree-sitter based oracle for validating structural queries.
Implementations§
Source§impl TreeSitterOracle
impl TreeSitterOracle
Sourcepub fn query(&mut self, query_str: &str) -> Result<AstQueryResult>
pub fn query(&mut self, query_str: &str) -> Result<AstQueryResult>
Execute a tree-sitter S-expression query.
Example queries:
(function_item name: (identifier) @name)(struct_item name: (type_identifier) @name body: (field_declaration_list))(impl_item trait: (type_identifier) @trait for: (type_identifier) @for)
Sourcepub fn get_functions(&mut self) -> Result<Vec<FunctionSignature>>
pub fn get_functions(&mut self) -> Result<Vec<FunctionSignature>>
Get all function signatures in the source.
Sourcepub fn get_structs(&mut self) -> Result<Vec<StructDefinition>>
pub fn get_structs(&mut self) -> Result<Vec<StructDefinition>>
Get all struct definitions in the source.
Sourcepub fn get_enums(&mut self) -> Result<Vec<EnumDefinition>>
pub fn get_enums(&mut self) -> Result<Vec<EnumDefinition>>
Get all enum definitions in the source.
Sourcepub fn count_error_patterns(&mut self) -> Result<ErrorPatternCounts>
pub fn count_error_patterns(&mut self) -> Result<ErrorPatternCounts>
Count error handling patterns.
Auto Trait Implementations§
impl Freeze for TreeSitterOracle
impl RefUnwindSafe for TreeSitterOracle
impl Send for TreeSitterOracle
impl Sync for TreeSitterOracle
impl Unpin for TreeSitterOracle
impl UnsafeUnpin for TreeSitterOracle
impl UnwindSafe for TreeSitterOracle
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more