swamp_script_semantic::ns

Struct ResolvedModuleNamespace

Source
pub struct ResolvedModuleNamespace {
    pub all_owned_types: SeqMap<LocalTypeIdentifier, ResolvedType>,
    pub type_aliases: SeqMap<LocalTypeName, ResolvedType>,
    pub path: ModulePath,
    /* private fields */
}

Fields§

§all_owned_types: SeqMap<LocalTypeIdentifier, ResolvedType>§type_aliases: SeqMap<LocalTypeName, ResolvedType>§path: ModulePath

Implementations§

Source§

impl ResolvedModuleNamespace

Source§

impl ResolvedModuleNamespace

Source

pub fn new(path: ModulePath) -> Self

Source

pub fn add_struct_type( &mut self, struct_type: ResolvedStructType, ) -> Result<ResolvedStructTypeRef, SemanticError>

Source

pub fn add_built_in_rust_type( &mut self, rust_type: ResolvedRustType, ) -> Result<ResolvedRustTypeRef, SemanticError>

Source

pub fn add_type_alias( &mut self, name: &str, resolved_type: ResolvedType, ) -> Result<(), SemanticError>

Source

pub fn get_type_alias(&self, name: &String) -> Option<&ResolvedType>

Source

pub fn add_internal_function( &mut self, function_definition: ResolvedInternalFunctionDefinition, ) -> Result<ResolvedInternalFunctionDefinitionRef, SemanticError>

Source

pub fn add_internal_function_ref( &mut self, function_ref: &ResolvedInternalFunctionDefinitionRef, ) -> Result<(), SemanticError>

Source

pub fn add_external_function_declaration( &mut self, name: String, function_declaration: ResolvedExternalFunctionDefinition, ) -> Result<ResolvedExternalFunctionDefinitionRef, SemanticError>

Source

pub fn add_external_function_declaration_ref( &mut self, function_ref: ResolvedExternalFunctionDefinitionRef, ) -> Result<ResolvedExternalFunctionDefinitionRef, SemanticError>

Source

pub fn add_enum_variant( &mut self, enum_variant: ResolvedEnumVariantType, ) -> Result<ResolvedEnumVariantTypeRef, SemanticError>

Source

pub fn create_enum_type( &mut self, enum_type_name: &LocalTypeIdentifier, number: TypeNumber, ) -> Result<ResolvedEnumTypeRef, SemanticError>

Source

pub fn get_or_create_tuple( &mut self, types: Vec<ResolvedType>, ) -> ResolvedTupleTypeRef

Source

pub fn get_struct( &self, name: &LocalTypeIdentifier, ) -> Option<&ResolvedStructTypeRef>

Source

pub fn get_local_struct( &self, name: &LocalTypeIdentifier, ) -> Option<&ResolvedStructTypeRef>

Source

pub fn get_enum( &self, name: &LocalTypeIdentifier, ) -> Option<&ResolvedEnumTypeRef>

Source

pub fn get_built_in_rust_type( &self, name: &LocalTypeIdentifier, ) -> Option<&ResolvedRustTypeRef>

Source

pub fn get_enum_variant_type( &self, enum_name: &LocalTypeIdentifier, enum_variant_name: &LocalTypeIdentifier, ) -> Option<&ResolvedEnumVariantTypeRef>

Source

pub fn get_enum_variant_type_str( &self, enum_name: &str, enum_variant_name: &str, ) -> Option<&ResolvedEnumVariantTypeRef>

Source

pub fn get_internal_function( &self, name: &str, ) -> Option<&ResolvedInternalFunctionDefinitionRef>

Source

pub fn get_external_function_declaration( &self, name: &str, ) -> Option<&ResolvedExternalFunctionDefinitionRef>

Trait Implementations§

Source§

impl Debug for ResolvedModuleNamespace

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for ResolvedModuleNamespace

Source§

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

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
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> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
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.