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

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


The following commit(s) were added to refs/heads/develop by this push:
     new e3b6cc0  Fix a reported issue, surfacing from a recent change that (I 
was able to repro and believe) was related to IEventDispatcher Binding codegen 
implementation.
e3b6cc0 is described below

commit e3b6cc02eba156ec6e465efd608e368651301322
Author: greg-dove <greg.d...@gmail.com>
AuthorDate: Thu Feb 13 20:58:58 2020 +1300

    Fix a reported issue, surfacing from a recent change that (I was able to 
repro and believe) was related to IEventDispatcher Binding codegen 
implementation.
---
 .../royale/compiler/internal/codegen/js/jx/BindableEmitter.java    | 7 +------
 .../compiler/internal/codegen/js/jx/PackageFooterEmitter.java      | 5 +++++
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BindableEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BindableEmitter.java
index b1c1527..31d49e1 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BindableEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BindableEmitter.java
@@ -116,7 +116,7 @@ public class BindableEmitter extends JSSubEmitter implements
     }
 
 
-    private void emitBindableInterfaceMethods(IClassDefinition definition)  {
+    public void emitBindableInterfaceMethods(IClassDefinition definition)  {
         writeNewline();
         writeNewline("/**");
         writeNewline(" * Compiler generated");
@@ -214,11 +214,6 @@ public class BindableEmitter extends JSSubEmitter 
implements
 
     private void emitInstanceBindableVars(IClassDefinition definition) {
 
-        if (definition.needsEventDispatcher(getProject())) {
-            if (getModel().getImplicitBindableImplementation() == 
ImplicitBindableImplementation.IMPLEMENTS)
-                emitBindableInterfaceMethods(definition);
-        }
-
         String qname = definition.getQualifiedName();
         write(JSGoogEmitterTokens.OBJECT);
         write(ASEmitterTokens.MEMBER_ACCESS);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/PackageFooterEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/PackageFooterEmitter.java
index b6e082d..1e54271 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/PackageFooterEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/PackageFooterEmitter.java
@@ -193,6 +193,11 @@ public class PackageFooterEmitter extends JSSubEmitter 
implements
                    write(ASEmitterTokens.BLOCK_CLOSE);
                    write(ASEmitterTokens.SEMICOLON);
 
+                   if (needsIEventDispatcher) {
+                               JSRoyaleEmitter fjs = 
(JSRoyaleEmitter)getEmitter();
+                               
fjs.getBindableEmitter().emitBindableInterfaceMethods(((IClassDefinition) 
tnode.getDefinition()));
+                       }
+
                    collectReflectionData(tnode);
                    IMetaTagNode[] metadata = null;
                    IMetaTagsNode metadataTags = tnode.getMetaTags();

Reply via email to