pub struct SemanticTypeModel {
pub assignments: BTreeMap<SemanticId, SemanticTypeAssignment>,
pub aliases: BTreeMap<SemanticId, SemanticTypeAlias>,
pub list_scopes: BTreeMap<SemanticId, ListTemplateScopeType>,
pub member_accesses: BTreeMap<SemanticId, MemberAccessType>,
pub computed_values: BTreeMap<SemanticId, ComputedValueType>,
pub action_signatures: BTreeMap<SemanticId, ActionSignatureType>,
pub effect_statements: BTreeMap<SemanticId, EffectStatementTypeRecord>,
}Expand description
Canonical type assignments owned by the application semantic model.
C1 provides the stable container but deliberately populates no assignments. State inference, expression propagation, and typed declarations are added by later Phase C slices.
Fields§
§assignments: BTreeMap<SemanticId, SemanticTypeAssignment>§aliases: BTreeMap<SemanticId, SemanticTypeAlias>§list_scopes: BTreeMap<SemanticId, ListTemplateScopeType>§member_accesses: BTreeMap<SemanticId, MemberAccessType>§computed_values: BTreeMap<SemanticId, ComputedValueType>§action_signatures: BTreeMap<SemanticId, ActionSignatureType>§effect_statements: BTreeMap<SemanticId, EffectStatementTypeRecord>Implementations§
Source§impl SemanticTypeModel
impl SemanticTypeModel
pub fn resolve_declared_type( &self, declared_type: &DeclaredStateType, bindings: Option<&BindingTable>, ) -> Option<ResolvedDeclaredSemanticType>
pub fn from_components( components: &[ComponentNode], provenance: &BTreeMap<SemanticId, SourceProvenance>, ) -> Self
pub fn from_components_with_aliases( components: &[ComponentNode], provenance: &BTreeMap<SemanticId, SourceProvenance>, parsed_aliases: &[(PathBuf, ParsedTypeAlias)], ) -> Self
pub fn from_components_with_aliases_and_bindings( components: &[ComponentNode], provenance: &BTreeMap<SemanticId, SourceProvenance>, parsed_aliases: &[(PathBuf, ParsedTypeAlias)], bindings: Option<&BindingTable>, ) -> Self
Sourcepub fn with_context_types(
self,
contexts: &BTreeMap<ContextId, ContextEntity>,
) -> Self
pub fn with_context_types( self, contexts: &BTreeMap<ContextId, ContextEntity>, ) -> Self
Attaches explicit G1 Context declaration contracts without performing provider/consumer compatibility analysis.
Sourcepub fn with_resource_types(
self,
resources: &BTreeMap<ResourceId, ResourceDeclaration>,
) -> Self
pub fn with_resource_types( self, resources: &BTreeMap<ResourceId, ResourceDeclaration>, ) -> Self
Attaches compiler-issued Resource declaration types after endpoint resolution has established their exact data, error, and boundary facts.
Sourcepub fn with_slot_types(self, slots: &BTreeMap<SlotId, SlotEntity>) -> Self
pub fn with_slot_types(self, slots: &BTreeMap<SlotId, SlotEntity>) -> Self
Attaches the exact nominal H1 SlotContent type to canonical Slot
entities. Alias and structural compatibility are intentionally absent.
Sourcepub fn with_form_types(self, forms: &BTreeMap<FormId, FormEntity>) -> Self
pub fn with_form_types(self, forms: &BTreeMap<FormId, FormEntity>) -> Self
Attaches the exact nominal I2 Form marker to canonical Form entities.
Aliases, unions, generics, and structural compatibility never enter
this authority because invalid declaration candidates do not lower.
Sourcepub fn with_form_field_types(
self,
fields: &BTreeMap<FieldId, FormFieldEntity>,
) -> Self
pub fn with_form_field_types( self, fields: &BTreeMap<FieldId, FormFieldEntity>, ) -> Self
Attaches I3 Form Field assignments produced by the canonical field resolver. No annotation parsing, inference, or assignability is repeated.
Sourcepub fn with_provider_types(
self,
providers: &BTreeMap<ProviderId, ProviderEntity>,
) -> Self
pub fn with_provider_types( self, providers: &BTreeMap<ProviderId, ProviderEntity>, ) -> Self
Attaches explicit G2 Provider declaration contracts without deciding provider-value or Context compatibility.
Sourcepub fn with_consumer_types(
self,
consumers: &BTreeMap<ConsumerId, ConsumerEntity>,
) -> Self
pub fn with_consumer_types( self, consumers: &BTreeMap<ConsumerId, ConsumerEntity>, ) -> Self
Attaches explicit G3 Consumer requested-type contracts without deciding Context, Provider, or Consumer compatibility.
Sourcepub fn with_computed_value_types(
self,
components: &[ComponentNode],
computed_values: &BTreeMap<SemanticId, ComputedValue>,
graph: &ExpressionGraph,
references: &[SemanticReference],
) -> Self
pub fn with_computed_value_types( self, components: &[ComponentNode], computed_values: &BTreeMap<SemanticId, ComputedValue>, graph: &ExpressionGraph, references: &[SemanticReference], ) -> Self
Attaches canonical inferred and declared contracts to computed entities.
§Panics
Panics when a computed expression ID does not resolve in graph.
Sourcepub fn with_context_source_expression_types(
self,
components: &[ComponentNode],
contexts: &BTreeMap<ContextId, ContextEntity>,
providers: &BTreeMap<ProviderId, ProviderEntity>,
graph: &ExpressionGraph,
) -> Self
pub fn with_context_source_expression_types( self, components: &[ComponentNode], contexts: &BTreeMap<ContextId, ContextEntity>, providers: &BTreeMap<ProviderId, ProviderEntity>, graph: &ExpressionGraph, ) -> Self
Attaches inferred types to canonical Provider and Context-default expressions using their already-resolved component ownership and the existing State/Computed type products. This creates no Context compatibility result; G5 consumes these facts separately.
pub fn normalized(self) -> Self
Sourcepub fn with_expression_types(
self,
graph: &ExpressionGraph,
components: &[ComponentNode],
contexts: &BTreeMap<ContextId, ContextEntity>,
providers: &BTreeMap<ProviderId, ProviderEntity>,
) -> Self
pub fn with_expression_types( self, graph: &ExpressionGraph, components: &[ComponentNode], contexts: &BTreeMap<ContextId, ContextEntity>, providers: &BTreeMap<ProviderId, ProviderEntity>, ) -> Self
Attaches inferred types to canonical declaration expression nodes.
§Panics
Panics when the graph’s node index contains an ID that does not resolve to an expression node.
Sourcepub fn with_effect_statement_types(
self,
components: &[ComponentNode],
effects: &BTreeMap<SemanticId, Effect>,
statements: &BTreeMap<SemanticId, EffectStatement>,
graph: &ExpressionGraph,
) -> Self
pub fn with_effect_statement_types( self, components: &[ComponentNode], effects: &BTreeMap<SemanticId, Effect>, statements: &BTreeMap<SemanticId, EffectStatement>, graph: &ExpressionGraph, ) -> Self
Attaches effect operand types and statement-level capability facts.
This consumes only the immutable registry and existing component/ASM products. It intentionally records incompatibilities without emitting semantic diagnostics; F5 owns language-rule rejection.
§Panics
Panics when the graph’s effect expression index contains an ID that does not resolve to an expression node.
Sourcepub fn with_template_binding_types(
self,
entities: &[TemplateSemanticEntity],
references: &[SemanticReference],
) -> Self
pub fn with_template_binding_types( self, entities: &[TemplateSemanticEntity], references: &[SemanticReference], ) -> Self
Attaches inferred types to direct text-binding entities with resolved state or local targets.
Trait Implementations§
Source§impl Clone for SemanticTypeModel
impl Clone for SemanticTypeModel
Source§fn clone(&self) -> SemanticTypeModel
fn clone(&self) -> SemanticTypeModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SemanticTypeModel
impl Debug for SemanticTypeModel
Source§impl Default for SemanticTypeModel
impl Default for SemanticTypeModel
Source§fn default() -> SemanticTypeModel
fn default() -> SemanticTypeModel
impl Eq for SemanticTypeModel
Source§impl PartialEq for SemanticTypeModel
impl PartialEq for SemanticTypeModel
impl StructuralPartialEq for SemanticTypeModel
Auto Trait Implementations§
impl Freeze for SemanticTypeModel
impl RefUnwindSafe for SemanticTypeModel
impl Send for SemanticTypeModel
impl Sync for SemanticTypeModel
impl Unpin for SemanticTypeModel
impl UnsafeUnpin for SemanticTypeModel
impl UnwindSafe for SemanticTypeModel
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more