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 90277ffe7df1d83f9fa8f5ed3b8992d923b587d1
Author: Josh Tynjala <[email protected]>
AuthorDate: Wed Mar 5 13:50:08 2025 -0800

    JSRoyaleEmitterTokens: keep LANGUAGE_QNAME token separate from names of 
methods on that class
    
    This will allow us to manipulate/format LANGUAGE_QNAME more easily, such as 
if we ever support a different module system
    
    Plus, we already had function names without the class qname prepended in 
other tokens, so it's better to be consistent
---
 .../royale/compiler/internal/codegen/js/JSEmitter.java   | 12 ++++++++++--
 .../compiler/internal/codegen/js/jx/AsIsEmitter.java     | 10 +++++++---
 .../internal/codegen/js/jx/DynamicAccessEmitter.java     |  2 ++
 .../internal/codegen/js/jx/FunctionCallEmitter.java      |  4 ++++
 .../internal/codegen/js/jx/IdentifierEmitter.java        |  2 ++
 .../internal/codegen/js/jx/UnaryOperatorEmitter.java     |  4 +++-
 .../internal/codegen/js/royale/JSRoyaleEmitter.java      |  8 +++++++-
 .../codegen/js/royale/JSRoyaleEmitterTokens.java         | 10 +++++-----
 .../codegen/mxml/royale/MXMLRoyaleASDocEmitter.java      | 16 ++++++++++------
 .../internal/codegen/mxml/royale/MXMLRoyaleEmitter.java  | 16 ++++++++++------
 10 files changed, 60 insertions(+), 24 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSEmitter.java
