170 Commits

Author SHA1 Message Date
Jindra Petřík
602a70b74f fix(as3): correct named anonymous functions (#2714)
Anonymous functions with names that are part of for example
function call.
f(5, function myName() {
});
The problem with this was introduced with adding temporary registers
for swap operation.

Fixes #2714
2026-05-23 16:13:24 +02:00
Jindra Petřík
db6f49fbf8 fix: actionscript and/or operators with simple value operands (#2680)
Fixes #2680
2026-04-06 21:06:19 +02:00
Jindra Petřík
76d1db9517 test: add longer timeout for long tests 2026-04-06 21:06:19 +02:00
Jindra Petřík
2bc1c4e012 perf: optimize recursion, avoid stackoverflow on larger scripts (#2672) 2026-04-06 21:06:19 +02:00
Jindra Petřík
0ccacf3865 Added: AS3 ambiguous namespace detection (back again)
Fixed: #2514 AS3 direct editation - problems with namespaces
2026-03-04 20:18:02 +01:00
Jindra Petřík
ba7c762537 Fixed: AS3 slow decompilation caused by ambiguios namespace detection 2026-02-23 09:21:44 +01:00
Jindra Petřík
417ffda416 Fixed: Using public/private/protected/internal keywords on ambiguous namespace references
and compiling such keywords with `::` suffix.
2026-02-19 20:54:52 +01:00
Jindra Petřík
0a4e53f455 Fixed: #2636 ActionScript 3 - type coercion / convert, local registers type propagation 2026-02-18 22:37:55 +01:00
Jindra Petřík
7bc96f67f3 Fixed: AS3 property resolving for KIND_NAMESPACE (like builtin for Strings, etc.) 2026-02-18 09:50:26 +01:00
Jindra Petřík
e7ec368ea6 Tests fix 2026-02-17 21:58:23 +01:00
Jindra Petřík
114f774672 Added: #2636 AS3 QName properties with nonvalid identifiers handled as square brackets 2026-02-17 20:50:57 +01:00
Jindra Petřík
281b35f3bf Fixed: #2473, #2530 Always-break loops containing breaks (forward gotos) 2026-01-25 12:49:05 +01:00
Jindra Petřík
e577257532 Update year in license header. 2026-01-16 21:33:23 +01:00
Jindra Petřík
b9e00fd673 Fixed: #2586 AS3 direct editation + decompilation - XML escape sequences and other XML problems 2026-01-03 23:58:04 +01:00
Jindra Petřík
d7071c940f Fixed: #2573 AS3 - Incorrect uint/int/Number coercion
Fixed: AS3 local registers type propagation
2025-11-30 12:35:54 +01:00
Jindra Petřík
0c109bc0eb Fixed: #2546 AS3 findProperty vs temporary registers 2025-10-25 17:19:12 +02:00
Jindra Petřík
5db66ae32b Fixed tests. 2025-09-30 21:39:32 +02:00
Jindra Petřík
6b559cab3d New Assembled TestSetGetLocalOnStack 2025-09-01 19:58:31 +02:00
Jindra Petřík
189d58ab67 Assembled TestDoubleDup fix 2025-09-01 18:03:02 +02:00
Jindra Petřík
d51e75d0e7 Simple values are not duplicated with DuplicateItem/SetTemporary. 2025-09-01 17:01:29 +02:00
Jindra Petřík
46b05de1b3 updated tests 2025-09-01 17:01:29 +02:00
Jindra Petřík
c8a8ff2fea Get property fix, preincrement air test fix 2025-09-01 17:01:28 +02:00
Jindra Petřík
6a892b1796 Modified testcases 2025-09-01 17:01:28 +02:00
Jindra Petřík
7c2c87c8e4 Fix tests 2025-09-01 17:01:26 +02:00
Jindra Petřík
a804987067 swap item 2025-09-01 17:01:25 +02:00
Jindra Petřík
b449db946f §§dupsrc introduced 2025-09-01 17:01:25 +02:00
Jindra Petřík
922cd45084 Fixed tests. 2025-09-01 17:01:25 +02:00
Jindra Petřík
b3a693e4e3 2497 Swap instruction handling. WIP 2025-09-01 17:01:22 +02:00
Jindra Petřík
967a6d8bf2 Separated increment/decrement tests. 2025-08-03 10:10:17 +02:00
Jindra Petřík
be5ead4087 Do not parse imports from names with namespace suffix 2025-08-01 19:29:45 +02:00
Jindra Petřík
fe8d08f221 Fix tests 2025-07-25 10:44:11 +02:00
Jindra Petřík
ea56b5680f Fixed: #1295, #116 AS3 dynamic construction via MultinameL 2025-07-24 23:47:25 +02:00
Jindra Petřík
7559970c17 Fixed: #2493 Incorrect placement of §§push instructions 2025-07-24 21:12:24 +02:00
Jindra Petřík
a9763c7151 Fixed: #2485 Some variants of switches 2025-07-21 08:48:57 +02:00
Jindra Petřík
7076cdfc36 Fixed: #2486 AS3 switches detection in some cases 2025-07-20 11:55:37 +02:00
Jindra Petřík
b471b48ba7 Fixed: #2486 decompilation timeout on infinite loop 2025-07-17 22:42:32 +02:00
Jindra Petřík
eb3f403021 Fixed: #2486 AS3 skipping label instruction 2025-07-16 21:35:52 +02:00
Jindra Petřík
2c5f4c9774 Fixed: #2486 AS ifs with direct breaks (in obfuscated code) 2025-07-13 21:32:45 +02:00
Jindra Petřík
7bfa09cd98 Fixed: #2486 AS Loop in loop producing gotos in some cases 2025-07-13 18:45:54 +02:00
Jindra Petřík
381b97c026 Fixed: #2338 AS2 Reading large classes with incorrect if jumps on the beginning
Fixed: #2338 AS1/2/3 Obfuscated code - jump to jump handling
2025-07-12 15:23:37 +02:00
Jindra Petřík
7b948f92a3 Fixed: #2477 AS1/2 deobfuscation - and/or operators, jumps before function start,
jumps to function end, jumps in for..in return/break
2025-07-11 19:51:18 +02:00
Jindra Petřík
e6fb646b1b Fixed: #2474 Gotos incorrectly decompiled 2025-06-29 22:58:28 +02:00
Jindra Petřík
3f9f349a69 Update year in license headers to 2025 2025-05-26 07:41:42 +02:00
Jindra Petřík
58bd04698e Fixed #2418 AS3 - initialization of class static vars in script initializer (Haxe) 2025-04-13 00:08:10 +02:00
Jindra Petřík
a992adb5c0 Fixed: #2391 Double not operator in ternar operator expression 2025-03-22 21:35:12 +01:00
Jindra Petřík
b4ba937c69 Fixed: #2357 AS3 instance var/const initialization 2024-11-10 19:50:55 +01:00
Jindra Petřík
fb010614b4 Fixed: #2335 AS3 direct editation - Type coercion of && and || operators 2024-10-13 20:43:18 +02:00
Jindra Petřík
c8068e8da9 Tests fix 2024-10-13 20:43:18 +02:00
Jindra Petřík
4e8041c6f0 Fixed: #2322 More AS3 Assigment position when using dup 2024-10-13 20:43:18 +02:00
Jindra Petřík
9617c2ac2f Added: FLA/FlashDevelop/IDEA export - A link to all classes (sound, font, images) is added so no class is missed during compilation 2024-08-27 09:43:40 +02:00