The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
Package CodeGeneration.Operations

Operations for generating code depending on the type of the arguments. More...

Classes

class  CGArithmeticOperation< T >
 
class  CGBinaryOperationsInfo
 It typechecks the runtime arguments, embeded in a method call, with the parametes of this method. More...
 
class  CGBinaryOperation< T >
 
class  CGCastOperation< T >
 
class  CGClassDefinitionStartOperation< T >
 It generates the code of the start of a class in IL Language.
 
class  CGConstantFieldDefinitionInitializationOperation< T >
 
class  CGConvertToOperation< T >
 This class generates code for one type to another.
 
class  CGILInvocationExpressionOperation< T >
 Generates code for an single method infocation///
 
class  CGILMethodInvocationOperation< T >
 
class  CGInterfaceDefinitionStartOperation< T >
 
class  CGLoadArrayElementOperation< T >
 Generates the store operation according with the type of the array.
 
class  CGPlainTypeExpressionOperation
 
class  CGProcessFieldOperation< T >
 It processess code generation of a Field in IL Language.
 
class  CGProcessMethodOperation< T >
 It processess code generation of a field in IL Language.
 
class  CGRemoveTopElementInvocationOperation
 It checks if it is neccesary to perform a pop operation after an invocation
 
class  CGRuntimeCheckArgumentOperation< T >
 It typechecks the runtime arguments, embeded in a method call, with the parametes of this method. More...
 
class  CGRuntimeCheckTypeExpressionOperation< T >
 It tries to convert the top of the stack to a Type Expression indicated by operand. Firstly it duplicates the top of the stack Next check if the top of he stack is the same type of argument 'operand'. If the conversion is wrong. In a execution context we'd've finished so it's necessary to write an opcode jump, brfalse, to the end of this code (endLabel). Next it unboxes the result the top of the stack to the desired type. If a Convertion to double is requested, (member this.toDouble), it generates convToDouble If it success it jumps to the rest of code else it generates the label to jump if isinst fails. More...
 
class  CGRuntimeFreshTEPromotionOperation< T >
 Converts a fresh type variable on the stack (object) to another type More...
 
class  CGRuntimeIsInstructionOperation< T >
 Checks if the type variable on the stack is a specified type or can be to promotion More...
 
class  CGRuntimeUnionTypePromotionOperation< T >
 Tries a promotion where the top of the stack contains a union type. More...
 
class  CGStoreArrayElementOperation< T >
 /// Generates the store operation according with the type of the array
 
class  CGToStringOperation< T >
 
class  CGTypeSystemOperation
 This class represent the entry wnen sending a message to an operation object derived from TypeExpression. More...
 
class  CGVisitArithmeticalOp< T >
 It typechecks the runtime arguments, embeded in a method call, with the parametes of this method.
 
class  CGVisitDefinitionNodeOperation< T >
 It typechecks the runtime arguments, embeded in a method call, with the parametes of this method.
 
class  MajorTypeForArithMeticOperation
 
class  MajorTypeOperation
 

Detailed Description

Operations for generating code depending on the type of the arguments.