pub struct SemanticAnalyzer;Implementations§
§impl SemanticAnalyzer
impl SemanticAnalyzer
pub fn new() -> Self
pub fn analyze( &mut self, ast: &AstNode, ) -> Result<SemanticResult, CompilerError>
fn analyze_complexity(&self, ast: &AstNode) -> ComplexityMetrics
fn estimate_gas_usage(&self, ast: &AstNode) -> u64
fn check_undefined_variables(&self, ast: &AstNode, errors: &mut Vec<String>)
fn check_function_signatures(&self, ast: &AstNode, warnings: &mut Vec<String>)
fn check_security_issues( &self, ast: &AstNode, security_issues: &mut Vec<SecurityIssue>, )
fn check_optimization_opportunities( &self, ast: &AstNode, opportunities: &mut Vec<String>, )
fn identify_hot_paths(&self, ast: &AstNode, hot_paths: &mut Vec<String>)
§impl SemanticAnalyzer
impl SemanticAnalyzer
§impl SemanticAnalyzer
impl SemanticAnalyzer
fn is_builtin(&self, name: &str) -> bool
Trait Implementations§
Source§impl Default for SemanticAnalyzer
impl Default for SemanticAnalyzer
Source§fn default() -> SemanticAnalyzer
fn default() -> SemanticAnalyzer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SemanticAnalyzer
impl RefUnwindSafe for SemanticAnalyzer
impl Send for SemanticAnalyzer
impl Sync for SemanticAnalyzer
impl Unpin for SemanticAnalyzer
impl UnwindSafe for SemanticAnalyzer
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> 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