inspec type of expression instead of the type of the assignment, since the assignment type is always null
This commit is contained in:
@@ -577,14 +577,15 @@ public class GenASM implements Visitor<Void> {
|
||||
public Void visit(VariableAssignment e) {
|
||||
e.expression.welcome(this);
|
||||
int offset = this.env.get(e.name);
|
||||
// TODO: Check why e.type is null
|
||||
// x = (x - 1)
|
||||
// if (e.type.equals(Type.getFloatType())) {
|
||||
// this.ex.write(" movq %xmm0, " + offset + "(%rbp)\n");
|
||||
// } else {
|
||||
// this.ex.write(" movq %rax, " + offset + "(%rbp)\n");
|
||||
// }
|
||||
this.ex.write(" movq %rax, " + offset + "(%rbp)\n");
|
||||
|
||||
// Determine where the result of this expression was placed into
|
||||
// and move it onto the stack from there
|
||||
if (e.expression.type.equals(Type.getFloatType())) {
|
||||
this.ex.write(" movq %xmm0, " + offset + "(%rbp)\n");
|
||||
} else {
|
||||
this.ex.write(" movq %rax, " + offset + "(%rbp)\n");
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user