diff --git a/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java b/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java index 074b454e0..9056628e4 100644 --- a/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java +++ b/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java @@ -49,12 +49,7 @@ public class MethodBody implements Cloneable { } public HashMap getLocalRegNames(ABC abc) - { - HashMap debugRegNames=code.getLocalRegNamesFromDebug(abc); - if(!debugRegNames.isEmpty()) - { - return debugRegNames; - } + { HashMap ret=new HashMap(); for (int i = 1; i <= abc.method_info[this.method_info].param_types.length; i++) { String paramName="param"+i; @@ -63,9 +58,22 @@ public class MethodBody implements Cloneable { } ret.put(i, paramName); } + int pos=abc.method_info[this.method_info].param_types.length+1; + if(abc.method_info[this.method_info].flagNeed_arguments()) + { + ret.put(pos,"arguments"); + pos++; + } if(abc.method_info[this.method_info].flagNeed_rest()) { - ret.put(abc.method_info[this.method_info].param_types.length+1,"rest"); + ret.put(pos,"rest"); + pos++; + } + + HashMap debugRegNames=code.getLocalRegNamesFromDebug(abc); + for(int k:debugRegNames.keySet()) + { + ret.put(k,debugRegNames.get(k)); } return ret; }