index b534c2783..a991d6af0 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSEmitter.java
@@ -742,6 +742,8 @@ public class JSEmitter extends ASEmitter implements 
IJSEmitter
                 endMapping(assignedNode);
             } else {
                 startMapping(assignedNode);
+                write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+                write(ASEmitterTokens.MEMBER_ACCESS);
                 write(JSRoyaleEmitterTokens.SYNTH_VECTOR);
                 write(ASEmitterTokens.PAREN_OPEN);
                 write(ASEmitterTokens.SINGLE_QUOTE);
@@ -762,6 +764,8 @@ public class JSEmitter extends ASEmitter implements 
IJSEmitter
                 && project instanceof RoyaleJSProject
                 && 
((RoyaleJSProject)project).config.getJsVectorEmulationClass() == null   ){
             startMapping(assignedNode);
+            write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+            write(ASEmitterTokens.MEMBER_ACCESS);
             write(JSRoyaleEmitterTokens.SYNTH_VECTOR);
             write(ASEmitterTokens.PAREN_OPEN);
             //null to signify not a valid constructor
@@ -895,10 +899,14 @@ public class JSEmitter extends ASEmitter implements 
IJSEmitter
                     String synthCall;
                     String synthethicType;
                     if (NativeUtils.isVector(coercionTypeString)) {
-                        synthCall = 
JSRoyaleEmitterTokens.SYNTH_VECTOR.getToken();
+                        synthCall = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                                + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                                + 
JSRoyaleEmitterTokens.SYNTH_VECTOR.getToken();
                         synthethicType = 
formatQualifiedName(coercionTypeString.substring(8, coercionTypeString.length() 
-1));
                     } else {
-                        synthCall = 
JSRoyaleEmitterTokens.SYNTH_TYPE.getToken();
+                        synthCall = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                                + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                                + JSRoyaleEmitterTokens.SYNTH_TYPE.getToken();
                         synthethicType = coercionTypeString;
                     }
                     coercionTypeString = synthCall
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AsIsEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AsIsEmitter.java
index 9ddea56c7..d32ef6e87 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AsIsEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AsIsEmitter.java
@@ -185,14 +185,18 @@ public class AsIsEmitter extends JSSubEmitter
         {
             startMapping(right);
             if (NativeUtils.isSyntheticJSType(dnode.getQualifiedName())) {
-                JSRoyaleEmitterTokens langMethod;
+                String langMethod;
                 String synthName;
                 if (NativeUtils.isVector(dnode.getQualifiedName()) && dnode 
instanceof IAppliedVectorDefinition) {
-                    langMethod = JSRoyaleEmitterTokens.SYNTH_VECTOR;
+                    langMethod = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                            + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                            + JSRoyaleEmitterTokens.SYNTH_VECTOR.getToken();
                     synthName = 
getEmitter().formatQualifiedName(((IAppliedVectorDefinition) 
dnode).resolveElementType(project).getQualifiedName());
                 } else {
                     //non-vector, e.g. int/uint
-                    langMethod = JSRoyaleEmitterTokens.SYNTH_TYPE;
+                    langMethod = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                            + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                            + JSRoyaleEmitterTokens.SYNTH_TYPE.getToken();
                     synthName = 
getEmitter().formatQualifiedName(dnode.getQualifiedName());
                 }
                 write(langMethod);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/DynamicAccessEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/DynamicAccessEmitter.java
index 47ddcee57..9ae75e366 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/DynamicAccessEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/DynamicAccessEmitter.java
@@ -125,6 +125,8 @@ public class DynamicAccessEmitter extends JSSubEmitter 
implements
                                                        ((RoyaleJSProject) 
getProject()).needLanguage = true;
                                                        
getWalker().walk(leftOperandNode);
                                                        
write(ASEmitterTokens.SQUARE_OPEN);
+                                                       
write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+                                                       
write(ASEmitterTokens.MEMBER_ACCESS);
                                                        
write(JSRoyaleEmitterTokens.VECTOR_INDEX_CHECK_METHOD_NAME);
                                                        
write(ASEmitterTokens.SQUARE_CLOSE);
                                                        
write(ASEmitterTokens.PAREN_OPEN);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
index 75e478d83..3d1c87f98 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
@@ -154,6 +154,8 @@ public class FunctionCallEmitter extends JSSubEmitter 
implements ISubEmitter<IFu
                     } else {
                         //no 'new' output in this case, just coercion, so map 
from the start of 'new'
                         startMapping(node);
+                        write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+                        write(ASEmitterTokens.MEMBER_ACCESS);
                         write(JSRoyaleEmitterTokens.SYNTH_VECTOR);
                         write(ASEmitterTokens.PAREN_OPEN);
                         write(ASEmitterTokens.SINGLE_QUOTE);
@@ -610,6 +612,8 @@ public class FunctionCallEmitter extends JSSubEmitter 
implements ISubEmitter<IFu
                             } else {
                                //default Vector implementation
                                 startMapping(node.getNameNode());
+                                write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+                                write(ASEmitterTokens.MEMBER_ACCESS);
                                 write(JSRoyaleEmitterTokens.SYNTH_VECTOR);
                                 write(ASEmitterTokens.PAREN_OPEN);
                                 write(ASEmitterTokens.SINGLE_QUOTE);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
index 83a3ea1f0..83c70dad8 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
@@ -300,6 +300,8 @@ public class IdentifierEmitter extends JSSubEmitter 
implements
                             ((RoyaleJSProject)project).needLanguage = true;
                         }
                         getEmitter().getModel().needLanguage = true;
+                        write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+                        write(ASEmitterTokens.MEMBER_ACCESS);
                         write(JSRoyaleEmitterTokens.SYNTH_TYPE);
                         write(ASEmitterTokens.PAREN_OPEN);
                         write(ASEmitterTokens.SINGLE_QUOTE);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
index 6f9a990e5..5aedb00c3 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
@@ -64,7 +64,9 @@ public class UnaryOperatorEmitter extends JSSubEmitter 
implements
                 ((RoyaleJSProject)getProject()).needLanguage = true;
             }
             getModel().needLanguage = true;
-            String synthTagName = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken() + 
ASEmitterTokens.MEMBER_ACCESS.getToken() + 
JSRoyaleEmitterTokens.ROYALE_SYNTH_TAG_FIELD_NAME.getToken();
+            String synthTagName = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                    + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                    + 
JSRoyaleEmitterTokens.ROYALE_SYNTH_TAG_FIELD_NAME.getToken();
             LiteralNode synthType = new 
LiteralNode(ILiteralNode.LiteralType.STRING, synthTagName);
             synthType.setSynthetic(true);
             DynamicAccessNode patchedVectorReference = new 
DynamicAccessNode(((ExpressionNodeBase)((MemberAccessExpressionNode) 
node.getOperandNode()).getLeftOperandNode()));
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
index f93859e48..b62ca6773 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
@@ -958,7 +958,9 @@ public class JSRoyaleEmitter extends JSEmitter implements 
IJSRoyaleEmitter
                 || name.equals(IASLanguageConstants.uint))
             result = IASLanguageConstants.Number;
         else if (name.equals(IASLanguageConstants.Vector) || 
name.equals("__AS3__.vec.Vector")) {
-            result = JSRoyaleEmitterTokens.VECTOR.getToken();
+            result = JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                    + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                    + JSRoyaleEmitterTokens.VECTOR.getToken();
         }
         
         return result;
