 AST.Operations.AstOperation | This class represent the entry wnen sending a message to an operation object. derived from AstNode |
 CodeGeneration.Operations.CGBinaryOperationsInfo | It typechecks the runtime arguments, embeded in a method call, with the parametes of this method. |
 CharScanner | |
  Parser.CSharpLexer | |
  Parser.CSharpPreprocessorHooverLexer | |
  Parser.CSharpPreprocessorLexer | |
 CodeGeneration.CodeGenerator | This class encapsulates the instruction used to generate the code. |
  CodeGeneration.ILCodeGenerator | |
   CodeGeneration.CLRCodeGenerator | This class encapsulates the IL CLR code generator IL. |
   CodeGeneration.RrotorCodeGenerator | This class encapsulates the IL CLR code generator IL. |
 CommonAST | |
  AST.AstNode | Abstract class for all nodes that compounds the abstract syntax tree. |
   AST.Namespace | Encapsulates a namespace definition. |
   AST.SourceFile | Encapsulates the source code. |
   AST.Statement | Abstract class represents a programming language statement. |
    AST.AssertStatement | Encapsulates a Assert statement of our programming languages. |
    AST.Block | Encapsulates a block of statements. |
    AST.BreakStatement | Encapsulates a Break statement of our programming languages. |
    AST.CatchStatement | Encapsulates a Catch statement of our programming languages. |
    AST.ContinueStatement | Encapsulates a Continue statement of our programming languages. |
    AST.Declaration | Encapsulates a declaration of a concrete type. |
     AST.DeclarationSet | Encapsulates a statement with several declarations. |
     AST.FieldDeclarationSet | Encapsulates a set of field declarations. |
     AST.IdDeclaration | Encapsulates a declaration. |
      AST.Definition | Encapsulates a definition. |
       AST.ConstantDefinition | Encapsulates a constant definition. |
      AST.FieldDeclaration | Encapsulates a declaration of a concrete field. |
       AST.FieldDefinition | Encapsulates a definition of a concrete field. |
        AST.ConstantFieldDefinition | Encapsulates a constant field definition. |
      AST.MethodDeclaration | Encapsulates a declaration of a concrete method. |
       AST.MethodDefinition | Encapsulates a definition of a concrete method. |
        AST.ConstructorDefinition | Encapsulates a definition of a concrete constructor. |
      AST.PropertyDefinition | Encapsulates a property definition. |
      AST.TypeDefinition | Encapsulates a definition of a concrete class or interface. |
       AST.ClassDefinition | Encapsulates a definition of a concrete class. |
       AST.InterfaceDefinition | Encapsulates a definition of a concrete interface. |
    AST.DoStatement | Encapsulates a Do statement of our programming language. |
    AST.ExceptionManagementStatement | Encapsulates a Try-Catch-finally statement of our programming languages. As C# states catch blcok and finally block can be optional, but not at the same time. |
    AST.Expression | Abstract class encapsulate a programming language expression. |
     AST.ArgumentExpression | Encapsulates a argument expression of our programming language. |
     AST.BaseCallExpression | Encapsulates a invocation expression to base class. |
      AST.InvocationExpression | Encapsulates a invocation expression. |
      AST.NewExpression | Encapsulates a new expression. |
     AST.BaseExpression | Encapsulates a 'base' expression. |
     AST.BinaryExpression | Encapsulates a binary expression of our programming language. |
      AST.ArithmeticExpression | Encapsulates arithmetic binary expressions. |
      AST.ArrayAccessExpression | Encapsulates the array expression to access the concrete position. |
      AST.AssignmentExpression | Encapsulates assignment binary expressions. |
      AST.BitwiseExpression | Encapsulates a bitwise binary expression. |
      AST.LogicalExpression | Encapsulates a logical binary expression. |
      AST.RelationalExpression | Encapsulates a relational binary expression. |
     AST.BoolLiteralExpression | Encapsulates a boolean literal expression. |
     AST.CastExpression | Encapsulates a cast expression. |
     AST.CharLiteralExpression | |
     AST.CompoundExpression | Encapsulates a set of expressions. |
     AST.DoubleLiteralExpression | Encapsulates a string literal expression. |
     AST.FieldAccessExpression | Encapsulates the expression to access a field. |
     AST.IdentifierExpression | Encapsulates a name expression of our programming language. |
      AST.QualifiedIdentifierExpression | Encapsulates the qualified name expression. |
      AST.SingleIdentifierExpression | Encapsulates a identifier expression of our programming language. |
     AST.IntLiteralExpression | Encapsulates a integer literal expression. |
     AST.IsExpression | Encapsulates a Is expression. |
     AST.NewArrayExpression | Encapsulates a new array expression. |
     AST.NullExpression | Encapsulates a null expression. |
     AST.StringLiteralExpression | Encapsulates a string literal expression. |
     AST.TernaryExpression | Encapsulates a ternary expression of our programming language. |
     AST.ThisExpression | Encapsulates a 'this' expression. |
     AST.UnaryExpression | Encapsulates a unary expression of our programming language. |
    AST.ForeachStatement | Encapsulates a Foreach statement of our programming languages. |
    AST.ForStatement | Encapsulates a For statement of our programming languages. |
    AST.IfElseStatement | Encapsulates a If-Else statement of our programming language. |
    AST.MoveStatement | Encapsulates a Move instruction to use in SSA algorithm |
    AST.ReturnStatement | Encapsulates a Return statement of our programming languages. |
    AST.SwitchLabel | Encapsulates a switch label (Case + condition or Default section). |
    AST.SwitchSection | Encapsulates a Case statement of our programming languages. |
    AST.SwitchStatement | Encapsulates a Switch statement of our programming languages. |
    AST.ThetaStatement | Encapsulates a Theta function to use in SSA algorithm. |
    AST.ThrowStatement | Encapsulates a Throw statement of our programming languages. |
    AST.WhileStatement | Encapsulates a While statement of our programming languages. |
 CommonHiddenStreamToken | |
  Parser.CustomHiddenStreamToken | A sub-class of antlr.CommonHiddenStreamToken that can be used to track the file from which a token was created |
 CodeGeneration.ConstantTable | Implementation of a table of constants. |
 TypeSystem.Constraints.Constraint | |
  TypeSystem.Constraints.ConstraintAdapter | |
   TypeSystem.Constraints.ArithmeticConstraint | It represents constraints of the form: ret := op1 op op2 Where op is an arithmetic operator |
   TypeSystem.Constraints.BracketConstraint | It represents constraints of the form: ret := ret := op1 [ op2 ] |
   TypeSystem.Constraints.CastConstraint | It represents constraints of the form (op1)op2 (op2 might be converted int a op1) |
   TypeSystem.Constraints.CloneConstraint | |
   TypeSystem.Constraints.DotConstraint | It represents constraints of the form: ret := op1 . memberName |
   TypeSystem.Constraints.ParenthesisConstraint | It represents constraints of the form: ret := op1(implicitObj, param*) where op1 is a method, implicitObj is the actual object used to pass the message and param* is a sequence of parameters |
   TypeSystem.Constraints.PromotionConstraint | It represents constraints of the form op1 <= op2 (op1 is a subtype of op2) |
   TypeSystem.Constraints.RelationalConstraint | It represents constraints of the form: ret := op1 op op2 where op is an relational operator (== != >= <= > <) |
   TypeSystem.Constraints.SquareBracketConstraint | It represents constraints of the form: ret := ret := op1 [ op2 ] |
  TypeSystem.Constraints.ConstraintList | A set of constraints |
  TypeSystem.Constraints.FieldTypeAssignmentConstraint | It represents constraints of the form: alpha := beta, being alpha a field type |
  TypeSystem.Constraints.FieldTypeVariableAssignmentConstraint | It represents constraints of the form: alpha.memberName := beta being alpha a type variable |
 Parser.CSharpTokenTypes | |
 TypeSystem.DeclarationTable | Implementation of a table of declarations. |
 CodeGeneration.ExceptionManagement.DynamicExceptionManager | This class encapsulates the IL code to generate a dynamic exception. |
  CodeGeneration.ExceptionManagement.WrongDynamicTypeExceptionManager | This class encapsulates the IL code to generate an exception produced when the type on the top of the stack is incorrect. |
 DynVarManagement.DynVarManager | New implementation of DynVarManagement: -Ignores "block" elements: not used anymore. -Provides wider interface: -Dynamic method return (dynreturn attribute in method elements) -Interface elements Includes set of old fields, properties and methods for retro-compatibility reasons. |
 DynVarManagement.DynVarOptions | Offers the global options of the dynamic behaviour configuration. |
 Inference.Core.EntryPoint | |
 TypeSystem.EquivalenceClass | |
 ErrorManagement.ErrorManager | Class to allow the management of all different error types happened. |
 Exception | |
  DynVarManagement.DynVarException | The parent class for all exceptions related to DynVars |
   DynVarManagement.DynVarInfoNotFound | When the associated file is not found |
   DynVarManagement.DynVarInfoSyntaxException | When the XML syntax of the associated file is not valid. |
   DynVarManagement.DynVarNotFound | When a dynVar, a block(DynVars object), class or namespace is not found in the associated info. |
 TypeSystem.IBCLUserType | |
  TypeSystem.BCLClassType | |
  TypeSystem.BCLInterfaceType | |
 ICloneable | |
  TypeSystem.AccessModifier | Association Class between ClassType and MethodType (or Fields). Represents the access modifier information about a concrete attribute and its class. |
 ErrorManagement.IError | Interfaz for the different error types. |
  ErrorManagement.AssemblerError | Represents the error occurred when the assembler is not capable of assembling an IL file. |
  ErrorManagement.CommandLineArgumentsError | Represents the error occurred when the command line arguments specified are incorrect. |
  ErrorManagement.DispatcherError | Represents a error produced in a wrong invocation of the dispatchers |
  ErrorManagement.ErrorAdapter | Represents an adapter of existing features in every error. |
   ErrorManagement.ArgumentNumberError | Represents a error produced when the argument and parameter number is different. |
   ErrorManagement.ArgumentOutOfRangeError | Represents the error occurred when the argument value is out of range. |
   ErrorManagement.AssignmentError | Represents a error produced when the attribute identifier is not defined. |
   ErrorManagement.ClassTypeInfoError | Represents a error produced when a MethodType has class information and tries to assign other class information. |
   ErrorManagement.CodeGenerationError | Represents a error produced when a MethodType has class information and tries to assign other class information. |
   ErrorManagement.ConstraintError | Represents a error produced when a constraint has not been satisfied |
   ErrorManagement.DeclarationFoundError | Represents a error produced when the declaration already exists. |
   ErrorManagement.DefinedTypeError | Represents a error produced when the defined type already exists. |
   ErrorManagement.EntryPointFoundError | Represents a error produced when source code has more the one entry point defined. |
   ErrorManagement.EntryPointNotFoundError | Represents a error produced when source code has not any entry point. |
   ErrorManagement.ExceptionClauseWrongDerived | Represents a error produced when the defined type already exists. |
   ErrorManagement.ExpectedInterfaceError | Represents a error produced when the used type is not defined. |
   ErrorManagement.ExpressionExpectedError | Represents a error produced when the expression is not a lvalue. |
   ErrorManagement.FileNotFoundError | Represents the error occurred when the file specified does not exist. |
   ErrorManagement.IncorrectArraySizeError | Represents a error produced when a specified array size isnt an integer or an expression that contains a integer value. |
   ErrorManagement.InstanceMethodCallFromStaticMethodError | Represents a error produced when an instance method is called from a static one, whithout using an object. |
   ErrorManagement.InternalOperationInterfaceError | |
   ErrorManagement.LoadingDynVarsError | Represents the error occurred when dynamic variable are loaded. |
   ErrorManagement.LValueError | Represents a error produced when the expression is not a lvalue. |
   ErrorManagement.MultipleBaseClassError | Represents the error occurred when a class has multiple base classes. |
   ErrorManagement.NoTypeAcceptsOperation | Represents a error produced when a dynamic union type has no valid type to be applied an operation |
   ErrorManagement.NoTypeHasMember | Represents a error produced when a dynamic union type has no valid type to be applied an operation |
   ErrorManagement.OperationNotAllowedError | Represents a error produced when tries to make an operation not allowed for the specified type. |
   ErrorManagement.OverloadError | Represents a error produced when the ternary expression can not be applied to specified expressions |
   ErrorManagement.ParserError | Represents the error occurred while the source code is parsing. |
   ErrorManagement.PropertyWriteError | Represents a error produced when an property without write permisses is assigned a value. |
   ErrorManagement.ProtectionLevelError | Represents a error produced when a member cannot be access due to its protection level. |
   ErrorManagement.ReturnExpectedError | Represents a error produced when the expression is not a lvalue. |
   ErrorManagement.SymbolNotFoundError | Represents a error produced when the specified symbol does not exist. |
   ErrorManagement.TernaryError | Represents a error produced when the ternary expression can not be applied to specified expressions |
   ErrorManagement.ThisWordFromStaticMethodError | Represents a error produced when the this reserved word is used in a static method |
   ErrorManagement.TypeCastError | Represents a error produced when a type cast can not be applied to specified expressions. |
   ErrorManagement.TypePromotionError | Represents a error produced when the type promotion can not be applied to specified expressions. different. |
   ErrorManagement.UnificationError | Represents a error produced when the attribute identifier is not defined. |
   ErrorManagement.UnknownIDError | Represents a error produced when the attribute identifier is not defined. |
   ErrorManagement.UnknownMemberError | Represents a error produced when the attribute identifier is not defined. |
   ErrorManagement.UnknownTypeError | Represents a error produced when the used type is not defined. |
  ErrorManagement.ExecutionError | Represents the error occurred when compiled application has been executed. |
  ErrorManagement.LexicalError | Represents the error occurred while the source code is lexing. |
  ErrorManagement.MemberTypeExpectedError | Represents a error produced when member type is expected but do not found. |
  ErrorManagement.UserTypeExpectedError | Represents a error produced when user type is expected but do not found. |
 CodeGeneration.ILReservedWords | |
 CodeGeneration.ILStatementsCodeGeneration | |
 TypeSystem.IMemberType | Representa a class attribute (fields or methods). |
  TypeSystem.FieldType | Representa a field type. |
  TypeSystem.IntersectionMemberType | A class that makes possible to have intersection types as class members (overload) |
  TypeSystem.MethodType | Representa a method type. |
  TypeSystem.PropertyType | Representa a property type. |
 CodeGeneration.InheritedAttributes | This class encapsulates several inherited attributes used in code generation process. |
 TypeSystem.Introspection | Represents a type obtained using introspection. |
 LLkParser | |
  Parser.CSharpParser | |
 ErrorManagement.Location | This class encapsulates a location in a specific file. Implements an Inmutable pattern. So it can be used in any context, that is his internal fields never change. |
 Operation | |
  TypeSystem.Operations.CloneTypeVariablesOperation | |
  TypeSystem.Operations.SquareBracketOperation | Implements bracket operation of a type expression. Implments double dispatcher pattern. |
 CommandLine.OptionsConfiguration | |
 Tools.Pair< FirstType, SecondType > | Generic pair of objects |
 AST.Parameter | Encapsulates a parameter declaration. |
 CommandLine.Parameters | |
 Inference.Core.Parser | Parsing of a set of files |
 Inference.Core.Program | |
 Inference.src.Core.ServerOptimizer | |
 Semantic.SSAAlgorithm.SSAElement | This class stores the information to use in SSA map and allows to create a new declarations. |
 Semantic.SSAAlgorithm.SSAInfo | This class stores the information to use in SSA algorithm |
 Semantic.SSAAlgorithm.SSAMap | Implementation of a map to use in static single assignment algorithm. |
 Symbols.Symbol | This class represents a symbol associated with its identifier. |
 Symbols.SymbolTable | Implementation of a symbol table. |
 CodeGeneration.SynthesizedAttributes | This class encapsulates several inherited attributes used in code generation process. |
 TargetPlatforms.TargetPlatformRepresentation | |
 CodeGeneration.TemporalVariablesTable | Implementation of a table of variables. thist tables search for an id according to its string type representation |
 TokenCreator | |
  Parser.CustomHiddenStreamToken.CustomHiddenStreamTokenCreator | |
 TokenStream | |
  Parser.CSharpLexer | |
  Parser.CSharpPreprocessorHooverLexer | |
  Parser.CSharpPreprocessorLexer | |
 TypeSystem.TypeExpression | Abstract class that represents all different types. |
  TypeSystem.ArrayType | Representa an array type. |
  TypeSystem.BoolType | Represent a bool type. |
  TypeSystem.CharType | Represent a character type. |
  TypeSystem.ClassTypeProxy | Represents a proxy of a class type. It implements the unfold operatations of theoretical type systes. |
  TypeSystem.DoubleType | Represents a double type. |
  TypeSystem.FieldType | Representa a field type. |
  TypeSystem.IntersectionType | Representa an intersection type. |
   TypeSystem.IntersectionMemberType | A class that makes possible to have intersection types as class members (overload) |
  TypeSystem.IntType | Represent a integer type. |
  TypeSystem.MethodType | Representa a method type. |
  TypeSystem.NameSpaceType | WriteType of a namespace |
   TypeSystem.BCLNameSpaceType | WriteType of a namespace |
  TypeSystem.NullType | Represent a null type. |
  TypeSystem.PropertyType | Representa a property type. |
  TypeSystem.StringType | Represent a string type. |
  TypeSystem.TypeVariable | Represents a generic type expression |
  TypeSystem.UnionType | Representa a union type. |
  TypeSystem.UserType | Represents a class or interface type. |
   TypeSystem.ClassType | Represents a class type. |
    TypeSystem.BCLClassType | |
   TypeSystem.InterfaceType | Represents a interface type. |
    TypeSystem.BCLInterfaceType | |
  TypeSystem.VoidType | Represents a void type. |
 CodeGeneration.TypeMapping | Offers the mappings between different representations of types in IL. |
 TypeSystem.Operations.TypeSystemOperation | This class represent the entry wnen sending a message to an operation object derived from TypeExpression. |
  CodeGeneration.NewOperations.CGBinaryOperation< T > | |
  CodeGeneration.Operations.CGPlainTypeExpressionOperation | |
  CodeGeneration.Operations.CGRuntimeCheckArgumentOperation< T > | It typechecks the runtime arguments, embeded in a method call, with the parametes of this method. |
  CodeGeneration.Operations.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. |
  CodeGeneration.Operations.CGRuntimeFreshTEPromotionOperation< T > | Converts a fresh type variable on the stack (object) to another type |
  CodeGeneration.Operations.CGRuntimeIsInstructionOperation< T > | Checks if the type variable on the stack is a specified type or can be to promotion |
  CodeGeneration.Operations.CGRuntimeUnionTypePromotionOperation< T > | Tries a promotion where the top of the stack contains a union type. |
  CodeGeneration.Operations.CGTypeSystemOperation | This class represent the entry wnen sending a message to an operation object derived from TypeExpression. |
  CodeGeneration.Operations.MajorTypeOperation | |
   CodeGeneration.Operations.MajorTypeForArithMeticOperation | |
  TypeSystem.Operations.ArithmeticalOperation | This class instantiates elements of type UnaryArithmeticalOperation, and BinaryArithmeticalOperation, according to the Create method called. Implements a factory methos(virtual constructor) Role: factory |
   TypeSystem.Operations.BinaryArithmeticalOperation | |
   TypeSystem.Operations.UnaryArithmeticalOperation | Class Unary AritmethicalOperation Implements: Factory method Role: |
  TypeSystem.Operations.AssignmentOperation | Implements Double dispatcher Pattern. The class encapsulates encapsulates all it's needed to perform an assigment operationt, except the first argument that is passed as argument with the message AcceptOperation() and done in the proper method. |
  TypeSystem.Operations.CastOperation | These clase implements cast operation over a type expression that is encapsulated in a message pass to AcceptOperation. Tels if the caller can cast to CastType Implements Double dispatcher pattern |
  TypeSystem.Operations.DotOperation | Implements a factory method pattern. Virtual constructor. Role: factory Implements a double dispatcher pattern Role: |
   TypeSystem.Operations.ConstrainedDotOperation | This class generatess constraits, and raises error if something is wrong. Implements a double dispatcher pattern Implements a factory method. Role: Product |
  TypeSystem.Operations.EqualsForOverloadOperation | Implemeents a double dispatcher pattern Role: |
  TypeSystem.Operations.EquivalentOperation | No location information is provided within this class, because the exec methods invoked by the proper messages always return a boolean type. A |
  TypeSystem.Operations.GetMembersOperation | Represents an operation to return all the members in a type |
  TypeSystem.Operations.ParenthesisOperation | Implements Double Dispatch Pattern Role: |
  TypeSystem.Operations.PromotionLevelOperation | Its operation AcceptOperation() returns an integer value that indicates a promotion level between two types. That is the number of gaps represented as levels between two types The static behaviour is T1\/T2 <= X iff T1<=X and T2<=X The dynamic behaviour is T1\/T2 <= X iff T1<=X or T2<=X |
  TypeSystem.Operations.PromotionOperation | |
  TypeSystem.Operations.RelationalOperation | |
  TypeSystem.Operations.SquareBracketOperation | Implements bracket operation of a type expression. Implments double dispatcher pattern. |
  TypeSystem.Operations.UnifyOperation | |
 TypeSystem.TypeTable | Implementation of a table of types. |
 DynVarManagement.VarPath | |
 Tools.Visitor | Abstract class to define different visits over the abstract syntax tree. |
  Tools.VisitorAdapter | Abstract class to define different visits over the abstract syntax tree. It makes a deep walker. |
   CodeGeneration.VisitorCodeGenerationBase | 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 |
    CodeGeneration.VisitorCodeGeneration2 | This class walks the AST to obtain the field and localinit directives. |
    CodeGeneration.VisitorCodeGeneration< T > | This class walks the AST to obtain the IL code. |
     CodeGeneration.VisitorILCodeGeneration< T > | This class walks the AST to obtain the IL code. |
      CodeGeneration.VisitorCLRCodeGeneration< T > | This class walks the AST to obtain the IL code. |
      CodeGeneration.VisitorRrotorCodeGeneration< T > | This class walks the AST to obtain the translation to IL code over the Reflective extension of the SSCLI (Rrotor). |
   Debugger.VisitorDebug | This class shows the information of the abstract syntax tree. |
   Semantic.SSAAlgorithm.VisitorSSA | This class makes the static single assignment algorithm in which every variable is assigned exactly once. |
   Semantic.SSAAlgorithm.VisitorSSA2 | This class makes the second part of static single assignment algorithm in which every variable is assigned exactly once. |
   Semantic.VisitorSymbolIdentification | This class visits the AST to assign symbol information to identifier expression. |
   Semantic.VisitorTypeDefinition | This class visits the AST to store the type of each declaration. Includes methods, fields and inheritance. |
   Semantic.VisitorTypeInference | This class visits the AST to make the type inference of all expressiones in the source code. |
   Semantic.VisitorTypeLoad | This class visits the AST to store the type of each defined class or inteface. |