Struct ast_grep_config::SerializableRuleCore
source · pub struct SerializableRuleCore {
pub rule: SerializableRule,
pub constraints: Option<HashMap<String, SerializableRule>>,
pub utils: Option<HashMap<String, SerializableRule>>,
pub transform: Option<HashMap<String, Transformation>>,
pub fix: Option<SerializableFixer>,
}Expand description
Used for global rules, rewriters, and pyo3/napi
Fields§
§rule: SerializableRuleA rule object to find matching AST nodes
constraints: Option<HashMap<String, SerializableRule>>Additional meta variables pattern to filter matching
utils: Option<HashMap<String, SerializableRule>>Utility rules that can be used in matches
transform: Option<HashMap<String, Transformation>>A dictionary for metavariable manipulation. Dict key is the new variable name. Dict value is a [transformation] that specifies how meta var is processed. See transformation doc.
fix: Option<SerializableFixer>A pattern string or a FixConfig object to auto fix the issue. It can reference metavariables appeared in rule. See details in fix object reference.
Implementations§
source§impl SerializableRuleCore
impl SerializableRuleCore
pub fn get_matcher<L: Language>( &self, env: DeserializeEnv<L>, ) -> Result<RuleCore<L>, RuleCoreError>
Trait Implementations§
source§impl Clone for SerializableRuleCore
impl Clone for SerializableRuleCore
source§fn clone(&self) -> SerializableRuleCore
fn clone(&self) -> SerializableRuleCore
Returns a copy 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<'de> Deserialize<'de> for SerializableRuleCore
impl<'de> Deserialize<'de> for SerializableRuleCore
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
source§impl JsonSchema for SerializableRuleCore
impl JsonSchema for SerializableRuleCore
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for SerializableRuleCore
impl RefUnwindSafe for SerializableRuleCore
impl Send for SerializableRuleCore
impl Sync for SerializableRuleCore
impl Unpin for SerializableRuleCore
impl UnwindSafe for SerializableRuleCore
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)