SPPCompiler.SemanticAnalysis.Scoping.Symbols module¶
- class SPPCompiler.SemanticAnalysis.Scoping.Symbols.AliasSymbol(*, name, type, scope=None, is_generic=False, is_direct_copyable=False, visibility=Visibility.Private, convention=None, generic_impl=None, llvm_info=None, scope_defined_in=None, old_sym=None)¶
Bases:
TypeSymbol
- old_sym: TypeSymbol¶
- name: Asts.TypeIdentifierAst¶
- type: Optional[Asts.ClassPrototypeAst]¶
- scope: Optional[Scope]¶
- is_generic: bool¶
- is_direct_copyable: bool¶
- visibility: Visibility¶
- convention: Optional[Asts.ConventionAst]¶
- generic_impl: TypeSymbol¶
- llvm_info: Optional[LlvmTypeSymbolInfo]¶
- scope_defined_in: Optional[Scope]¶
- class SPPCompiler.SemanticAnalysis.Scoping.Symbols.NamespaceSymbol(*, name, scope=None)¶
Bases:
BaseSymbol
- name: Asts.IdentifierAst¶
- scope: Optional[Scope]¶
- class SPPCompiler.SemanticAnalysis.Scoping.Symbols.VariableSymbol(*, name, type, is_mutable=False, is_generic=False, memory_info=<factory>, visibility=Visibility.Public, llvm_info=None)¶
Bases:
BaseSymbol
- name: Asts.IdentifierAst¶
- type: Asts.TypeAst¶
- is_mutable: bool¶
- is_generic: bool¶
- memory_info: MemoryInfo¶
- visibility: Visibility¶
- llvm_info: Optional[LlvmVariableSymbolInfo]¶
- class SPPCompiler.SemanticAnalysis.Scoping.Symbols.TypeSymbol(*, name, type, scope=None, is_generic=False, is_direct_copyable=False, visibility=Visibility.Private, convention=None, generic_impl=None, llvm_info=None, scope_defined_in=None)¶
Bases:
BaseSymbol
- name: Asts.TypeIdentifierAst¶
- type: Optional[Asts.ClassPrototypeAst]¶
- scope: Optional[Scope] = None¶
- is_generic: bool = False¶
- is_direct_copyable: bool = False¶
- visibility: Visibility = 2¶
- convention: Optional[Asts.ConventionAst] = None¶
- generic_impl: TypeSymbol = None¶
- llvm_info: Optional[LlvmTypeSymbolInfo] = None¶
- scope_defined_in: Optional[Scope] = None¶
- is_copyable()¶
- Return type:
bool
- property fq_name: Asts.TypeAst¶