From b1818d0600e6b7a845c708289e1c521ede4b86c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 21 Feb 2021 08:32:50 +0100 Subject: [PATCH] Fixed #1610 AS3 P-code editation - true/false/undefined/null has value_index same as value_kind --- CHANGELOG.md | 3 ++- .../decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b49d545c..46c259353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,8 @@ All notable changes to this project will be documented in this file. - Graphviz Graph not showing AS3 exception end - #1609 First frame missing in frame to PDF export - AS3 with statement decompilation -- AS3 unnecessary adding namespaces +- #1610 AS3 unnecessary adding namespaces +- #1610 AS3 P-code editation - true/false/undefined/null has value_index same as value_kind ### Changed - #1565, #1407, #1350 On BinaryData SWF save, parent SWF is saved diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java index 4bfb1cb23..f5af84295 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java @@ -532,6 +532,7 @@ public class ASM3Parser { break; case ParsedSymbol.TYPE_KEYWORD_TRUE: value_kind = ValueKind.CONSTANT_True; + value_index = ValueKind.CONSTANT_True; temp = lexer.lex(); if (temp.type == ParsedSymbol.TYPE_PARENT_OPEN) { expected(ParsedSymbol.TYPE_PARENT_CLOSE, ")", lexer); @@ -541,6 +542,7 @@ public class ASM3Parser { break; case ParsedSymbol.TYPE_KEYWORD_FALSE: value_kind = ValueKind.CONSTANT_False; + value_index = ValueKind.CONSTANT_False; temp = lexer.lex(); if (temp.type == ParsedSymbol.TYPE_PARENT_OPEN) { expected(ParsedSymbol.TYPE_PARENT_CLOSE, ")", lexer); @@ -550,6 +552,7 @@ public class ASM3Parser { break; case ParsedSymbol.TYPE_KEYWORD_NULL: value_kind = ValueKind.CONSTANT_Null; + value_index = ValueKind.CONSTANT_Null; temp = lexer.lex(); if (temp.type == ParsedSymbol.TYPE_PARENT_OPEN) { expected(ParsedSymbol.TYPE_PARENT_CLOSE, ")", lexer); @@ -559,6 +562,7 @@ public class ASM3Parser { break; case ParsedSymbol.TYPE_KEYWORD_VOID: value_kind = ValueKind.CONSTANT_Undefined; + value_index = ValueKind.CONSTANT_Undefined; temp = lexer.lex(); if (temp.type == ParsedSymbol.TYPE_PARENT_OPEN) { expected(ParsedSymbol.TYPE_PARENT_CLOSE, ")", lexer);