Fixed AS3 - direct editation - call on index

This commit is contained in:
Jindra Petřík
2021-12-05 17:29:24 +01:00
parent ee9fd933f1
commit e9cc551c37
2 changed files with 6 additions and 2 deletions

View File

@@ -154,13 +154,16 @@ public class IndexAVM2Item extends AssignableAVM2Item {
} else {
return toSourceMerge(localData, generator,
object,
call ? ins(AVM2Instructions.Dup) : null,
call ? dupSetTemp(localData, generator, ret_temp) : null,
index,
construct ? getTemp(localData, generator, ret_temp) : null,
construct ? callargs : null,
ins(construct ? AVM2Instructions.ConstructProp : delete ? AVM2Instructions.DeleteProperty : AVM2Instructions.GetProperty, indexPropIndex, construct ? callargs.size() : null),
call ? getTemp(localData, generator, ret_temp) : null,
call ? callargs : null,
call ? ins(AVM2Instructions.Call, callargs.size()) : null,
needsReturn ? null : ins(AVM2Instructions.Pop));
needsReturn ? null : ins(AVM2Instructions.Pop),
(call || construct) ? killTemp(localData, generator, Arrays.asList(ret_temp)) : null);
}
}