Back to Eqiora docs Skip to main content

AnalyzedResolvedHierarchy

Struct AnalyzedResolvedHierarchy 

pub struct AnalyzedResolvedHierarchy { /* private fields */ }
Description

Completely parsed and globally indexed package hierarchy.

Callers can inspect Self::canonical_declarations and compare package content at this stage. ValidatedResolvedHierarchy::compile_root becomes available only after Self::validate_definitions succeeds.

Implementations§

§

impl AnalyzedResolvedHierarchy

pub fn property_contract_descriptor( &self, name: &str, ) -> Result<PropertyContractDescriptor, Diagnostic>

Inspect a public property contract in the exact selected root module. No release value, Model occurrence, or substitute material is constructed.

§Errors

Rejects missing/private contracts and unresolved or unsupported full types.

§

impl AnalyzedResolvedHierarchy

pub fn value_definition(&self, file: &str, offset: u32) -> Option<(&str, Span)>

Resolve a value Name or Path in a Model or Component to its declaration: an owned Field, Parameter, or Port, or a public Port of a Model’s direct child. The returned spelling covers the whole expression, so callers must check that the cursor is on its final identifier. Deeper members and nested binder scopes are not resolved. Uses the prepared index; no elaboration runs.

pub fn value_references(&self, declaration: &Span) -> Option<Vec<Span>>

Find the value Name and Path expressions that refer to a declaration, given by its whole Span: an owned Field, Parameter, or Port, or a direct child’s public Port, as indexed by the prepared declaration scopes. Results are sorted by source file and range and exclude nested binders and deeper or private child members. Several instance spellings can refer to one declaration, so the results are declaration references, not instance identities, and do not support rename. An unused declaration returns Some([]); an unknown span returns None. Callers map each expression to its final identifier token.

pub fn is_value_reference(&self, file: &str, offset: u32, name: &str) -> bool

Whether the position lies in a value Name or Path expression with this spelling inside a prepared declaration scope, outside unsupported binder scopes. The check is syntactic and does not resolve the declaration: callers must still check the cursor token and compare source identities with symbol_description, because expression ranges can include parentheses. Declaration names, units, and named activation clauses are not value expressions. No parsing or elaboration runs.

pub fn symbol_description( &self, file: &str, offset: u32, name: &str, declaration: (&str, TextRange), ) -> Option<String>

Describe a declaration’s known type, role, activation, spatial support, and Model-local periodic schedule, provided the resolved declaration’s source identity matches. Reads the immutable prepared index; no elaboration runs.

pub fn prepare_completion(&mut self, is_cancelled: impl FnMut() -> bool) -> bool

Prepare the Model and unspecialized Component contracts used for editor assistance, once per analysis. Cancelling discards the partly built index. Existing definition scopes are reused; nothing is executed, solved, or read from packages.

pub fn completion_compatibility( &self, file: &str, offset: u32, candidates: &[&str], ) -> Option<Vec<Option<(bool, String)>>>

Classify visible names using the prepared immutable contract index.

Entries (compatible, explanation) follow candidate order; a None entry means compatibility is unknown. Unsupported positions return None. Explanations are display text and may be truncated, which does not affect the comparison. No parsing or elaboration runs.

§

impl AnalyzedResolvedHierarchy

pub fn canonical_declarations(&self) -> &[CanonicalDeclarationIdentity]

Compiler-canonical declarations in (namespace, path, kind) order.

pub fn resolved_references(&self) -> impl ExactSizeIterator

Compiler-resolved declaration references in source-file and range order.

§

impl AnalyzedResolvedHierarchy

pub const fn root(&self) -> &CompilationNamespaceId

Namespace containing the selected executable Model.

pub fn resolved_source_files(&self) -> impl ExactSizeIterator

Package-qualified source labels in resolved-graph order.

pub fn resolved_declarations(&self) -> impl ExactSizeIterator

Compiler-resolved top-level declarations and their definition locations.

pub fn dimension_alias(&self, name: &str) -> Result<DimExponents, Diagnostic>

Resolve a structural dimension in the root module or one direct public import.

The result is a structural SI dimension, never a nominal declaration identity.

§Errors

Rejects absent, private, wrong-kind, or transitive declaration paths.

pub fn property_bindings(&self) -> impl ExactSizeIterator

Read-only nominal property bindings retained through elaboration.

pub fn validate_definitions( self, ) -> Result<ValidatedResolvedHierarchy, Vec<Diagnostic>>

Validate every distributable definition before selected-root elaboration.

§Errors

Returns accumulated definition diagnostics. No Model, graph Transaction, occurrence identity, or provenance entry is created.

Trait Implementations§

§

impl Clone for AnalyzedResolvedHierarchy

§

fn clone(&self) -> AnalyzedResolvedHierarchy

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for AnalyzedResolvedHierarchy

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src
where Scheme: ApproxScheme,

§

type Err = NoError

The error type produced by a failed conversion.
§

fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>

Convert the given value into an approximately equivalent representation.
§

impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src
where Dst: ApproxFrom<Src, Scheme>, Scheme: ApproxScheme,

§

type Err = <Dst as ApproxFrom<Src, Scheme>>::Err

The error type produced by a failed conversion.
§

fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>

Convert the subject into an approximately equivalent representation.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> ByRef<T> for T

§

fn by_ref(&self) -> &T

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T, Dst> ConvAsUtil<Dst> for T

§

fn approx(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst>,

Approximate the subject with the default scheme.
§

fn approx_by<Scheme>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,

Approximate the subject with a specific scheme.
§

impl<T> ConvUtil for T

§

fn approx_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst>,

Approximate the subject to a given type with the default scheme.
§

fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,

Approximate the subject to a given type with a specific scheme.
§

fn into_as<Dst>(self) -> Dst
where Self: Sized + Into<Dst>,

Convert the subject to a given type.
§

fn try_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + TryInto<Dst>,

Attempt to convert the subject to a given type.
§

fn value_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + ValueInto<Dst>,

Attempt a value conversion of the subject to a given type.
§

impl<T> DistributionExt for T
where T: ?Sized,

§

fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> T
where Self: Distribution<T>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<Src> TryFrom<Src> for Src

§

type Err = NoError

The error type produced by a failed conversion.
§

fn try_from(src: Src) -> Result<Src, <Src as TryFrom<Src>>::Err>

Convert the given value into the subject type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<Src, Dst> TryInto<Dst> for Src
where Dst: TryFrom<Src>,

§

type Err = <Dst as TryFrom<Src>>::Err

The error type produced by a failed conversion.
§

fn try_into(self) -> Result<Dst, <Src as TryInto<Dst>>::Err>

Convert the subject into the destination type.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<Src> ValueFrom<Src> for Src

§

type Err = NoError

The error type produced by a failed conversion.
§

fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>

Convert the given value into an exactly equivalent representation.
§

impl<Src, Dst> ValueInto<Dst> for Src
where Dst: ValueFrom<Src>,

§

type Err = <Dst as ValueFrom<Src>>::Err

The error type produced by a failed conversion.
§

fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>

Convert the subject into an exactly equivalent representation.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,