pub struct Solidity;Trait Implementations§
Source§impl<'de> Deserialize<'de> for Solidity
impl<'de> Deserialize<'de> for Solidity
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 From<Solidity> for SupportLang
impl From<Solidity> for SupportLang
Source§impl Language for Solidity
impl Language for Solidity
fn kind_to_id(&self, kind: &str) -> u16
fn field_to_id(&self, field: &str) -> Option<u16>
fn build_pattern( &self, builder: &PatternBuilder<'_>, ) -> Result<Pattern, PatternError>
Source§fn pre_process_pattern<'q>(&self, query: &'q str) -> Cow<'q, str>
fn pre_process_pattern<'q>(&self, query: &'q str) -> Cow<'q, str>
normalize pattern code before matching
e.g. remove expression_statement, or prefer parsing {} to object over block
Source§fn meta_var_char(&self) -> char
fn meta_var_char(&self) -> char
Configure meta variable special character
By default $ is the metavar char, but in PHP it can be #
Source§fn expando_char(&self) -> char
fn expando_char(&self) -> char
Some language does not accept $ as the leading char for identifiers.
We need to change $ to other char at run-time to make parser happy, thus the name expando.
By default this is the same as meta_var char so replacement is done at runtime.
Source§fn extract_meta_var(&self, source: &str) -> Option<MetaVariable>
fn extract_meta_var(&self, source: &str) -> Option<MetaVariable>
extract MetaVariable from a given source string
At runtime we need to use expand_char
Source§impl LanguageExt for Solidity
impl LanguageExt for Solidity
Source§fn get_ts_language(&self) -> TSLanguage
fn get_ts_language(&self) -> TSLanguage
tree sitter language to parse the source
Source§fn ast_grep<S>(&self, source: S) -> Root<StrDoc<Self>>
fn ast_grep<S>(&self, source: S) -> Root<StrDoc<Self>>
Create an
AstGrep instance for the languagefn injectable_languages(&self) -> Option<&'static [&'static str]>
Source§fn extract_injections<L>(
&self,
_root: Node<'_, StrDoc<L>>,
) -> Vec<(String, Vec<Range>)>where
L: LanguageExt,
fn extract_injections<L>(
&self,
_root: Node<'_, StrDoc<L>>,
) -> Vec<(String, Vec<Range>)>where
L: LanguageExt,
Get injected language regions in the root document. e.g. get JavaScripts in HTML.
Each entry is parsed as an independent tree-sitter document.
Multiple entries for the same language produce separate parse trees.
Also see https://tree-sitter.github.io/tree-sitter/using-parsers#multi-language-documents
impl Copy for Solidity
Auto Trait Implementations§
impl Freeze for Solidity
impl RefUnwindSafe for Solidity
impl Send for Solidity
impl Sync for Solidity
impl Unpin for Solidity
impl UnsafeUnpin for Solidity
impl UnwindSafe for Solidity
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