The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
AST.MethodDefinition Class Reference

Encapsulates a definition of a concrete method. More...

Inheritance diagram for AST.MethodDefinition:
AST.MethodDeclaration AST.IdDeclaration AST.Declaration AST.Statement AST.AstNode AST.ConstructorDefinition

Public Member Functions

 MethodDefinition (SingleIdentifierExpression id, Block stats, string returnType, List< Parameter > parameters, List< Modifier > modifiers, Location location)
 Constructor of MethodDefinition. More...
 
override Object Accept (Visitor v, Object o)
 Accept method of a concrete visitor. More...
 
- Public Member Functions inherited from AST.MethodDeclaration
 MethodDeclaration (SingleIdentifierExpression id, string returnType, List< Parameter > parameters, List< Modifier > modifiers, Location location)
 Constructor of MethodDeclaration. More...
 
bool SearchParam (string param)
 Searches the specified param in the method parameter list. More...
 
- Public Member Functions inherited from AST.IdDeclaration
 IdDeclaration (SingleIdentifierExpression id, string type, Location location)
 Constructor of IdDeclaration More...
 
 IdDeclaration (SingleIdentifierExpression id, int indexSSA, string type, Location location)
 Constructor of IdDeclaration More...
 
override object AcceptOperation (AstOperation op, object arg)
 Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically More...
 
- Public Member Functions inherited from AST.Statement
override object AcceptOperation (AstOperation op, object arg)
 Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically More...
 
- Public Member Functions inherited from AST.AstNode
override bool Equals (object obj)
 AntLR compares Nodes with the class name. This is not correct for our purposes. More...
 
override int GetHashCode ()
 

Properties

Block Body [get]
 Gets the body of the method More...
 
bool IsEntryPoint [get]
 True if the method definition is a entry point. Otherwise, false. More...
 
- Properties inherited from AST.MethodDeclaration
List< ModifierModifiersInfo [get]
 Gets the modifiers information used to obtain its type More...
 
List< ParameterParametersInfo [get]
 Gets the parameters information used to obtain its type More...
 
string ReturnTypeInfo [get, set]
 Gets the information of the return type More...
 
bool IsReturnDynamic [get, set]
 Gets or sets true if the return expression is a dynamic reference. Otherwise false. More...
 
- Properties inherited from AST.IdDeclaration
string Identifier [get]
 Gets the name associated to the declaration More...
 
string ILName [get]
 Gets the IL name associated to the declaration identifier. More...
 
SingleIdentifierExpression IdentifierExp [get]
 Gets the identifier expression More...
 
Symbol Symbol [get, set]
 The symbol of the identifier More...
 
- Properties inherited from AST.Declaration
TypeExpression TypeExpr [get, set]
 Gets or sets the type of the declaration More...
 
string FullName [get, set]
 Gets or sets the nominal type of the declaration More...
 
virtual TypeExpression ILTypeExpression [get]
 Gets the type expression to use in code generation. More...
 
- Properties inherited from AST.AstNode
Location Location [get]
 

Additional Inherited Members

- Protected Member Functions inherited from AST.Declaration
 Declaration (string type, Location location)
 Constructor of Declaration More...
 
- Protected Member Functions inherited from AST.Statement
 Statement (Location location)
 Protected constructor of Statement. More...
 
- Protected Member Functions inherited from AST.AstNode
 AstNode (Location location)
 Protected constructor of NodeAst More...
 
- Protected Attributes inherited from AST.Declaration
TypeExpression frozenTypeExpression
 WriteType variable may change its type's substitution (e.g., field type variables) This attribute saves the type in an specific time (frozen). If this type's substitution changes, the frozen type does not. More...
 
- Protected Attributes inherited from AST.AstNode
Location location
 Location: Encapsulates in one object the line, column and filename More...
 

Detailed Description

Encapsulates a definition of a concrete method.

Inheritance: MethodDeclaration. Implements Composite pattern [Composite]. Implements Visitor pattern [Concrete Element].

Definition at line 34 of file MethodDefinition.cs.

Constructor & Destructor Documentation

AST.MethodDefinition.MethodDefinition ( SingleIdentifierExpression  id,
Block  stats,
string  returnType,
List< Parameter parameters,
List< Modifier modifiers,
Location  location 
)

Constructor of MethodDefinition.

Parameters
idName of the definition.
statsBody associated to the method definition.
returnTypeName of the return type.
parametersParameters information.
modifiersModifiers information.
fileNameFile name.
lineNumberLine number.
columnNumberColumn number.

Definition at line 80 of file MethodDefinition.cs.

Member Function Documentation

override Object AST.MethodDefinition.Accept ( Visitor  v,
Object  o 
)
virtual

Accept method of a concrete visitor.

Parameters
vConcrete visitor
oOptional information to use in the visit.
Returns
Optional information to return

Reimplemented from AST.MethodDeclaration.

Definition at line 100 of file MethodDefinition.cs.

Property Documentation

Block AST.MethodDefinition.Body
get

Gets the body of the method

Definition at line 54 of file MethodDefinition.cs.

bool AST.MethodDefinition.IsEntryPoint
get

True if the method definition is a entry point. Otherwise, false.

Definition at line 61 of file MethodDefinition.cs.


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