Trait cairo_lang_semantic::db::SemanticGroup
source · pub trait SemanticGroup: Database + HasQueryGroup<SemanticDatabase> + DefsGroup + Upcast<dyn DefsGroup> + ParserGroup + Upcast<dyn FilesGroup> + AsFilesGroupMut + Elongate {
Show 123 methods
fn intern_function(&self, key0: FunctionLongId) -> FunctionId;
fn lookup_intern_function(&self, key0: FunctionId) -> FunctionLongId;
fn intern_concrete_function_with_body(
&self,
key0: ConcreteFunctionWithBody
) -> ConcreteFunctionWithBodyId;
fn lookup_intern_concrete_function_with_body(
&self,
key0: ConcreteFunctionWithBodyId
) -> ConcreteFunctionWithBody;
fn intern_concrete_struct(
&self,
key0: ConcreteStructLongId
) -> ConcreteStructId;
fn lookup_intern_concrete_struct(
&self,
key0: ConcreteStructId
) -> ConcreteStructLongId;
fn intern_concrete_enum(&self, key0: ConcreteEnumLongId) -> ConcreteEnumId;
fn lookup_intern_concrete_enum(
&self,
key0: ConcreteEnumId
) -> ConcreteEnumLongId;
fn intern_concrete_extern_type(
&self,
key0: ConcreteExternTypeLongId
) -> ConcreteExternTypeId;
fn lookup_intern_concrete_extern_type(
&self,
key0: ConcreteExternTypeId
) -> ConcreteExternTypeLongId;
fn intern_concrete_trait(&self, key0: ConcreteTraitLongId) -> ConcreteTraitId;
fn lookup_intern_concrete_trait(
&self,
key0: ConcreteTraitId
) -> ConcreteTraitLongId;
fn intern_concrete_trait_function(
&self,
key0: ConcreteTraitGenericFunctionLongId
) -> ConcreteTraitGenericFunctionId;
fn lookup_intern_concrete_trait_function(
&self,
key0: ConcreteTraitGenericFunctionId
) -> ConcreteTraitGenericFunctionLongId;
fn intern_concrete_impl(&self, key0: ConcreteImplLongId) -> ConcreteImplId;
fn lookup_intern_concrete_impl(
&self,
key0: ConcreteImplId
) -> ConcreteImplLongId;
fn intern_type(&self, key0: TypeLongId) -> TypeId;
fn lookup_intern_type(&self, key0: TypeId) -> TypeLongId;
fn intern_literal(&self, key0: LiteralLongId) -> LiteralId;
fn lookup_intern_literal(&self, key0: LiteralId) -> LiteralLongId;
fn priv_constant_semantic_data(
&self,
key0: ConstantId
) -> Maybe<ConstantData>;
fn constant_semantic_diagnostics(
&self,
key0: ConstantId
) -> Diagnostics<SemanticDiagnostic>;
fn constant_semantic_data(&self, key0: ConstantId) -> Maybe<Constant>;
fn constant_resolved_lookback(
&self,
key0: ConstantId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_use_semantic_data(&self, key0: UseId) -> Maybe<UseData>;
fn use_semantic_diagnostics(
&self,
key0: UseId
) -> Diagnostics<SemanticDiagnostic>;
fn use_resolved_item(&self, key0: UseId) -> Maybe<ResolvedGenericItem>;
fn use_resolved_lookback(&self, key0: UseId) -> Maybe<Arc<ResolvedLookback>>;
fn priv_module_items_data(
&self,
key0: ModuleId
) -> Maybe<Arc<ModuleSemanticData>>;
fn module_item_by_name(
&self,
key0: ModuleId,
key1: SmolStr
) -> Maybe<Option<ModuleItemId>>;
fn module_attributes(&self, key0: ModuleId) -> Maybe<Vec<Attribute>>;
fn priv_struct_semantic_data(&self, key0: StructId) -> Maybe<StructData>;
fn struct_semantic_diagnostics(
&self,
key0: StructId
) -> Diagnostics<SemanticDiagnostic>;
fn struct_generic_params(&self, key0: StructId) -> Maybe<Vec<GenericParamId>>;
fn struct_members(
&self,
key0: StructId
) -> Maybe<OrderedHashMap<SmolStr, Member>>;
fn struct_attributes(&self, key0: StructId) -> Maybe<Vec<Attribute>>;
fn struct_resolved_lookback(
&self,
key0: StructId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_enum_semantic_data(&self, key0: EnumId) -> Maybe<EnumData>;
fn enum_semantic_diagnostics(
&self,
key0: EnumId
) -> Diagnostics<SemanticDiagnostic>;
fn enum_generic_params(&self, key0: EnumId) -> Maybe<Vec<GenericParamId>>;
fn enum_variants(
&self,
key0: EnumId
) -> Maybe<OrderedHashMap<SmolStr, VariantId>>;
fn variant_semantic(&self, key0: EnumId, key1: VariantId) -> Maybe<Variant>;
fn enum_resolved_lookback(
&self,
key0: EnumId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_type_alias_semantic_data(
&self,
key0: TypeAliasId
) -> Maybe<TypeAliasData>;
fn type_alias_semantic_diagnostics(
&self,
key0: TypeAliasId
) -> Diagnostics<SemanticDiagnostic>;
fn type_alias_resolved_type(&self, key0: TypeAliasId) -> Maybe<TypeId>;
fn type_alias_generic_params(
&self,
key0: TypeAliasId
) -> Maybe<Vec<GenericParamId>>;
fn type_alias_resolved_lookback(
&self,
key0: TypeAliasId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_trait_semantic_data(&self, key0: TraitId) -> Maybe<TraitData>;
fn trait_semantic_diagnostics(
&self,
key0: TraitId
) -> Diagnostics<SemanticDiagnostic>;
fn trait_generic_params(&self, key0: TraitId) -> Maybe<Vec<GenericParamId>>;
fn trait_attributes(&self, key0: TraitId) -> Maybe<Vec<Attribute>>;
fn trait_functions(
&self,
key0: TraitId
) -> Maybe<OrderedHashMap<SmolStr, TraitFunctionId>>;
fn trait_function_by_name(
&self,
key0: TraitId,
key1: SmolStr
) -> Maybe<Option<TraitFunctionId>>;
fn priv_trait_function_data(
&self,
key0: TraitFunctionId
) -> Maybe<TraitFunctionData>;
fn trait_function_diagnostics(
&self,
key0: TraitFunctionId
) -> Diagnostics<SemanticDiagnostic>;
fn trait_function_signature(&self, key0: TraitFunctionId) -> Maybe<Signature>;
fn trait_function_attributes(
&self,
key0: TraitFunctionId
) -> Maybe<Vec<Attribute>>;
fn trait_function_generic_params(
&self,
key0: TraitFunctionId
) -> Maybe<Vec<GenericParamId>>;
fn trait_function_resolved_lookback(
&self,
key0: TraitFunctionId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_impl_declaration_data(
&self,
key0: ImplId
) -> Maybe<ImplDeclarationData>;
fn impl_semantic_declaration_diagnostics(
&self,
key0: ImplId
) -> Diagnostics<SemanticDiagnostic>;
fn impl_generic_params(&self, key0: ImplId) -> Maybe<Vec<GenericParamId>>;
fn impl_resolved_lookback(
&self,
key0: ImplId
) -> Maybe<Arc<ResolvedLookback>>;
fn impl_trait(&self, key0: ImplId) -> Maybe<ConcreteTraitId>;
fn priv_impl_definition_data(
&self,
key0: ImplId
) -> Maybe<ImplDefinitionData>;
fn impl_semantic_definition_diagnostics(
&self,
key0: ImplId
) -> Diagnostics<SemanticDiagnostic>;
fn impl_functions(
&self,
key0: ImplId
) -> Maybe<OrderedHashMap<SmolStr, ImplFunctionId>>;
fn impl_function_by_trait_function(
&self,
key0: ImplId,
key1: TraitFunctionId
) -> Maybe<Option<ImplFunctionId>>;
fn impl_function_signature(&self, key0: ImplFunctionId) -> Maybe<Signature>;
fn impl_function_declaration_implicits(
&self,
key0: ImplFunctionId
) -> Maybe<Vec<TypeId>>;
fn impl_function_generic_params(
&self,
key0: ImplFunctionId
) -> Maybe<Vec<GenericParamId>>;
fn impl_function_declaration_diagnostics(
&self,
key0: ImplFunctionId
) -> Diagnostics<SemanticDiagnostic>;
fn impl_function_resolved_lookback(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_impl_function_declaration_data(
&self,
key0: ImplFunctionId
) -> Maybe<FunctionDeclarationData>;
fn impl_function_body_diagnostics(
&self,
key0: ImplFunctionId
) -> Diagnostics<SemanticDiagnostic>;
fn impl_function_body(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<FunctionBody>>;
fn impl_function_body_resolved_lookback(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_impl_function_body_data(
&self,
key0: ImplFunctionId
) -> Maybe<FunctionBodyData>;
fn free_function_declaration_diagnostics(
&self,
key0: FreeFunctionId
) -> Diagnostics<SemanticDiagnostic>;
fn free_function_signature(&self, key0: FreeFunctionId) -> Maybe<Signature>;
fn free_function_declaration_implicits(
&self,
key0: FreeFunctionId
) -> Maybe<Vec<TypeId>>;
fn free_function_generic_params(
&self,
key0: FreeFunctionId
) -> Maybe<Vec<GenericParamId>>;
fn free_function_declaration_resolved_lookback(
&self,
key0: FreeFunctionId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_free_function_declaration_data(
&self,
key0: FreeFunctionId
) -> Maybe<FunctionDeclarationData>;
fn free_function_body_diagnostics(
&self,
key0: FreeFunctionId
) -> Diagnostics<SemanticDiagnostic>;
fn free_function_body_resolved_lookback(
&self,
key0: FreeFunctionId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_free_function_body_data(
&self,
key0: FreeFunctionId
) -> Maybe<FunctionBodyData>;
fn function_declaration_diagnostics(
&self,
key0: FunctionWithBodyId
) -> Diagnostics<SemanticDiagnostic>;
fn function_with_body_signature(
&self,
key0: FunctionWithBodyId
) -> Maybe<Signature>;
fn function_with_body_generic_params(
&self,
key0: FunctionWithBodyId
) -> Maybe<Vec<GenericParamId>>;
fn function_with_body_attributes(
&self,
key0: FunctionWithBodyId
) -> Maybe<Vec<Attribute>>;
fn function_body_diagnostics(
&self,
key0: FunctionWithBodyId
) -> Diagnostics<SemanticDiagnostic>;
fn function_body_expr(&self, key0: FunctionWithBodyId) -> Maybe<ExprId>;
fn function_body(&self, key0: FunctionWithBodyId) -> Maybe<Arc<FunctionBody>>;
fn function_with_body_direct_callees(
&self,
key0: FunctionWithBodyId
) -> Maybe<HashSet<FunctionId>>;
fn function_with_body_direct_function_with_body_callees(
&self,
key0: FunctionWithBodyId
) -> Maybe<HashSet<FunctionWithBodyId>>;
fn priv_extern_function_declaration_data(
&self,
key0: ExternFunctionId
) -> Maybe<FunctionDeclarationData>;
fn extern_function_declaration_diagnostics(
&self,
key0: ExternFunctionId
) -> Diagnostics<SemanticDiagnostic>;
fn extern_function_signature(
&self,
key0: ExternFunctionId
) -> Maybe<Signature>;
fn extern_function_declaration_generic_params(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<GenericParamId>>;
fn extern_function_declaration_implicits(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<TypeId>>;
fn extern_function_declaration_refs(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<Parameter>>;
fn extern_function_declaration_resolved_lookback(
&self,
key0: ExternFunctionId
) -> Maybe<Arc<ResolvedLookback>>;
fn priv_extern_type_declaration_data(
&self,
key0: ExternTypeId
) -> Maybe<ExternTypeDeclarationData>;
fn extern_type_declaration_diagnostics(
&self,
key0: ExternTypeId
) -> Diagnostics<SemanticDiagnostic>;
fn extern_type_declaration_generic_params(
&self,
key0: ExternTypeId
) -> Maybe<Vec<GenericParamId>>;
fn function_signature_signature(
&self,
key0: FunctionSignatureId
) -> Maybe<Signature>;
fn function_signature_generic_params(
&self,
key0: FunctionSignatureId
) -> Maybe<Vec<GenericParamId>>;
fn concrete_function_signature(&self, key0: FunctionId) -> Maybe<Signature>;
fn generic_type_generic_params(
&self,
key0: GenericTypeId
) -> Maybe<Vec<GenericParamId>>;
fn type_info(&self, key0: ImplLookupContext, key1: TypeId) -> Maybe<TypeInfo>;
fn expr_semantic(&self, key0: FunctionWithBodyId, key1: ExprId) -> Expr;
fn statement_semantic(
&self,
key0: FunctionWithBodyId,
key1: StatementId
) -> Statement;
fn lookup_resolved_generic_item_by_ptr(
&self,
key0: LookupItemId,
key1: TerminalIdentifierPtr
) -> Option<ResolvedGenericItem>;
fn lookup_resolved_concrete_item_by_ptr(
&self,
key0: LookupItemId,
key1: TerminalIdentifierPtr
) -> Option<ResolvedConcreteItem>;
fn module_semantic_diagnostics(
&self,
key0: ModuleId
) -> Maybe<Diagnostics<SemanticDiagnostic>>;
fn file_semantic_diagnostics(
&self,
key0: FileId
) -> Maybe<Diagnostics<SemanticDiagnostic>>;
fn core_module(&self) -> ModuleId;
fn core_felt_ty(&self) -> TypeId;
fn semantic_plugins(&self) -> Vec<Arc<dyn SemanticPlugin>> ⓘ;
fn set_semantic_plugins(&mut self, value__: Vec<Arc<dyn SemanticPlugin>>);
fn set_semantic_plugins_with_durability(
&mut self,
value__: Vec<Arc<dyn SemanticPlugin>>,
durability__: Durability
);
}
Required Methods§
fn intern_function(&self, key0: FunctionLongId) -> FunctionId
fn lookup_intern_function(&self, key0: FunctionId) -> FunctionLongId
fn intern_concrete_function_with_body(
&self,
key0: ConcreteFunctionWithBody
) -> ConcreteFunctionWithBodyId
fn lookup_intern_concrete_function_with_body(
&self,
key0: ConcreteFunctionWithBodyId
) -> ConcreteFunctionWithBody
fn intern_concrete_struct(&self, key0: ConcreteStructLongId) -> ConcreteStructId
fn lookup_intern_concrete_struct(
&self,
key0: ConcreteStructId
) -> ConcreteStructLongId
fn intern_concrete_enum(&self, key0: ConcreteEnumLongId) -> ConcreteEnumId
fn lookup_intern_concrete_enum(&self, key0: ConcreteEnumId) -> ConcreteEnumLongId
fn intern_concrete_extern_type(
&self,
key0: ConcreteExternTypeLongId
) -> ConcreteExternTypeId
fn lookup_intern_concrete_extern_type(
&self,
key0: ConcreteExternTypeId
) -> ConcreteExternTypeLongId
fn intern_concrete_trait(&self, key0: ConcreteTraitLongId) -> ConcreteTraitId
fn lookup_intern_concrete_trait(
&self,
key0: ConcreteTraitId
) -> ConcreteTraitLongId
fn intern_concrete_trait_function(
&self,
key0: ConcreteTraitGenericFunctionLongId
) -> ConcreteTraitGenericFunctionId
fn lookup_intern_concrete_trait_function(
&self,
key0: ConcreteTraitGenericFunctionId
) -> ConcreteTraitGenericFunctionLongId
fn intern_concrete_impl(&self, key0: ConcreteImplLongId) -> ConcreteImplId
fn lookup_intern_concrete_impl(&self, key0: ConcreteImplId) -> ConcreteImplLongId
fn intern_type(&self, key0: TypeLongId) -> TypeId
fn lookup_intern_type(&self, key0: TypeId) -> TypeLongId
fn intern_literal(&self, key0: LiteralLongId) -> LiteralId
fn lookup_intern_literal(&self, key0: LiteralId) -> LiteralLongId
sourcefn priv_constant_semantic_data(&self, key0: ConstantId) -> Maybe<ConstantData>
fn priv_constant_semantic_data(&self, key0: ConstantId) -> Maybe<ConstantData>
Private query to compute data about a constant definition.
sourcefn constant_semantic_diagnostics(
&self,
key0: ConstantId
) -> Diagnostics<SemanticDiagnostic>
fn constant_semantic_diagnostics(
&self,
key0: ConstantId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a constant definition.
sourcefn constant_semantic_data(&self, key0: ConstantId) -> Maybe<Constant>
fn constant_semantic_data(&self, key0: ConstantId) -> Maybe<Constant>
Returns the semantic data of a constant definition.
fn constant_resolved_lookback(
&self,
key0: ConstantId
) -> Maybe<Arc<ResolvedLookback>>
sourcefn priv_use_semantic_data(&self, key0: UseId) -> Maybe<UseData>
fn priv_use_semantic_data(&self, key0: UseId) -> Maybe<UseData>
Private query to compute data about a use.
sourcefn use_semantic_diagnostics(
&self,
key0: UseId
) -> Diagnostics<SemanticDiagnostic>
fn use_semantic_diagnostics(
&self,
key0: UseId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a use.
sourcefn use_resolved_item(&self, key0: UseId) -> Maybe<ResolvedGenericItem>
fn use_resolved_item(&self, key0: UseId) -> Maybe<ResolvedGenericItem>
Returns the semantic diagnostics of a use.
fn use_resolved_lookback(&self, key0: UseId) -> Maybe<Arc<ResolvedLookback>>
sourcefn priv_module_items_data(
&self,
key0: ModuleId
) -> Maybe<Arc<ModuleSemanticData>>
fn priv_module_items_data(
&self,
key0: ModuleId
) -> Maybe<Arc<ModuleSemanticData>>
Private query to compute data about the module.
sourcefn module_item_by_name(
&self,
key0: ModuleId,
key1: SmolStr
) -> Maybe<Option<ModuleItemId>>
fn module_item_by_name(
&self,
key0: ModuleId,
key1: SmolStr
) -> Maybe<Option<ModuleItemId>>
Returns Maybe::Err if the module was not properly resolved. Returns [Maybe::Ok(Option::None)] if the item does not exist.
sourcefn module_attributes(&self, key0: ModuleId) -> Maybe<Vec<Attribute>>
fn module_attributes(&self, key0: ModuleId) -> Maybe<Vec<Attribute>>
Returns the attributes of a module
sourcefn priv_struct_semantic_data(&self, key0: StructId) -> Maybe<StructData>
fn priv_struct_semantic_data(&self, key0: StructId) -> Maybe<StructData>
Private query to compute data about a struct.
sourcefn struct_semantic_diagnostics(
&self,
key0: StructId
) -> Diagnostics<SemanticDiagnostic>
fn struct_semantic_diagnostics(
&self,
key0: StructId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a struct.
sourcefn struct_generic_params(&self, key0: StructId) -> Maybe<Vec<GenericParamId>>
fn struct_generic_params(&self, key0: StructId) -> Maybe<Vec<GenericParamId>>
Returns the generic parameters of an enum.
sourcefn struct_members(
&self,
key0: StructId
) -> Maybe<OrderedHashMap<SmolStr, Member>>
fn struct_members(
&self,
key0: StructId
) -> Maybe<OrderedHashMap<SmolStr, Member>>
Returns the members of a struct.
sourcefn struct_attributes(&self, key0: StructId) -> Maybe<Vec<Attribute>>
fn struct_attributes(&self, key0: StructId) -> Maybe<Vec<Attribute>>
Returns the attributes of a struct.
sourcefn struct_resolved_lookback(
&self,
key0: StructId
) -> Maybe<Arc<ResolvedLookback>>
fn struct_resolved_lookback(
&self,
key0: StructId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of a struct.
sourcefn priv_enum_semantic_data(&self, key0: EnumId) -> Maybe<EnumData>
fn priv_enum_semantic_data(&self, key0: EnumId) -> Maybe<EnumData>
Private query to compute data about an enum.
sourcefn enum_semantic_diagnostics(
&self,
key0: EnumId
) -> Diagnostics<SemanticDiagnostic>
fn enum_semantic_diagnostics(
&self,
key0: EnumId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of an enum.
sourcefn enum_generic_params(&self, key0: EnumId) -> Maybe<Vec<GenericParamId>>
fn enum_generic_params(&self, key0: EnumId) -> Maybe<Vec<GenericParamId>>
Returns the generic parameters of an enum.
sourcefn enum_variants(
&self,
key0: EnumId
) -> Maybe<OrderedHashMap<SmolStr, VariantId>>
fn enum_variants(
&self,
key0: EnumId
) -> Maybe<OrderedHashMap<SmolStr, VariantId>>
Returns the members of an enum.
sourcefn variant_semantic(&self, key0: EnumId, key1: VariantId) -> Maybe<Variant>
fn variant_semantic(&self, key0: EnumId, key1: VariantId) -> Maybe<Variant>
Returns the semantic model of a variant.
sourcefn enum_resolved_lookback(&self, key0: EnumId) -> Maybe<Arc<ResolvedLookback>>
fn enum_resolved_lookback(&self, key0: EnumId) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of an enum.
sourcefn priv_type_alias_semantic_data(
&self,
key0: TypeAliasId
) -> Maybe<TypeAliasData>
fn priv_type_alias_semantic_data(
&self,
key0: TypeAliasId
) -> Maybe<TypeAliasData>
Private query to compute data about a type alias.
sourcefn type_alias_semantic_diagnostics(
&self,
key0: TypeAliasId
) -> Diagnostics<SemanticDiagnostic>
fn type_alias_semantic_diagnostics(
&self,
key0: TypeAliasId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a type alias.
sourcefn type_alias_resolved_type(&self, key0: TypeAliasId) -> Maybe<TypeId>
fn type_alias_resolved_type(&self, key0: TypeAliasId) -> Maybe<TypeId>
Returns the resolved type of a type alias.
sourcefn type_alias_generic_params(
&self,
key0: TypeAliasId
) -> Maybe<Vec<GenericParamId>>
fn type_alias_generic_params(
&self,
key0: TypeAliasId
) -> Maybe<Vec<GenericParamId>>
Returns the generic parameters of a type alias.
sourcefn type_alias_resolved_lookback(
&self,
key0: TypeAliasId
) -> Maybe<Arc<ResolvedLookback>>
fn type_alias_resolved_lookback(
&self,
key0: TypeAliasId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of a type alias.
sourcefn priv_trait_semantic_data(&self, key0: TraitId) -> Maybe<TraitData>
fn priv_trait_semantic_data(&self, key0: TraitId) -> Maybe<TraitData>
Private query to compute data about a trait.
sourcefn trait_semantic_diagnostics(
&self,
key0: TraitId
) -> Diagnostics<SemanticDiagnostic>
fn trait_semantic_diagnostics(
&self,
key0: TraitId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a trait.
sourcefn trait_generic_params(&self, key0: TraitId) -> Maybe<Vec<GenericParamId>>
fn trait_generic_params(&self, key0: TraitId) -> Maybe<Vec<GenericParamId>>
Returns the generic parameters of a trait.
sourcefn trait_attributes(&self, key0: TraitId) -> Maybe<Vec<Attribute>>
fn trait_attributes(&self, key0: TraitId) -> Maybe<Vec<Attribute>>
Returns the attributes of a trait.
sourcefn trait_functions(
&self,
key0: TraitId
) -> Maybe<OrderedHashMap<SmolStr, TraitFunctionId>>
fn trait_functions(
&self,
key0: TraitId
) -> Maybe<OrderedHashMap<SmolStr, TraitFunctionId>>
Returns the functions of a trait.
sourcefn trait_function_by_name(
&self,
key0: TraitId,
key1: SmolStr
) -> Maybe<Option<TraitFunctionId>>
fn trait_function_by_name(
&self,
key0: TraitId,
key1: SmolStr
) -> Maybe<Option<TraitFunctionId>>
Returns the function with the given name of the given trait, if exists.
sourcefn priv_trait_function_data(
&self,
key0: TraitFunctionId
) -> Maybe<TraitFunctionData>
fn priv_trait_function_data(
&self,
key0: TraitFunctionId
) -> Maybe<TraitFunctionData>
Private query to compute data about a trait function.
sourcefn trait_function_diagnostics(
&self,
key0: TraitFunctionId
) -> Diagnostics<SemanticDiagnostic>
fn trait_function_diagnostics(
&self,
key0: TraitFunctionId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a trait function.
sourcefn trait_function_signature(&self, key0: TraitFunctionId) -> Maybe<Signature>
fn trait_function_signature(&self, key0: TraitFunctionId) -> Maybe<Signature>
Returns the signature of a trait function.
sourcefn trait_function_attributes(
&self,
key0: TraitFunctionId
) -> Maybe<Vec<Attribute>>
fn trait_function_attributes(
&self,
key0: TraitFunctionId
) -> Maybe<Vec<Attribute>>
Returns the attributes of a trait function.
sourcefn trait_function_generic_params(
&self,
key0: TraitFunctionId
) -> Maybe<Vec<GenericParamId>>
fn trait_function_generic_params(
&self,
key0: TraitFunctionId
) -> Maybe<Vec<GenericParamId>>
Returns the generic params of a trait function.
sourcefn trait_function_resolved_lookback(
&self,
key0: TraitFunctionId
) -> Maybe<Arc<ResolvedLookback>>
fn trait_function_resolved_lookback(
&self,
key0: TraitFunctionId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of a trait function.
sourcefn priv_impl_declaration_data(&self, key0: ImplId) -> Maybe<ImplDeclarationData>
fn priv_impl_declaration_data(&self, key0: ImplId) -> Maybe<ImplDeclarationData>
Private query to compute declaration data about an impl.
sourcefn impl_semantic_declaration_diagnostics(
&self,
key0: ImplId
) -> Diagnostics<SemanticDiagnostic>
fn impl_semantic_declaration_diagnostics(
&self,
key0: ImplId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic declaration diagnostics of an impl.
sourcefn impl_generic_params(&self, key0: ImplId) -> Maybe<Vec<GenericParamId>>
fn impl_generic_params(&self, key0: ImplId) -> Maybe<Vec<GenericParamId>>
Returns the generic parameters of an impl.
sourcefn impl_resolved_lookback(&self, key0: ImplId) -> Maybe<Arc<ResolvedLookback>>
fn impl_resolved_lookback(&self, key0: ImplId) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of an impl.
sourcefn impl_trait(&self, key0: ImplId) -> Maybe<ConcreteTraitId>
fn impl_trait(&self, key0: ImplId) -> Maybe<ConcreteTraitId>
Returns the concrete trait that is implemented by the impl.
sourcefn priv_impl_definition_data(&self, key0: ImplId) -> Maybe<ImplDefinitionData>
fn priv_impl_definition_data(&self, key0: ImplId) -> Maybe<ImplDefinitionData>
Private query to compute data about an impl.
sourcefn impl_semantic_definition_diagnostics(
&self,
key0: ImplId
) -> Diagnostics<SemanticDiagnostic>
fn impl_semantic_definition_diagnostics(
&self,
key0: ImplId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic definition diagnostics of an impl.
sourcefn impl_functions(
&self,
key0: ImplId
) -> Maybe<OrderedHashMap<SmolStr, ImplFunctionId>>
fn impl_functions(
&self,
key0: ImplId
) -> Maybe<OrderedHashMap<SmolStr, ImplFunctionId>>
Returns the functions in the impl.
sourcefn impl_function_by_trait_function(
&self,
key0: ImplId,
key1: TraitFunctionId
) -> Maybe<Option<ImplFunctionId>>
fn impl_function_by_trait_function(
&self,
key0: ImplId,
key1: TraitFunctionId
) -> Maybe<Option<ImplFunctionId>>
Returns the impl function that matches the given trait function, if exists. Note that a function that doesn’t exist in the impl doesn’t necessarily indicate an error, as, e.g., a trait function that has a default implementation doesn’t have to be implemented in the impl.
sourcefn impl_function_signature(&self, key0: ImplFunctionId) -> Maybe<Signature>
fn impl_function_signature(&self, key0: ImplFunctionId) -> Maybe<Signature>
Returns the signature of an impl function.
sourcefn impl_function_declaration_implicits(
&self,
key0: ImplFunctionId
) -> Maybe<Vec<TypeId>>
fn impl_function_declaration_implicits(
&self,
key0: ImplFunctionId
) -> Maybe<Vec<TypeId>>
Returns the explicit implicits of a signature of an impl function.
sourcefn impl_function_generic_params(
&self,
key0: ImplFunctionId
) -> Maybe<Vec<GenericParamId>>
fn impl_function_generic_params(
&self,
key0: ImplFunctionId
) -> Maybe<Vec<GenericParamId>>
Returns the generic params of an impl function.
sourcefn impl_function_declaration_diagnostics(
&self,
key0: ImplFunctionId
) -> Diagnostics<SemanticDiagnostic>
fn impl_function_declaration_diagnostics(
&self,
key0: ImplFunctionId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of an impl function’s declaration (signature).
sourcefn impl_function_resolved_lookback(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<ResolvedLookback>>
fn impl_function_resolved_lookback(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of an impl function’s declaration.
sourcefn priv_impl_function_declaration_data(
&self,
key0: ImplFunctionId
) -> Maybe<FunctionDeclarationData>
fn priv_impl_function_declaration_data(
&self,
key0: ImplFunctionId
) -> Maybe<FunctionDeclarationData>
Private query to compute data about an impl function declaration.
sourcefn impl_function_body_diagnostics(
&self,
key0: ImplFunctionId
) -> Diagnostics<SemanticDiagnostic>
fn impl_function_body_diagnostics(
&self,
key0: ImplFunctionId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of an impl function definition (declaration + body).
sourcefn impl_function_body(&self, key0: ImplFunctionId) -> Maybe<Arc<FunctionBody>>
fn impl_function_body(&self, key0: ImplFunctionId) -> Maybe<Arc<FunctionBody>>
Returns the definition of an impl function.
sourcefn impl_function_body_resolved_lookback(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<ResolvedLookback>>
fn impl_function_body_resolved_lookback(
&self,
key0: ImplFunctionId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of an impl function’s definition.
sourcefn priv_impl_function_body_data(
&self,
key0: ImplFunctionId
) -> Maybe<FunctionBodyData>
fn priv_impl_function_body_data(
&self,
key0: ImplFunctionId
) -> Maybe<FunctionBodyData>
Private query to compute data about an impl function definition (declaration + body)
sourcefn free_function_declaration_diagnostics(
&self,
key0: FreeFunctionId
) -> Diagnostics<SemanticDiagnostic>
fn free_function_declaration_diagnostics(
&self,
key0: FreeFunctionId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a free function’s declaration (signature).
sourcefn free_function_signature(&self, key0: FreeFunctionId) -> Maybe<Signature>
fn free_function_signature(&self, key0: FreeFunctionId) -> Maybe<Signature>
Returns the signature of a free function.
sourcefn free_function_declaration_implicits(
&self,
key0: FreeFunctionId
) -> Maybe<Vec<TypeId>>
fn free_function_declaration_implicits(
&self,
key0: FreeFunctionId
) -> Maybe<Vec<TypeId>>
Returns the explicit implicits of a signature of a free function.
sourcefn free_function_generic_params(
&self,
key0: FreeFunctionId
) -> Maybe<Vec<GenericParamId>>
fn free_function_generic_params(
&self,
key0: FreeFunctionId
) -> Maybe<Vec<GenericParamId>>
Returns the generic params of a free function.
sourcefn free_function_declaration_resolved_lookback(
&self,
key0: FreeFunctionId
) -> Maybe<Arc<ResolvedLookback>>
fn free_function_declaration_resolved_lookback(
&self,
key0: FreeFunctionId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of a free function’s declaration.
sourcefn priv_free_function_declaration_data(
&self,
key0: FreeFunctionId
) -> Maybe<FunctionDeclarationData>
fn priv_free_function_declaration_data(
&self,
key0: FreeFunctionId
) -> Maybe<FunctionDeclarationData>
Private query to compute data about a free function declaration - its signature excluding its body.
sourcefn free_function_body_diagnostics(
&self,
key0: FreeFunctionId
) -> Diagnostics<SemanticDiagnostic>
fn free_function_body_diagnostics(
&self,
key0: FreeFunctionId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a free function’s body.
sourcefn free_function_body_resolved_lookback(
&self,
key0: FreeFunctionId
) -> Maybe<Arc<ResolvedLookback>>
fn free_function_body_resolved_lookback(
&self,
key0: FreeFunctionId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of a free function’s body.
sourcefn priv_free_function_body_data(
&self,
key0: FreeFunctionId
) -> Maybe<FunctionBodyData>
fn priv_free_function_body_data(
&self,
key0: FreeFunctionId
) -> Maybe<FunctionBodyData>
Private query to compute data about a free function’s body.
sourcefn function_declaration_diagnostics(
&self,
key0: FunctionWithBodyId
) -> Diagnostics<SemanticDiagnostic>
fn function_declaration_diagnostics(
&self,
key0: FunctionWithBodyId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a declaration (signature) of a function with a body.
sourcefn function_with_body_signature(
&self,
key0: FunctionWithBodyId
) -> Maybe<Signature>
fn function_with_body_signature(
&self,
key0: FunctionWithBodyId
) -> Maybe<Signature>
Returns the signature of a function with a body.
sourcefn function_with_body_generic_params(
&self,
key0: FunctionWithBodyId
) -> Maybe<Vec<GenericParamId>>
fn function_with_body_generic_params(
&self,
key0: FunctionWithBodyId
) -> Maybe<Vec<GenericParamId>>
Returns the generic params of a function with a body.
sourcefn function_with_body_attributes(
&self,
key0: FunctionWithBodyId
) -> Maybe<Vec<Attribute>>
fn function_with_body_attributes(
&self,
key0: FunctionWithBodyId
) -> Maybe<Vec<Attribute>>
Returns the attributes of a function with a body.
sourcefn function_body_diagnostics(
&self,
key0: FunctionWithBodyId
) -> Diagnostics<SemanticDiagnostic>
fn function_body_diagnostics(
&self,
key0: FunctionWithBodyId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of a body of a function (with a body).
sourcefn function_body_expr(&self, key0: FunctionWithBodyId) -> Maybe<ExprId>
fn function_body_expr(&self, key0: FunctionWithBodyId) -> Maybe<ExprId>
Returns the body expr of a function (with a body).
sourcefn function_body(&self, key0: FunctionWithBodyId) -> Maybe<Arc<FunctionBody>>
fn function_body(&self, key0: FunctionWithBodyId) -> Maybe<Arc<FunctionBody>>
Returns the body of a function (with a body).
sourcefn function_with_body_direct_callees(
&self,
key0: FunctionWithBodyId
) -> Maybe<HashSet<FunctionId>>
fn function_with_body_direct_callees(
&self,
key0: FunctionWithBodyId
) -> Maybe<HashSet<FunctionId>>
Returns the set of direct callees of a function with a body.
sourcefn function_with_body_direct_function_with_body_callees(
&self,
key0: FunctionWithBodyId
) -> Maybe<HashSet<FunctionWithBodyId>>
fn function_with_body_direct_function_with_body_callees(
&self,
key0: FunctionWithBodyId
) -> Maybe<HashSet<FunctionWithBodyId>>
Returns the set of direct callees which are functions with body of a function with a body (i.e. excluding libfunc callees).
sourcefn priv_extern_function_declaration_data(
&self,
key0: ExternFunctionId
) -> Maybe<FunctionDeclarationData>
fn priv_extern_function_declaration_data(
&self,
key0: ExternFunctionId
) -> Maybe<FunctionDeclarationData>
Private query to compute data about an extern function declaration. An extern function has no body, and thus only has a declaration.
sourcefn extern_function_declaration_diagnostics(
&self,
key0: ExternFunctionId
) -> Diagnostics<SemanticDiagnostic>
fn extern_function_declaration_diagnostics(
&self,
key0: ExternFunctionId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of an extern function declaration. An extern function has no body, and thus only has a declaration.
sourcefn extern_function_signature(&self, key0: ExternFunctionId) -> Maybe<Signature>
fn extern_function_signature(&self, key0: ExternFunctionId) -> Maybe<Signature>
Returns the signature of an extern function.
sourcefn extern_function_declaration_generic_params(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<GenericParamId>>
fn extern_function_declaration_generic_params(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<GenericParamId>>
Returns the generic params of an extern function.
sourcefn extern_function_declaration_implicits(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<TypeId>>
fn extern_function_declaration_implicits(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<TypeId>>
Returns the explicit implicits of an extern function declaration.
sourcefn extern_function_declaration_refs(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<Parameter>>
fn extern_function_declaration_refs(
&self,
key0: ExternFunctionId
) -> Maybe<Vec<Parameter>>
Returns the ref parameters of an extern function declaration.
sourcefn extern_function_declaration_resolved_lookback(
&self,
key0: ExternFunctionId
) -> Maybe<Arc<ResolvedLookback>>
fn extern_function_declaration_resolved_lookback(
&self,
key0: ExternFunctionId
) -> Maybe<Arc<ResolvedLookback>>
Returns the resolution lookback of an extern function.
sourcefn priv_extern_type_declaration_data(
&self,
key0: ExternTypeId
) -> Maybe<ExternTypeDeclarationData>
fn priv_extern_type_declaration_data(
&self,
key0: ExternTypeId
) -> Maybe<ExternTypeDeclarationData>
Private query to compute data about an extern type declaration. An extern type has no body, and thus only has a declaration.
sourcefn extern_type_declaration_diagnostics(
&self,
key0: ExternTypeId
) -> Diagnostics<SemanticDiagnostic>
fn extern_type_declaration_diagnostics(
&self,
key0: ExternTypeId
) -> Diagnostics<SemanticDiagnostic>
Returns the semantic diagnostics of an extern type declaration. An extern type has no body, and thus only has a declaration.
sourcefn extern_type_declaration_generic_params(
&self,
key0: ExternTypeId
) -> Maybe<Vec<GenericParamId>>
fn extern_type_declaration_generic_params(
&self,
key0: ExternTypeId
) -> Maybe<Vec<GenericParamId>>
Returns the generic params of an extern type.
sourcefn function_signature_signature(
&self,
key0: FunctionSignatureId
) -> Maybe<Signature>
fn function_signature_signature(
&self,
key0: FunctionSignatureId
) -> Maybe<Signature>
Returns the signature of the given FunctionSignatureId. This include free functions, extern functions, etc…
sourcefn function_signature_generic_params(
&self,
key0: FunctionSignatureId
) -> Maybe<Vec<GenericParamId>>
fn function_signature_generic_params(
&self,
key0: FunctionSignatureId
) -> Maybe<Vec<GenericParamId>>
Returns the generic parameters of the given FunctionSignatureId. This include free functions, extern functions, etc…
sourcefn concrete_function_signature(&self, key0: FunctionId) -> Maybe<Signature>
fn concrete_function_signature(&self, key0: FunctionId) -> Maybe<Signature>
Returns the signature of a concrete function. This include free functions, extern functions, etc…
sourcefn generic_type_generic_params(
&self,
key0: GenericTypeId
) -> Maybe<Vec<GenericParamId>>
fn generic_type_generic_params(
&self,
key0: GenericTypeId
) -> Maybe<Vec<GenericParamId>>
Returns the generic_type of a generic function. This include free types, extern types, etc…
sourcefn type_info(&self, key0: ImplLookupContext, key1: TypeId) -> Maybe<TypeInfo>
fn type_info(&self, key0: ImplLookupContext, key1: TypeId) -> Maybe<TypeInfo>
Returns the generic_type of a generic function. This include free types, extern types, etc…
sourcefn expr_semantic(&self, key0: FunctionWithBodyId, key1: ExprId) -> Expr
fn expr_semantic(&self, key0: FunctionWithBodyId, key1: ExprId) -> Expr
Assumes function and expression are present.
sourcefn statement_semantic(
&self,
key0: FunctionWithBodyId,
key1: StatementId
) -> Statement
fn statement_semantic(
&self,
key0: FunctionWithBodyId,
key1: StatementId
) -> Statement
Assumes function and statement are valid.
fn lookup_resolved_generic_item_by_ptr(
&self,
key0: LookupItemId,
key1: TerminalIdentifierPtr
) -> Option<ResolvedGenericItem>
fn lookup_resolved_concrete_item_by_ptr(
&self,
key0: LookupItemId,
key1: TerminalIdentifierPtr
) -> Option<ResolvedConcreteItem>
sourcefn module_semantic_diagnostics(
&self,
key0: ModuleId
) -> Maybe<Diagnostics<SemanticDiagnostic>>
fn module_semantic_diagnostics(
&self,
key0: ModuleId
) -> Maybe<Diagnostics<SemanticDiagnostic>>
Aggregates module level semantic diagnostics.
sourcefn file_semantic_diagnostics(
&self,
key0: FileId
) -> Maybe<Diagnostics<SemanticDiagnostic>>
fn file_semantic_diagnostics(
&self,
key0: FileId
) -> Maybe<Diagnostics<SemanticDiagnostic>>
Aggregates file level semantic diagnostics.
fn core_module(&self) -> ModuleId
fn core_felt_ty(&self) -> TypeId
fn semantic_plugins(&self) -> Vec<Arc<dyn SemanticPlugin>> ⓘ
sourcefn set_semantic_plugins(&mut self, value__: Vec<Arc<dyn SemanticPlugin>>)
fn set_semantic_plugins(&mut self, value__: Vec<Arc<dyn SemanticPlugin>>)
Set the value of the semantic_plugins
input.
See semantic_plugins
for details.
Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.
sourcefn set_semantic_plugins_with_durability(
&mut self,
value__: Vec<Arc<dyn SemanticPlugin>>,
durability__: Durability
)
fn set_semantic_plugins_with_durability(
&mut self,
value__: Vec<Arc<dyn SemanticPlugin>>,
durability__: Durability
)
Set the value of the semantic_plugins
input and promise
that its value will never change again.
See semantic_plugins
for details.
Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.