public void Visit(VariableReferenceNode reference) { EmitComment("Read {0}", reference.Variable.Name); if (reference.SymbolTableEntry.Type == SymbolTableEntryType.Variable) { Emit("stack.push(locals[{0}]);", reference.SymbolTableEntry.Index); } else { Emit("stack.push(params[{0}]);", reference.SymbolTableEntry.Index); } }
public void Visit(VariableReferenceNode reference) { EmitComment("{0}", reference.Variable.Name); if (reference.SymbolTableEntry.Type == SymbolTableEntryType.Variable) { Emit("ldloc", reference.SymbolTableEntry.Index); } else // Parameter { Emit("ldarg", reference.SymbolTableEntry.Index); } }
public void Visit(VariableReferenceNode reference) { EmitComment("{0}", reference.Variable.Name); Emit("iload", GetLocalsIndex(reference.SymbolTableEntry)); }
public void Visit(VariableReferenceNode reference) { EmitComment("{0}", reference.Variable.Name); if (reference.SymbolTableEntry.Type == SymbolTableEntryType.Variable) Emit("ldloc", reference.SymbolTableEntry.Index); else // Parameter Emit("ldarg", reference.SymbolTableEntry.Index); }
public void Visit(VariableReferenceNode reference) { EmitComment("Read {0}", reference.Variable.Name); if (reference.SymbolTableEntry.Type == SymbolTableEntryType.Variable) Emit("stack.push(locals[{0}]);", reference.SymbolTableEntry.Index); else Emit("stack.push(params[{0}]);", reference.SymbolTableEntry.Index); }