@@ -1465,6 +1467,8 @@ public class JSRoyaleEmitter extends JSEmitter implements 
IJSRoyaleEmitter
         if (project instanceof RoyaleJSProject)
                ((RoyaleJSProject)project).needLanguage = true;
         getModel().needLanguage = true;
+        write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+        write(ASEmitterTokens.MEMBER_ACCESS);
         write(JSRoyaleEmitterTokens.CLOSURE_FUNCTION_NAME);
         write(ASEmitterTokens.PAREN_OPEN);
     }
@@ -1877,6 +1881,8 @@ public class JSRoyaleEmitter extends JSEmitter implements 
IJSRoyaleEmitter
         if (node instanceof TypedExpressionNode) {
             startMapping(node);
             write(ASEmitterTokens.PAREN_OPEN);
+            write(JSRoyaleEmitterTokens.LANGUAGE_QNAME);
+            write(ASEmitterTokens.MEMBER_ACCESS);
             write(JSRoyaleEmitterTokens.SYNTH_VECTOR);
             write(ASEmitterTokens.PAREN_OPEN);
             write(ASEmitterTokens.SINGLE_QUOTE);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java
index 51ae49a98..8f7e4b2b6 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java
@@ -67,15 +67,15 @@ public enum JSRoyaleEmitterTokens implements IEmitterTokens
     GETTER_PREFIX("get__"),
     SETTER_PREFIX("set__"),
     BINDABLE_PREFIX("bindable__"),
-    CLOSURE_FUNCTION_NAME(LANGUAGE_QNAME.getToken() +".closure"),
+    CLOSURE_FUNCTION_NAME("closure"),
     SKIP_AS_COERCIONS("skipAsCoercions"),
     SKIP_FUNCTION_COERCIONS("skipFunctionCoercions"),
     JSX("JSX"),
     JS_UNSAFE_INLINE_FUNCTION_NAME("jsUnsafeNativeInline"),
-    VECTOR(LANGUAGE_QNAME.getToken() + ".Vector"),
-    SYNTH_TYPE(LANGUAGE_QNAME.getToken() + ".synthType"),
-    SYNTH_VECTOR(LANGUAGE_QNAME.getToken() + ".synthVector"),
-    VECTOR_INDEX_CHECK_METHOD_NAME(LANGUAGE_QNAME.getToken() + ".CHECK_INDEX"),
+    VECTOR("Vector"),
+    SYNTH_TYPE("synthType"),
+    SYNTH_VECTOR("synthVector"),
+    VECTOR_INDEX_CHECK_METHOD_NAME("CHECK_INDEX"),
     ;
 
     private String token;
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleASDocEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleASDocEmitter.java
index 14d6008b0..c98b16b0b 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleASDocEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleASDocEmitter.java
@@ -679,12 +679,16 @@ public class MXMLRoyaleASDocEmitter extends MXMLEmitter 
implements
         handler.isProperty = true;
         handler.name = "handlerFunction";
         handler.parent = setEvent;
-        handler.value = JSRoyaleEmitterTokens.CLOSURE_FUNCTION_NAME.getToken() 
+ ASEmitterTokens.PAREN_OPEN.getToken() + 
-                       ASEmitterTokens.THIS.getToken() + 
ASEmitterTokens.MEMBER_ACCESS.getToken() + eventHandler +
-                       ASEmitterTokens.COMMA.getToken() + 
ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.THIS.getToken() +
-                       ASEmitterTokens.COMMA.getToken() + 
ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.SINGLE_QUOTE.getToken() +
-                               eventHandler + 
ASEmitterTokens.SINGLE_QUOTE.getToken() +
-                       ASEmitterTokens.PAREN_CLOSE.getToken();
+        handler.value = JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                + JSRoyaleEmitterTokens.CLOSURE_FUNCTION_NAME.getToken()
+                + ASEmitterTokens.PAREN_OPEN.getToken()
+                + ASEmitterTokens.THIS.getToken()
+                + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                + eventHandler + ASEmitterTokens.COMMA.getToken() + 
ASEmitterTokens.SPACE.getToken()
+                + ASEmitterTokens.THIS.getToken() + 
ASEmitterTokens.COMMA.getToken() + ASEmitterTokens.SPACE.getToken()
+                + ASEmitterTokens.SINGLE_QUOTE.getToken() + eventHandler + 
ASEmitterTokens.SINGLE_QUOTE.getToken()
+                + ASEmitterTokens.PAREN_CLOSE.getToken();
         setEvent.propertySpecifiers.add(handler);
         
         inStatesOverride = false;
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
index f97e80f45..df98f5cb6 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
@@ -2822,12 +2822,16 @@ public class MXMLRoyaleEmitter extends MXMLEmitter 
implements
         handler.isProperty = true;
         handler.name = "handlerFunction";
         handler.parent = setEvent;
-        handler.value = JSRoyaleEmitterTokens.CLOSURE_FUNCTION_NAME.getToken() 
+ ASEmitterTokens.PAREN_OPEN.getToken() +
-                       ASEmitterTokens.THIS.getToken() + 
ASEmitterTokens.MEMBER_ACCESS.getToken() + eventHandler +
-                       ASEmitterTokens.COMMA.getToken() + 
ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.THIS.getToken() +
-                       ASEmitterTokens.COMMA.getToken() + 
ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.SINGLE_QUOTE.getToken() +
-                               eventHandler + 
ASEmitterTokens.SINGLE_QUOTE.getToken() +
-                       ASEmitterTokens.PAREN_CLOSE.getToken();
+        handler.value = JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()
+                + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                + JSRoyaleEmitterTokens.CLOSURE_FUNCTION_NAME.getToken()
+                + ASEmitterTokens.PAREN_OPEN.getToken()
+                       + ASEmitterTokens.THIS.getToken()
+                + ASEmitterTokens.MEMBER_ACCESS.getToken()
+                + eventHandler + ASEmitterTokens.COMMA.getToken() + 
ASEmitterTokens.SPACE.getToken()
+                + ASEmitterTokens.THIS.getToken() + 
ASEmitterTokens.COMMA.getToken() + ASEmitterTokens.SPACE.getToken()
+                + ASEmitterTokens.SINGLE_QUOTE.getToken() + eventHandler + 
ASEmitterTokens.SINGLE_QUOTE.getToken()
+                + ASEmitterTokens.PAREN_CLOSE.getToken();
         setEvent.propertySpecifiers.add(handler);
 
         JSRoyaleEmitter fjs = (JSRoyaleEmitter) ((IMXMLBlockWalker) 
getMXMLWalker())

Reply via email to