The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
|
This class walks the AST to to obtain intermediate code Thisis a layer adapter class and is the base classBy means of thisi class we're able to perform covariance in certain attributes between visitor and codegeneration clases More...
Public Member Functions | |
abstract void | Close () |
Class used to generate de intermediate code We implement explicitly covariance in this attribute by means of genericity More... | |
abstract void | AddExceptionCode () |
![]() | |
override Object | Visit (SourceFile node, Object obj) |
override Object | Visit (Namespace node, Object obj) |
override Object | Visit (DeclarationSet node, Object obj) |
override Object | Visit (FieldDeclarationSet node, Object obj) |
override Object | Visit (IdDeclaration node, Object obj) |
override Object | Visit (Definition node, Object obj) |
override Object | Visit (ConstantDefinition node, Object obj) |
override Object | Visit (PropertyDefinition node, Object obj) |
override Object | Visit (ClassDefinition node, Object obj) |
override Object | Visit (InterfaceDefinition node, Object obj) |
override Object | Visit (ConstructorDefinition node, Object obj) |
override Object | Visit (FieldDeclaration node, Object obj) |
override Object | Visit (FieldDefinition node, Object obj) |
override Object | Visit (ConstantFieldDefinition node, Object obj) |
override Object | Visit (MethodDeclaration node, Object obj) |
override Object | Visit (MethodDefinition node, Object obj) |
override Object | Visit (ArgumentExpression node, Object obj) |
override Object | Visit (ArithmeticExpression node, Object obj) |
override Object | Visit (ArrayAccessExpression node, Object obj) |
override Object | Visit (AssignmentExpression node, Object obj) |
override Object | Visit (BaseCallExpression node, Object obj) |
override Object | Visit (BaseExpression node, Object obj) |
override Object | Visit (BinaryExpression node, Object obj) |
override Object | Visit (BitwiseExpression node, Object obj) |
override Object | Visit (BoolLiteralExpression node, Object obj) |
override Object | Visit (CastExpression node, Object obj) |
override Object | Visit (CharLiteralExpression node, Object obj) |
override Object | Visit (CompoundExpression node, Object obj) |
override Object | Visit (DoubleLiteralExpression node, Object obj) |
override Object | Visit (FieldAccessExpression node, Object obj) |
override Object | Visit (IntLiteralExpression node, Object obj) |
override Object | Visit (InvocationExpression node, Object obj) |
override Object | Visit (IsExpression node, Object obj) |
override Object | Visit (LogicalExpression node, Object obj) |
override Object | Visit (NewArrayExpression node, Object obj) |
override Object | Visit (NewExpression node, Object obj) |
override Object | Visit (NullExpression node, Object obj) |
override Object | Visit (QualifiedIdentifierExpression node, Object obj) |
override Object | Visit (RelationalExpression node, Object obj) |
override Object | Visit (SingleIdentifierExpression node, Object obj) |
override Object | Visit (StringLiteralExpression node, Object obj) |
override Object | Visit (TernaryExpression node, Object obj) |
override Object | Visit (ThisExpression node, Object obj) |
override Object | Visit (UnaryExpression node, Object obj) |
override Object | Visit (AssertStatement node, Object obj) |
override Object | Visit (BreakStatement node, Object obj) |
override Object | Visit (CatchStatement node, Object obj) |
override Object | Visit (Block node, Object obj) |
override Object | Visit (ContinueStatement node, Object obj) |
override Object | Visit (DoStatement node, Object obj) |
override Object | Visit (ForeachStatement node, Object obj) |
override Object | Visit (ForStatement node, Object obj) |
override Object | Visit (IfElseStatement node, Object obj) |
override Object | Visit (ReturnStatement node, Object obj) |
override Object | Visit (SwitchLabel node, Object obj) |
override Object | Visit (SwitchSection node, Object obj) |
override Object | Visit (SwitchStatement node, Object obj) |
override Object | Visit (ThrowStatement node, Object obj) |
override Object | Visit (ExceptionManagementStatement node, Object obj) |
override Object | Visit (WhileStatement node, Object obj) |
override Object | Visit (MoveStatement node, Object obj) |
override Object | Visit (ThetaStatement node, Object obj) |
Additional Inherited Members | |
![]() | |
static T | getInheritedAttributes< T > (Object attributes, int index) |
Generic helper function that takes the visitor parameter an converts it into the appropiate inherited attribute. More... | |
static T | getInheritedAttributes< T > (Object attributes) |
Overloaded version of the above method More... | |
![]() | |
string | currentFile |
Name of the current file. More... | |
This class walks the AST to to obtain intermediate code Thisis a layer adapter class and is the base classBy means of thisi class we're able to perform covariance in certain attributes between visitor and codegeneration clases
Inheritance: VisitorAdapter. Implements Visitor pattern [Concrete Visitor].
Definition at line 89 of file VisitorCodeGenerationBase.cs.
|
pure virtual |
|
pure virtual |
Class used to generate de intermediate code We implement explicitly covariance in this attribute by means of genericity
Implemented in CodeGeneration.VisitorCodeGeneration2, CodeGeneration.VisitorILCodeGeneration< T >, and CodeGeneration.VisitorCodeGeneration< T >.