Struct GlobalState

Source
pub struct GlobalState<I: SemanticContextInstruction> {
    pub constants: HashMap<ConstantName, Constant>,
    pub types: HashMap<TypeName, Type>,
    pub functions: HashMap<FunctionName, Function>,
    pub context: SemanticStack<I>,
}
Expand description

§Global State

Global state can contains state declarations of:

  • Constants
  • Types
  • Functions And Semantic State context results for Global State context:
  • Context The visibility of Global state limited by current module. Context contains results of Semantic stack, as result of Semantic analyzer for Global State context. It’s can be used for post-verification process, linting, Codegen.

Fields§

§constants: HashMap<ConstantName, Constant>

Constants declarations

§types: HashMap<TypeName, Type>

Types declarations

§functions: HashMap<FunctionName, Function>

Functions declarations

§context: SemanticStack<I>

Context as Semantic Stack Context results contains basic semantic result tree for Global context state.

Trait Implementations§

Source§

impl<I: Debug + SemanticContextInstruction> Debug for GlobalState<I>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<I> Freeze for GlobalState<I>

§

impl<I> RefUnwindSafe for GlobalState<I>
where I: RefUnwindSafe,

§

impl<I> Send for GlobalState<I>
where I: Send,

§

impl<I> Sync for GlobalState<I>
where I: Sync,

§

impl<I> Unpin for GlobalState<I>

§

impl<I> UnwindSafe for GlobalState<I>
where I: UnwindSafe,

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
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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.
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.