ES6 Support Groundwork + Fixes (OLD ONE DON'T LOOK AT ME!!!) #22
@ -18,13 +18,13 @@ public class ArrayNode extends Node {
|
|||||||
@Override public void compile(CompileResult target, boolean pollute) {
|
@Override public void compile(CompileResult target, boolean pollute) {
|
||||||
target.add(Instruction.loadArr(statements.length));
|
target.add(Instruction.loadArr(statements.length));
|
||||||
|
|
||||||
|
if (statements.length > 0) target.add(Instruction.dup(statements.length));
|
||||||
|
|
||||||
for (var i = 0; i < statements.length; i++) {
|
for (var i = 0; i < statements.length; i++) {
|
||||||
var el = statements[i];
|
var el = statements[i];
|
||||||
if (el != null) {
|
if (el != null) {
|
||||||
target.add(Instruction.dup());
|
|
||||||
target.add(Instruction.pushValue(i));
|
|
||||||
el.compile(target, true);
|
el.compile(target, true);
|
||||||
target.add(Instruction.storeMember());
|
target.add(Instruction.storeMember(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,10 +39,9 @@ public class ObjectNode extends Node {
|
|||||||
|
|
||||||
for (var el : map.entrySet()) {
|
for (var el : map.entrySet()) {
|
||||||
target.add(Instruction.dup());
|
target.add(Instruction.dup());
|
||||||
target.add(Instruction.pushValue(el.getKey()));
|
|
||||||
var val = el.getValue();
|
var val = el.getValue();
|
||||||
FunctionNode.compileWithName(val, target, true, el.getKey().toString());
|
FunctionNode.compileWithName(val, target, true, el.getKey().toString());
|
||||||
target.add(Instruction.storeMember());
|
target.add(Instruction.storeMember(el.getKey()));
|
||||||
}
|
}
|
||||||
|
|
||||||
var keys = new ArrayList<Object>();
|
var keys = new ArrayList<Object>();
|
||||||
|
Loading…
Reference in New Issue
Block a user