This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit 2fb42a768c19a8bf3d53c442ac0751cbe1404f3d
Author: Josh Tynjala <joshtynj...@apache.org>
AuthorDate: Thu Feb 18 10:17:22 2021 -0800

    ABCGenerator: fix issue where native methods did not include default 
argument values in bytecode
---
 .../apache/royale/compiler/internal/as/codegen/ABCGenerator.java    | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git 
a/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ABCGenerator.java
 
b/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ABCGenerator.java
index bfca01a..14c75c1 100644
--- 
a/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ABCGenerator.java
+++ 
b/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ABCGenerator.java
@@ -262,6 +262,9 @@ public class ABCGenerator implements ICodeGenerator
         MethodInfo mi = createMethodInfo(enclosing_scope, func, 
alternate_name);
         if (mi.isNative())
         {
+            // previous versions didn't add the default argument values to
+            // native methods, but that led to broken signatures -JT
+            mi = 
createMethodInfoWithOptionalDefaultArgumentValues(enclosing_scope, func, true, 
alternate_name);
             generateNativeMethod(func, mi, enclosing_scope);
         }
         else
@@ -294,6 +297,9 @@ public class ABCGenerator implements ICodeGenerator
         MethodInfo mi = createMethodInfo(enclosing_scope, func, null);
         if (mi.isNative())
         {
+            // previous versions didn't add the default argument values to
+            // native methods, but that led to broken signatures -JT
+            mi = 
createMethodInfoWithOptionalDefaultArgumentValues(enclosing_scope, func, true, 
null);
             generateNativeMethod(func, mi, enclosing_scope);
             return new 
GenerateFunctionInParallelResult(Futures.immediateFuture(null), mi, 
Collections.<IVisitor>emptyList());
         }

Reply via email to