public EmitterVisitor(GraphProcessor processor, ILGenerator generator, MethodBodyBlock method) : base(processor, new Tasks()) { this.tasks = base.tasks as Tasks; tasks.SetVisitor(this); paramMapper = method.Variables.ParameterMapper; this.labels = Labeler.LabelNodes(method,generator); this.generator = generator; alreadyVisited = new Hashtable(); locals = new Hashtable(); AddTask(method,null); foreach(Variable var in method.Variables) { if(var.Kind == VariableKind.Local) locals[var] = generator.DeclareLocal(var.Type); } extraVars = new Hashtable(); boolVar = null; wasDumped = new Hashtable();; wasDumpedFlag = false; prevHasNext = true; }