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 <[email protected]>
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())
                    {

Reply via email to