You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2021/11/23 22:00:53 UTC

[royale-compiler] branch develop updated: FieldEmitter: fix missing custom namespace special case formatting in emitFieldInitializer()

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


The following commit(s) were added to refs/heads/develop by this push:
     new ad51da8  FieldEmitter: fix missing custom namespace special case formatting in emitFieldInitializer()
ad51da8 is described below

commit ad51da8c3ac4d5b6706509ca664720253f0862a1
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Tue Nov 23 14:00:46 2021 -0800

    FieldEmitter: fix missing custom namespace special case formatting in emitFieldInitializer()
---
 .../royale/compiler/internal/codegen/js/jx/FieldEmitter.java | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FieldEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FieldEmitter.java
index e3e8b21..801e5f5 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FieldEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FieldEmitter.java
@@ -497,6 +497,8 @@ public class FieldEmitter extends JSSubEmitter implements
 
     public boolean emitFieldInitializer(IVariableNode node)
     {
+        JSRoyaleEmitter fjs = (JSRoyaleEmitter) getEmitter();
+
         IDefinition definition = EmitterUtils.getClassDefinition(node);
 
         IDefinition ndef = node.getDefinition();
@@ -517,7 +519,15 @@ public class FieldEmitter extends JSSubEmitter implements
                 writeNewline();
                 write(className);
                 write(ASEmitterTokens.MEMBER_ACCESS.getToken());
-                write(node.getName());
+
+                if (EmitterUtils.isCustomNamespace(node.getNamespace())) {
+	                INamespaceDecorationNode ns = ((VariableNode) node).getNamespaceNode();
+	                INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(getProject());
+	                fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
+	                String s = nsDef.getURI();
+	                write(JSRoyaleEmitter.formatNamespacedProperty(s, node.getName(), false));
+	            }
+	            else write(node.getName());
 	
 	            if (node.getNodeID() == ASTNodeID.BindableVariableID && !node.isConst())
 	            {