diff --git a/crates/cairo-lang-parser/src/db.rs b/crates/cairo-lang-parser/src/db.rs index 07a3849640a..3ef8e69db00 100644 --- a/crates/cairo-lang-parser/src/db.rs +++ b/crates/cairo-lang-parser/src/db.rs @@ -14,6 +14,11 @@ mod db_test; /// Interface of the parser database. pub trait ParserGroup: Database { + /// Parses a file and returns its AST as a root SyntaxNode. + fn file_syntax<'db>(&'db self, file_id: FileId<'db>) -> Maybe> { + file_syntax(self.as_dyn_database(), file_id) + } + /// Parses a file and returns its AST as a root SyntaxFile. fn file_module_syntax<'db>(&'db self, file_id: FileId<'db>) -> Maybe> { file_module_syntax(self.as_dyn_database(), file_id) diff --git a/crates/cairo-lang-semantic/src/expr/pattern.rs b/crates/cairo-lang-semantic/src/expr/pattern.rs index bbdd34a113c..8ade39daa94 100644 --- a/crates/cairo-lang-semantic/src/expr/pattern.rs +++ b/crates/cairo-lang-semantic/src/expr/pattern.rs @@ -5,9 +5,9 @@ use cairo_lang_filesystem::ids::SmolStrId; use cairo_lang_proc_macros::{DebugWithDb, SemanticObject}; use cairo_lang_syntax::node::ast; use cairo_lang_syntax::node::ids::SyntaxStablePtrId; +use salsa::Database; use super::fmt::ExprFormatter; -use crate::db::SemanticGroup; use crate::items::function_with_body::FunctionWithBodySemantic; use crate::{ ConcreteStructId, ExprLiteral, ExprStringLiteral, LocalVariable, PatternArena, PatternId, @@ -120,10 +120,10 @@ impl<'a> PatternVariablesQueryable<'a> for PatternArena<'a> { /// Query a function for variables of patterns defined within it. /// -/// This is a wrapper over [`SemanticGroup`] that takes [`FunctionWithBodyId`] +/// This is a wrapper over [`Database`] that takes [`FunctionWithBodyId`] /// and relays queries to [`FunctionWithBodySemantic::pattern_semantic`]. pub struct QueryPatternVariablesFromDb<'a>( - pub &'a (dyn SemanticGroup + 'static), + pub &'a (dyn Database + 'static), pub FunctionWithBodyId<'a>, );