public void Visit(AssignmentStatementNode assignment) { assignment.Expression.Accept(this); EmitComment("Assign to {0}", assignment.Variable.Name); if (assignment.SymbolTableEntry.Type == SymbolTableEntryType.Variable) Emit("stloc", assignment.SymbolTableEntry.Index); else // Parameter Emit("starg", assignment.SymbolTableEntry.Index); }
public void Visit(AssignmentStatementNode assignment) { assignment.Expression.Accept(this); EmitComment("Assign to {0}", assignment.Variable.Name); if (assignment.SymbolTableEntry.Type == SymbolTableEntryType.Variable) Emit("locals[{0}] = stack.pop();", assignment.SymbolTableEntry.Index); else Emit("params[{0}] = stack.pop();", assignment.SymbolTableEntry.Index); }
public void Visit(AssignmentStatementNode assignment) { assignment.Expression.Accept(this); EmitComment("Assign to {0}", assignment.Variable.Name); if (assignment.SymbolTableEntry.Type == SymbolTableEntryType.Variable) { Emit("locals[{0}] = stack.pop();", assignment.SymbolTableEntry.Index); } else { Emit("params[{0}] = stack.pop();", assignment.SymbolTableEntry.Index); } }
public void Visit(AssignmentStatementNode assignment) { assignment.Expression.Accept(this); EmitComment("Assign to {0}", assignment.Variable.Name); if (assignment.SymbolTableEntry.Type == SymbolTableEntryType.Variable) { Emit("stloc", assignment.SymbolTableEntry.Index); } else // Parameter { Emit("starg", assignment.SymbolTableEntry.Index); } }
public void Visit(AssignmentStatementNode assignment) { assignment.Expression.Accept(this); EmitComment("Assign to {0}", assignment.Variable.Name); Emit("istore", GetLocalsIndex(assignment.SymbolTableEntry)); }
public void Visit(AssignmentStatementNode assignment) { assignment.Expression.Accept(this); EmitComment("Assign to {0}", assignment.Variable.Name); Emit("istore", GetLocalsIndex(assignment.SymbolTableEntry)); }