diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScript3SimpleParser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScript3SimpleParser.java index 73451edf6..e98bce03b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScript3SimpleParser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScript3SimpleParser.java @@ -43,7 +43,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Stack; -import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; /** * ActionScript 3 parser. @@ -512,7 +511,7 @@ public class ActionScript3SimpleParser implements SimpleParser { } private void classTraits(List errors, boolean outsidePackage, Reference cinitNeedsActivation, List importedClasses, List openedNamespaces, DottedChain pkg, String classNameStr, boolean isInterface, Reference iinitNeedsActivation, ABC abc, List classVariables) throws AVM2ParseException, SimpleParseException, IOException, CompilationException, InterruptedException { - + Stack cinitLoops = new Stack<>(); Map cinitLoopLabels = new HashMap<>(); @@ -921,8 +920,8 @@ public class ActionScript3SimpleParser implements SimpleParser { if (s.type == SymbolType.INTERFACE) { isInterface = true; } - String subNameStr; - + String subNameStr; + s = lex(); if (!expected(errors, s, lexer.yyline(), SymbolGroup.IDENTIFIER)) { break; @@ -964,7 +963,8 @@ public class ActionScript3SimpleParser implements SimpleParser { Reference cinitNeedsActivation = new Reference<>(false); Reference iinitNeedsActivation = new Reference<>(false); List classVariables = new ArrayList<>(); - + classVariables.add(new Variable(true, "this", s.position)); + classTraits(errors, !inPackage, cinitNeedsActivation, importedClasses, subOpenedNamespaces, pkgName, subNameStr, isInterface, iinitNeedsActivation, abc, classVariables); sinitVariables.add(new ClassScope(classVariables)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScript2SimpleParser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScript2SimpleParser.java index cb11f6079..628ceac83 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScript2SimpleParser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScript2SimpleParser.java @@ -774,6 +774,7 @@ public class ActionScript2SimpleParser implements SimpleParser { } while (s.type == SymbolType.COMMA); } expected(errors, s, lexer.yyline(), SymbolType.CURLY_OPEN); + variables.add(new Variable(true, "this", s.position)); List subVariables = new ArrayList<>(); traits(errors, false, className, subVariables, inTellTarget, hasEval); ClassScope cs = new ClassScope(subVariables);