You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2020/02/13 08:18:11 UTC

[royale-compiler] branch develop updated: Fix a reported issue, surfacing from a recent change that (I was able to repro and believe) was related to IEventDispatcher Binding codegen implementation.

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 <gr...@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();