tan  0.0.1
tanlang::RegisterDeclarations Class Reference

Register all declarations (including local) in the corresponding scopes. Run this stage early to easily obtain a list of top-level declarations from each source file. More...

#include <register_declarations.h>

Inheritance diagram for tanlang::RegisterDeclarations:
Collaboration diagram for tanlang::RegisterDeclarations:

Public Member Functions

void run_impl (Program *p)
 
void VisitProgramImpl (Program *p)
 
void VisitParenthesisImpl (Parenthesis *p)
 
void VisitIfImpl (If *p)
 
void VisitVarDeclImpl (VarDecl *p)
 
void VisitArgDeclImpl (ArgDecl *p)
 
void VisitCompoundStmtImpl (CompoundStmt *p)
 
void VisitBinaryOrUnaryImpl (BinaryOrUnary *p)
 
void VisitBinaryOperatorImpl (BinaryOperator *p)
 
void VisitUnaryOperatorImpl (UnaryOperator *p)
 
void VisitAssignmentImpl (Assignment *p)
 
void VisitFunctionDeclImpl (FunctionDecl *p)
 
void VisitIntrinsicImpl (Intrinsic *p)
 
void VisitStructDeclImpl (StructDecl *p)
 
void VisitLoopImpl (Loop *p)
 
- Public Member Functions inherited from tanlang::CompilerAction< Derived, Input, Output >
Output run (Input input)
 
- Public Member Functions inherited from tanlang::ASTVisitor< Derived >
void VisitProgram (Program *p)
 
void VisitPackage (Package *p)
 
void VisitIdentifier (Identifier *p)
 
void VisitParenthesis (Parenthesis *p)
 
void VisitIf (If *p)
 
void VisitVarDecl (VarDecl *p)
 
void VisitArgDecl (ArgDecl *p)
 
void VisitReturn (Return *p)
 
void VisitCompoundStmt (CompoundStmt *p)
 
void VisitBinaryOrUnary (BinaryOrUnary *p)
 
void VisitBinaryOperator (BinaryOperator *p)
 
void VisitUnaryOperator (UnaryOperator *p)
 
void VisitCast (Cast *p)
 
void VisitAssignment (Assignment *p)
 
void VisitFunctionCall (FunctionCall *p)
 
void VisitFunctionDecl (FunctionDecl *p)
 
void VisitImport (Import *p)
 
void VisitIntrinsic (Intrinsic *p)
 
void VisitArrayLiteral (ArrayLiteral *p)
 
void VisitCharLiteral (CharLiteral *p)
 
void VisitBoolLiteral (BoolLiteral *p)
 
void VisitIntegerLiteral (IntegerLiteral *p)
 
void VisitFloatLiteral (FloatLiteral *p)
 
void VisitStringLiteral (StringLiteral *p)
 
void VisitNullPointerLiteral (NullPointerLiteral *p)
 
void VisitMemberAccess (MemberAccess *p)
 
void VisitStructDecl (StructDecl *p)
 
void VisitLoop (Loop *p)
 
void VisitBreakContinue (BreakContinue *p)
 
void VisitVarRef (VarRef *p)
 
void VisitPackageDecl (PackageDecl *p)
 
void visit (ASTBase *p)
 
virtual void default_visit (ASTBase *)
 

Additional Inherited Members

- Public Types inherited from tanlang::CompilerAction< Derived, Input, Output >
using CompilerActionType = CompilerAction< Derived, Input, Output >
 
- Protected Member Functions inherited from tanlang::SemanticAnalysisAction< RegisterDeclarations, Program *, void >
void error (ErrorType type, ASTBase *p, const str &message)
 
void push_scope (ASTBase *scope)
 
void pop_scope ()
 
Contextctx ()
 
Contexttop_ctx ()
 
Declsearch_decl_in_scopes (const str &name)
 
T * search_node_in_parent_scopes ()
 
- Protected Member Functions inherited from tanlang::CompilerAction< Derived, Input, Output >
virtual void init (Input)
 

Detailed Description

Register all declarations (including local) in the corresponding scopes. Run this stage early to easily obtain a list of top-level declarations from each source file.

Definition at line 12 of file register_declarations.h.


The documentation for this class was generated from the following files: