Fixed #2148 AS1/2 callmethod by register value

This commit is contained in:
Jindra Petřík
2023-12-10 22:39:48 +01:00
parent b55c9d3b51
commit 3e8c166c4a
10 changed files with 85 additions and 29 deletions

View File

@@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model;
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
import com.jpexs.decompiler.flash.action.swf4.RegisterNumber;
import com.jpexs.decompiler.flash.action.swf5.ActionCallMethod;
import com.jpexs.decompiler.flash.ecma.Undefined;
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
@@ -125,7 +126,10 @@ public class CallMethodActionItem extends ActionItem {
} else {
scriptObject.toString(writer, localData);
}
if (IdentifiersDeobfuscation.isValidName(false, methodName.toStringNoQuotes(localData))) {
if (
!(((DirectValueActionItem)methodName).value instanceof RegisterNumber)
&& IdentifiersDeobfuscation.isValidName(false, methodName.toStringNoQuotes(localData))
) {
writer.append(".");
methodName.toStringNoQuotes(writer, localData);
} else {