The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
CodeGeneration.VisitorCodeGenerationBase Class Referenceabstract

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...

Inheritance diagram for CodeGeneration.VisitorCodeGenerationBase:
Tools.VisitorAdapter Tools.Visitor CodeGeneration.VisitorCodeGeneration2 CodeGeneration.VisitorCodeGeneration< T > CodeGeneration.VisitorILCodeGeneration< T > CodeGeneration.VisitorCLRCodeGeneration< T > CodeGeneration.VisitorRrotorCodeGeneration< T >

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 ()
 
- Public Member Functions inherited from Tools.VisitorAdapter
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 Public Member Functions inherited from Tools.Visitor
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...
 
- Protected Attributes inherited from Tools.VisitorAdapter
string currentFile
 Name of the current file. More...
 

Detailed Description

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.

Member Function Documentation

abstract void CodeGeneration.VisitorCodeGenerationBase.AddExceptionCode ( )
pure virtual
abstract void CodeGeneration.VisitorCodeGenerationBase.Close ( )
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 >.


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