mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-24 08:45:35 +00:00
Fixed: #2537 AS1/2/3 direct editation - partial object literal causing lag
This commit is contained in:
@@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
|
||||
- [#2536] AS3 switches detection incorrectly replaces basic ifs with strict equals
|
||||
- [#2536] AS3 switches detection not handling loops
|
||||
- [#2536] AS3 regexp highlighting / compilation
|
||||
- [#2537] AS1/2/3 direct editation - partial object literal causing lag
|
||||
|
||||
## [24.1.0] - 2025-09-28
|
||||
### Added
|
||||
@@ -4015,6 +4016,7 @@ Major version of SWF to XML export changed to 2.
|
||||
[alpha 8]: https://github.com/jindrapetrik/jpexs-decompiler/compare/alpha7...alpha8
|
||||
[alpha 7]: https://github.com/jindrapetrik/jpexs-decompiler/releases/tag/alpha7
|
||||
[#2536]: https://www.free-decompiler.com/flash/issues/2536
|
||||
[#2537]: https://www.free-decompiler.com/flash/issues/2537
|
||||
[#2477]: https://www.free-decompiler.com/flash/issues/2477
|
||||
[#2478]: https://www.free-decompiler.com/flash/issues/2478
|
||||
[#2485]: https://www.free-decompiler.com/flash/issues/2485
|
||||
|
||||
@@ -1975,12 +1975,16 @@ public class ActionScript3SimpleParser implements SimpleParser {
|
||||
expression(errors, thisType, needsActivation, importedClasses, openedNamespaces, registerVars, inFunction, inMethod, isStatic, allowRemainder, variables, false, abc);
|
||||
expectedType(errors, SymbolType.PARENT_CLOSE);
|
||||
}
|
||||
expectedType(errors, SymbolType.COLON);
|
||||
if (expectedType(errors, SymbolType.COLON) == null) {
|
||||
break;
|
||||
}
|
||||
expression(errors, thisType, needsActivation, importedClasses, openedNamespaces, registerVars, inFunction, inMethod, isStatic, allowRemainder, variables, false, abc);
|
||||
|
||||
s = lex();
|
||||
if (!s.isType(SymbolType.COMMA, SymbolType.CURLY_CLOSE)) {
|
||||
expected(errors, s, lexer.yyline(), SymbolType.COMMA, SymbolType.CURLY_CLOSE);
|
||||
if (!expected(errors, s, lexer.yyline(), SymbolType.COMMA, SymbolType.CURLY_CLOSE)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ret = true;
|
||||
|
||||
@@ -179,6 +179,8 @@ public class ActionScript2SimpleParser implements SimpleParser {
|
||||
if (expectedIdentifier(errors, s, lexer.yyline())) {
|
||||
paramNames.add(new Path(s.value.toString()));
|
||||
paramPositions.add(s.position);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
s = lex();
|
||||
if (s.type == SymbolType.COLON) {
|
||||
@@ -1409,12 +1411,18 @@ public class ActionScript2SimpleParser implements SimpleParser {
|
||||
lexer.pushback(s);
|
||||
}
|
||||
s = lex();
|
||||
expectedIdentifier(errors, s, lexer.yyline());
|
||||
expectedType(errors, SymbolType.COLON);
|
||||
if (!expectedIdentifier(errors, s, lexer.yyline())) {
|
||||
break;
|
||||
}
|
||||
if (expectedType(errors, SymbolType.COLON) == null) {
|
||||
break;
|
||||
}
|
||||
expression(errors, inFunction, inMethod, inTellTarget, true, variables, false, hasEval);
|
||||
s = lex();
|
||||
if (!s.isType(SymbolType.COMMA, SymbolType.CURLY_CLOSE)) {
|
||||
expected(errors, s, lexer.yyline(), SymbolType.COMMA, SymbolType.CURLY_CLOSE);
|
||||
if (!expected(errors, s, lexer.yyline(), SymbolType.COMMA, SymbolType.CURLY_CLOSE)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ret = true;
|
||||
@@ -1556,12 +1564,16 @@ public class ActionScript2SimpleParser implements SimpleParser {
|
||||
}
|
||||
if (op.type == SymbolType.BRACKET_OPEN) {
|
||||
expression(errors, inFunction, inMethod, inTellTarget, false, variables, false, hasEval);
|
||||
expectedType(errors, SymbolType.BRACKET_CLOSE);
|
||||
if (expectedType(errors, SymbolType.BRACKET_CLOSE) == null) {
|
||||
break;
|
||||
}
|
||||
ret = true;
|
||||
}
|
||||
if (op.type == SymbolType.DOT) {
|
||||
ParsedSymbol s = lex();
|
||||
expectedIdentifier(errors, s, lexer.yyline(), SymbolType.THIS, SymbolType.SUPER);
|
||||
if (!expectedIdentifier(errors, s, lexer.yyline(), SymbolType.THIS, SymbolType.SUPER)) {
|
||||
break;
|
||||
}
|
||||
|
||||
ret = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user