diff --git a/CHANGELOG.md b/CHANGELOG.md
index b82408689..fdb87a23f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file.
- [#1762] AS3 - Auto adding returnvoid/return undefined
- [#1762] AS - switch detection (mostcommon pathpart)
- [#1763] AS3 - initialization of activation object in some cases
+- AS3 - direct editation - arguments object on method with activation
## [15.0.0] - 2021-11-29
### Added
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java
index b371d0477..cdb4385bd 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java
@@ -1689,8 +1689,10 @@ public class AVM2SourceGenerator implements SourceGenerator {
NameAVM2Item n = (NameAVM2Item) an;
if (n.getVariableName().equals("arguments") & !n.isDefinition()) {
registerNames.add("arguments");
- registerTypes.add(new TypeItem("Object"));
+ registerTypes.add(new TypeItem("Array"));
registerLines.add(0); //?
+ slotNames.add(n.getVariableName());
+ slotTypes.add(new TypeItem("Array"));
hasArguments = true;
break;
}
diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf
index 327dc983e..3756fe40b 100644
Binary files a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf and b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf differ
diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf
index 10958fd53..8870e2c2b 100644
Binary files a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf and b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf differ
diff --git a/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml b/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml
index ccc475909..09cd1e0d1 100644
--- a/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml
+++ b/libsrc/ffdec_lib/testdata/as3_new/obj/as3_newConfig.xml
@@ -16,7 +16,7 @@
CONFIG::timeStamp
- '02.12.2021'
+ '04.12.2021'
CONFIG::air
diff --git a/libsrc/ffdec_lib/testdata/as3_new/src/Main.as b/libsrc/ffdec_lib/testdata/as3_new/src/Main.as
index cd9e4b9a6..d0152fc44 100644
--- a/libsrc/ffdec_lib/testdata/as3_new/src/Main.as
+++ b/libsrc/ffdec_lib/testdata/as3_new/src/Main.as
@@ -15,6 +15,7 @@ package
*/
public class Main extends Sprite
{
+ TestActivationArguments;
TestArguments;
TestCatchFinally;
TestChain2;
diff --git a/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestActivationArguments.as b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestActivationArguments.as
new file mode 100644
index 000000000..80843dbad
--- /dev/null
+++ b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestActivationArguments.as
@@ -0,0 +1,16 @@
+package tests
+{
+
+ public class TestActivationArguments
+ {
+ public function run():*
+ {
+ var func:Function = function(a:int, b:int):int {
+ return a + b;
+ }
+ if (arguments.length > 0){
+ trace(arguments[0]);
+ }
+ }
+ }
+}