Expand description
Semantic model representation and queries for Cairo. The semantic model represents the Cairo program after type resolution and some syntax desugaring.
Re-exports§
pub use diagnostic::SemanticDiagnostic;
pub use substitution::SemanticObject;
pub use crate::expr::pattern::Pattern;
pub use crate::expr::pattern::PatternEnumVariant;
pub use crate::expr::pattern::PatternFixedSizeArray;
pub use crate::expr::pattern::PatternLiteral;
pub use crate::expr::pattern::PatternOtherwise;
pub use crate::expr::pattern::PatternStringLiteral;
pub use crate::expr::pattern::PatternStruct;
pub use crate::expr::pattern::PatternTuple;
pub use crate::expr::pattern::PatternVariable;
pub use crate::items::enm::ConcreteVariant;
pub use crate::items::enm::MatchArmSelector;
pub use crate::items::enm::ValueSelectorArm;
pub use crate::items::enm::Variant;
pub use crate::items::function_with_body::FunctionBody;
pub use crate::items::functions::ConcreteFunction;
pub use crate::items::functions::ConcreteFunctionWithBodyId;
pub use crate::items::functions::FunctionId;
pub use crate::items::functions::FunctionLongId;
pub use crate::items::functions::Signature;
pub use crate::items::generics::GenericArgumentId;
pub use crate::items::generics::GenericParam;
pub use crate::items::imp::ConcreteImplId;
pub use crate::items::imp::ConcreteImplLongId;
pub use crate::items::structure::Member;
pub use crate::items::trt::ConcreteTraitId;
pub use crate::items::trt::ConcreteTraitLongId;
pub use crate::types::ConcreteEnumId;
pub use crate::types::ConcreteExternTypeId;
pub use crate::types::ConcreteStructId;
pub use crate::types::ConcreteTypeId;
pub use crate::types::TypeId;
pub use crate::types::TypeLongId;
pub use super::expr::objects::*;
Modules§
- This module is responsible for inner code elements, such as expressions and statements.
- Introduces Usages, which is responsible for computing variables usage in semantic blocks
of a function.
Macros§
Structs§
- Semantic model of a local item.
- Semantic model of a variable.
Enums§
- The mutability attribute of a variable.
- Semantic model of statement item kind.
- Id for any variable definition.