public PostTypeRewriter(Compiler.CompilationCache pUnit) { _methodsToPoly = new Dictionary <string, List <MethodSyntax> >(); _polydMethods = new Dictionary <string, List <MethodSyntax> >(); _unit = pUnit; GetEnumerable(); }
public ModuleReferenceVisitor(Compiler.CompilationCache pUnit, EmittingContext pContext, Compiler.CompilationModule pModule = null) { _context = pContext; _module = pModule; _unit = pUnit; MethodNodes = new List <ReferencedNode>(); TypeNodes = new List <ReferencedNode>(); }
public PolyRewriter(Compiler.CompilationCache pCompilation) { _compilation = pCompilation; _structsToPoly = new Dictionary <string, TypeDefinitionSyntax>(); _implements = new Dictionary <string, List <TypeDefinitionSyntax> >(); }
public ReferencedNode(SyntaxNode pNode, Compiler.CompilationCache pUnit) { Node = pNode; Unit = pUnit; }
public PostTypeValidationVisitor(Compiler.CompilationCache pUnit) { _unit = pUnit; }
public PreTypeRewriter(Compiler.CompilationCache pUnit) { _unit = pUnit; }
public TypeInferenceVisitor(Compiler.CompilationCache pUnit) { _locals = new ScopeCache <LocalDefinition>(); _unit = pUnit; }
public TypeDiscoveryVisitor(Compiler.CompilationCache pUnit) { _discoveryGraph = new TypeDiscoveryGraph(); _implements = new Dictionary <string, List <TypeDefinitionSyntax> >(); _unit = pUnit; }
internal static Compiler.FindResult FindMethodOnType(out MethodDefinition pDef, Compiler.CompilationCache pUnit, string pNamespace, string pName, SmallType pType, params SmallType[] pArguments) { if (pType != null) { pNamespace = pType.Namespace; } //If it's not an exact match, look through each traits methods until we find it var result = pUnit.FindMethod(out pDef, pNamespace, pType, pName, pArguments); if (result != Compiler.FindResult.Found) { if (pType != null) { foreach (var trait in pType.Implements) { result = pUnit.FindMethod(out pDef, pNamespace, trait, pName, pArguments); if (result == Compiler.FindResult.Found) { return(result); } } } return(result); } return(result); }
public PreTypeValidation(Compiler.CompilationCache pCache) { _cache = pCache; }
public TypeChecker(Compiler.CompilationCache pUnit) { _unit = pUnit; }