|
sammine-lang
|


Classes | |
| struct | TypeClassInfo |
| struct | TypeClassInstanceInfo |
Public Member Functions | |
| bool | unify (const Type &pattern, const Type &concrete, std::unordered_map< std::string, Type > &bindings) |
| Type | substitute (const Type &type, const std::unordered_map< std::string, Type > &bindings) const |
| bool | contains_type_param (const Type &type, const std::string ¶m_name) |
| virtual void | enter_new_scope () override |
| virtual void | exit_new_scope () override |
| BiTypeCheckerVisitor (ASTProperties &props) | |
| std::optional< Type > | get_type_from_id (const std::string &str) const |
| std::optional< Type > | get_type_from_id_parent (const std::string &str) const |
| std::optional< Type > | get_typename_type (const std::string &str) const |
| std::optional< Type > | try_get_callee_type (const std::string &str) const |
| Try to find a name in current scope + parent scopes (non-aborting). | |
| virtual void | visit (ProgramAST *ast) override |
| virtual void | visit (VarDefAST *ast) override |
| virtual void | visit (ExternAST *ast) override |
| virtual void | visit (FuncDefAST *ast) override |
| virtual void | visit (StructDefAST *ast) override |
| virtual void | visit (EnumDefAST *ast) override |
| virtual void | visit (TypeAliasDefAST *ast) override |
| virtual void | visit (PrototypeAST *ast) override |
| virtual void | visit (CallExprAST *ast) override |
| virtual void | visit (ReturnExprAST *ast) override |
| virtual void | visit (BinaryExprAST *ast) override |
| virtual void | visit (NumberExprAST *ast) override |
| virtual void | visit (StringExprAST *ast) override |
| virtual void | visit (BoolExprAST *ast) override |
| virtual void | visit (CharExprAST *ast) override |
| virtual void | visit (UnitExprAST *ast) override |
| virtual void | visit (VariableExprAST *ast) override |
| virtual void | visit (BlockAST *ast) override |
| virtual void | visit (IfExprAST *ast) override |
| virtual void | visit (TypedVarAST *ast) override |
| virtual void | visit (DerefExprAST *ast) override |
| virtual void | visit (AddrOfExprAST *ast) override |
| virtual void | visit (AllocExprAST *ast) override |
| virtual void | visit (FreeExprAST *ast) override |
| virtual void | visit (ArrayLiteralExprAST *ast) override |
| virtual void | visit (IndexExprAST *ast) override |
| virtual void | visit (LenExprAST *ast) override |
| virtual void | visit (UnaryNegExprAST *ast) override |
| virtual void | visit (StructLiteralExprAST *ast) override |
| virtual void | visit (FieldAccessExprAST *ast) override |
| virtual void | visit (CaseExprAST *ast) override |
| virtual void | visit (WhileExprAST *ast) override |
| virtual void | visit (TupleLiteralExprAST *ast) override |
| virtual void | visit (TypeClassDeclAST *ast) override |
| virtual void | visit (TypeClassInstanceAST *ast) override |
| void | pre_register_function (PrototypeAST *ast) |
| void | register_typeclass_decl (TypeClassDeclAST *ast) |
| void | register_typeclass_instance (TypeClassInstanceAST *ast) |
| void | register_builtin_op_instances () |
| std::optional< Type > | synthesize_typeclass_call (CallExprAST *ast) |
| Type | synthesize_generic_call (CallExprAST *ast) |
| Type | synthesize_normal_call (CallExprAST *ast) |
| Type | synthesize_binary_operator (BinaryExprAST *ast, const Type &lhs_type, const Type &rhs_type) |
| bool | check_array_literal_against_annotation (VarDefAST *ast, ArrayLiteralExprAST *arr_lit, const ArrayType &arr_type) |
| virtual void | preorder_walk (ProgramAST *ast) override |
| virtual void | preorder_walk (VarDefAST *ast) override |
| virtual void | preorder_walk (ExternAST *ast) override |
| virtual void | preorder_walk (FuncDefAST *ast) override |
| virtual void | preorder_walk (StructDefAST *ast) override |
| virtual void | preorder_walk (EnumDefAST *ast) override |
| virtual void | preorder_walk (TypeAliasDefAST *ast) override |
| virtual void | preorder_walk (PrototypeAST *ast) override |
| virtual void | preorder_walk (CallExprAST *ast) override |
| virtual void | preorder_walk (ReturnExprAST *ast) override |
| virtual void | preorder_walk (BinaryExprAST *ast) override |
| virtual void | preorder_walk (NumberExprAST *ast) override |
| virtual void | preorder_walk (StringExprAST *ast) override |
| virtual void | preorder_walk (BoolExprAST *ast) override |
| virtual void | preorder_walk (CharExprAST *ast) override |
| virtual void | preorder_walk (UnitExprAST *ast) override |
| virtual void | preorder_walk (VariableExprAST *ast) override |
| virtual void | preorder_walk (BlockAST *ast) override |
| virtual void | preorder_walk (IfExprAST *ast) override |
| virtual void | preorder_walk (TypedVarAST *ast) override |
| virtual void | preorder_walk (DerefExprAST *ast) override |
| virtual void | preorder_walk (AddrOfExprAST *ast) override |
| virtual void | preorder_walk (AllocExprAST *ast) override |
| virtual void | preorder_walk (FreeExprAST *ast) override |
| virtual void | preorder_walk (ArrayLiteralExprAST *ast) override |
| virtual void | preorder_walk (IndexExprAST *ast) override |
| virtual void | preorder_walk (LenExprAST *ast) override |
| virtual void | preorder_walk (UnaryNegExprAST *ast) override |
| virtual void | preorder_walk (StructLiteralExprAST *ast) override |
| virtual void | preorder_walk (FieldAccessExprAST *ast) override |
| virtual void | preorder_walk (CaseExprAST *ast) override |
| virtual void | preorder_walk (WhileExprAST *ast) override |
| virtual void | preorder_walk (TupleLiteralExprAST *ast) override |
| virtual void | preorder_walk (TypeClassDeclAST *ast) override |
| virtual void | preorder_walk (TypeClassInstanceAST *ast) override |
| virtual void | postorder_walk (ProgramAST *ast) override |
| virtual void | postorder_walk (VarDefAST *ast) override |
| virtual void | postorder_walk (ExternAST *ast) override |
| virtual void | postorder_walk (FuncDefAST *ast) override |
| virtual void | postorder_walk (StructDefAST *ast) override |
| virtual void | postorder_walk (EnumDefAST *ast) override |
| virtual void | postorder_walk (TypeAliasDefAST *ast) override |
| virtual void | postorder_walk (PrototypeAST *ast) override |
| virtual void | postorder_walk (CallExprAST *ast) override |
| virtual void | postorder_walk (ReturnExprAST *ast) override |
| virtual void | postorder_walk (BinaryExprAST *ast) override |
| virtual void | postorder_walk (NumberExprAST *ast) override |
| virtual void | postorder_walk (StringExprAST *ast) override |
| virtual void | postorder_walk (BoolExprAST *ast) override |
| virtual void | postorder_walk (CharExprAST *ast) override |
| virtual void | postorder_walk (UnitExprAST *ast) override |
| virtual void | postorder_walk (VariableExprAST *ast) override |
| virtual void | postorder_walk (BlockAST *ast) override |
| virtual void | postorder_walk (IfExprAST *ast) override |
| virtual void | postorder_walk (TypedVarAST *ast) override |
| virtual void | postorder_walk (DerefExprAST *ast) override |
| virtual void | postorder_walk (AddrOfExprAST *ast) override |
| virtual void | postorder_walk (AllocExprAST *ast) override |
| virtual void | postorder_walk (FreeExprAST *ast) override |
| virtual void | postorder_walk (ArrayLiteralExprAST *ast) override |
| virtual void | postorder_walk (IndexExprAST *ast) override |
| virtual void | postorder_walk (LenExprAST *ast) override |
| virtual void | postorder_walk (UnaryNegExprAST *ast) override |
| virtual void | postorder_walk (StructLiteralExprAST *ast) override |
| virtual void | postorder_walk (FieldAccessExprAST *ast) override |
| virtual void | postorder_walk (CaseExprAST *ast) override |
| virtual void | postorder_walk (WhileExprAST *ast) override |
| virtual void | postorder_walk (TupleLiteralExprAST *ast) override |
| virtual void | postorder_walk (TypeClassDeclAST *ast) override |
| virtual void | postorder_walk (TypeClassInstanceAST *ast) override |
| virtual Type | synthesize (ProgramAST *ast) override |
| virtual Type | synthesize (VarDefAST *ast) override |
| virtual Type | synthesize (ExternAST *ast) override |
| virtual Type | synthesize (FuncDefAST *ast) override |
| virtual Type | synthesize (StructDefAST *ast) override |
| virtual Type | synthesize (EnumDefAST *ast) override |
| virtual Type | synthesize (TypeAliasDefAST *ast) override |
| virtual Type | synthesize (PrototypeAST *ast) override |
| virtual Type | synthesize (CallExprAST *ast) override |
| virtual Type | synthesize (ReturnExprAST *ast) override |
| virtual Type | synthesize (BinaryExprAST *ast) override |
| virtual Type | synthesize (NumberExprAST *ast) override |
| virtual Type | synthesize (UnitExprAST *ast) override |
| virtual Type | synthesize (StringExprAST *ast) override |
| virtual Type | synthesize (BoolExprAST *ast) override |
| virtual Type | synthesize (CharExprAST *ast) override |
| virtual Type | synthesize (VariableExprAST *ast) override |
| virtual Type | synthesize (BlockAST *ast) override |
| virtual Type | synthesize (IfExprAST *ast) override |
| virtual Type | synthesize (TypedVarAST *ast) override |
| virtual Type | synthesize (DerefExprAST *ast) override |
| virtual Type | synthesize (AddrOfExprAST *ast) override |
| virtual Type | synthesize (AllocExprAST *ast) override |
| virtual Type | synthesize (FreeExprAST *ast) override |
| virtual Type | synthesize (ArrayLiteralExprAST *ast) override |
| virtual Type | synthesize (IndexExprAST *ast) override |
| virtual Type | synthesize (LenExprAST *ast) override |
| virtual Type | synthesize (UnaryNegExprAST *ast) override |
| virtual Type | synthesize (StructLiteralExprAST *ast) override |
| virtual Type | synthesize (FieldAccessExprAST *ast) override |
| virtual Type | synthesize (CaseExprAST *ast) override |
| virtual Type | synthesize (WhileExprAST *ast) override |
| virtual Type | synthesize (TupleLiteralExprAST *ast) override |
| virtual Type | synthesize (TypeClassDeclAST *ast) override |
| virtual Type | synthesize (TypeClassInstanceAST *ast) override |
| Type | resolve_type_expr (TypeExprAST *type_expr) |
| Public Member Functions inherited from sammine_lang::AST::ASTVisitor | |
| virtual void | abort (const std::string &msg="<NO MESSAGE>") override final |
| Public Member Functions inherited from sammine_util::Reportee | |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| template<explicitly_bool_like T> | |
| void | abort_on (const T &condition, const std::string &message="<NO MESSAGE>") |
| template<explicitly_bool_like T> | |
| void | abort_if_not (const T &condition, const std::string &message="<NO MESSAGE>") |
| void | add_error (Location loc, std::string msg, std::source_location src=std::source_location::current()) |
| void | add_error (Location loc, std::vector< std::string > msgs, std::source_location src=std::source_location::current()) |
| void | add_warn (Location loc, std::string msg, std::source_location src=std::source_location::current()) |
| void | add_diagnostics (Location loc, std::string msg, std::source_location src=std::source_location::current()) |
| virtual bool | has_errors () const |
| bool | has_warn () const |
| bool | has_message () const |
| bool | has_diagnostics () const |
| int64_t | get_error_count () const |
| int64_t | get_warn_count () const |
| int64_t | get_diagnostic_count () const |
Public Attributes | |
| ASTProperties & | props_ |
| LexicalStack< Type, AST::FuncDefAST * > | id_to_type |
| LexicalStack< Type, AST::FuncDefAST * > | typename_to_type |
| TypeMapOrdering | type_map_ordering |
| std::unordered_map< std::string, FuncDefAST * > | generic_func_defs |
| std::vector< std::unique_ptr< FuncDefAST > > | monomorphized_defs |
| std::set< std::string > | instantiated_functions |
| std::unordered_map< std::string, EnumDefAST * > | generic_enum_defs |
| std::vector< std::unique_ptr< EnumDefAST > > | monomorphized_enum_defs |
| std::set< std::string > | instantiated_enums |
| std::unordered_map< std::string, TypeClassInfo > | type_class_defs |
| std::unordered_map< std::string, TypeClassInstanceInfo > | type_class_instances |
| std::unordered_map< std::string, std::string > | method_to_class |
| std::unordered_map< std::string, std::pair< Type, size_t > > | variant_constructors |
Additional Inherited Members | |
| Public Types inherited from sammine_util::Reportee | |
| enum | ReportKind { error , warn , diag } |
| using | Report |
| using | iterator = std::vector<Report>::iterator |
| using | const_iterator = std::vector<Report>::const_iterator |
| Protected Attributes inherited from sammine_lang::AST::ASTVisitor | |
| ProgramAST * | top_level_ast = nullptr |
| Protected Attributes inherited from sammine_util::Reportee | |
| std::vector< Report > | reports |
| int64_t | error_count = 0 |
| int64_t | warn_count = 0 |
| int64_t | diag_count = 0 |
|
inlineoverridevirtual |
Implements sammine_lang::AST::ScopedASTVisitor.
|
inlineoverridevirtual |
Implements sammine_lang::AST::ScopedASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Implements sammine_lang::AST::TypeCheckerVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Only visiting the FuncDefAST requires the use of scoping for now.
In the future we might have to support BlockAST
Reimplemented from sammine_lang::AST::ScopedASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
| ASTProperties& sammine_lang::AST::BiTypeCheckerVisitor::props_ |
INFO: Ok let's talk about error propagation in this checker. the synthesize will error if I cannot get something out of id_map or typename_map (technically shouldn't happen)