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 baa3ea4040c0fb7711d5bf48f4f96f2fbab05e26
Author: Josh Tynjala <[email protected]>
AuthorDate: Mon Dec 21 10:51:30 2020 -0800

    GenerateRoyaleExports: MXML ids generated by the compiler should be 
exported because they are accessed dynamically by MXMLDataInterpreter (and 
bindings)
---
 .../google/javascript/jscomp/GenerateRoyaleExports.java  | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git 
a/compiler-jx/src/main/java/com/google/javascript/jscomp/GenerateRoyaleExports.java
 
b/compiler-jx/src/main/java/com/google/javascript/jscomp/GenerateRoyaleExports.java
index 566f08a..2ef2f19 100644
--- 
a/compiler-jx/src/main/java/com/google/javascript/jscomp/GenerateRoyaleExports.java
+++ 
b/compiler-jx/src/main/java/com/google/javascript/jscomp/GenerateRoyaleExports.java
@@ -74,6 +74,22 @@ public class GenerateRoyaleExports extends 
AbstractPostOrderCallback {
                                addExtern(n.getString());
                                return;
                        }
+                       case GETPROP: {
+                               String qualifiedName = n.getQualifiedName();
+                               if(!qualifiedName.startsWith("this.$ID_")) {
+                                       return;
+                               }
+                               Node gp = n.getGrandparent();
+                               if(gp == null) {
+                                       return;
+                               }
+                               Node ggp = gp.getParent();
+                               if(ggp == null || !ggp.isFunction()) {
+                                       return;
+                               }
+                               addExtern(n.getOriginalName());
+                               return;
+                       }
                        case ASSIGN: {
                                Node firstChild = n.getFirstChild();
                                if (!firstChild.isQualifiedName()) {

Reply via email to