tan  0.0.1
tanlang::OrganizePackages Class Reference

Organize a list of source files into their corresponding packages according to the code. Run this stage early since semantic analysis is performed on the package level. More...

#include <organize_packages.h>

Inheritance diagram for tanlang::OrganizePackages:
Collaboration diagram for tanlang::OrganizePackages:

Public Member Functions

vector< Package * > run_impl (vector< Program * > ps)
 
void VisitProgramImpl (Program *p)
 
void VisitIntrinsicImpl (Intrinsic *p)
 
- Public Member Functions inherited from tanlang::CompilerAction< OrganizePackages, vector< Program * >, vector< Package * > >
vector< Package * > run (vector< Program * > 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< OrganizePackages, vector< Program * >, vector< Package * > >
using CompilerActionType = CompilerAction< OrganizePackages, vector< Program * >, vector< Package * > >
 
- Protected Member Functions inherited from tanlang::CompilerAction< OrganizePackages, vector< Program * >, vector< Package * > >
virtual void init (vector< Program * >)
 

Detailed Description

Organize a list of source files into their corresponding packages according to the code. Run this stage early since semantic analysis is performed on the package level.

Note
The input will likely contain outdated information so any CompilerAction pass this should only operates on the package-level.

Definition at line 17 of file organize_packages.h.


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