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 crate::expr::pattern::Pattern;
pub use crate::expr::pattern::PatternEnumVariant;
pub use crate::expr::pattern::PatternLiteral;
pub use crate::expr::pattern::PatternOtherwise;
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::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::imp::ConcreteImplId;
pub use crate::items::imp::ConcreteImplLongId;
pub use crate::items::strct::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.

Structs

Semantic model of a variable.

Enums

Generic argument. A value assigned to a generic parameter. May be a type, impl, constant, etc..
The mutability attribute of a variable.
Id for any variable definition.