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 5ef5638c54af643819c2a56d546f09bb3e0af371
Author: Josh Tynjala <[email protected]>
AuthorDate: Tue Jan 20 13:23:09 2026 -0800

    AsIsEmitter: fix (x as *) emitting Language.as(x, *) in JS, where * doesn't 
exist
---
 .../royale/compiler/internal/codegen/js/jx/AsIsEmitter.java       | 7 +++++++
 .../internal/codegen/js/royale/TestRoyaleExpressions.java         | 8 ++++++++
 2 files changed, 15 insertions(+)

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 cf35c48d5..1b7c62669 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
@@ -57,6 +57,13 @@ public class AsIsEmitter extends JSSubEmitter
         //IDefinition dnode = project != null ? (right).resolve(project) : 
null;
         IDefinition dnode = getProject() != null ? (right)
                 .resolve(getProject()) : null;
+        if (id == ASTNodeID.Op_AsID && dnode != null && 
IASLanguageConstants.ANY_TYPE.equals(dnode.getQualifiedName()))
+        {
+            write("/** @type {*} */ (");
+            getWalker().walk(left);
+            write(")");
+            return;
+        }
         if (id != ASTNodeID.Op_IsID && dnode != null)
         {
             boolean emit = coercion ?
diff --git 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
index 13c7a7b1f..8e7ebac11 100644
--- 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
+++ 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
@@ -1580,6 +1580,14 @@ public class TestRoyaleExpressions extends 
TestExpressions
         assertOut("org.apache.royale.utils.Language.as(a, 
org.apache.royale.utils.Language.synthType('uint'))");
     }
 
+    @Test
+    public void testVisitAsAny()
+    {
+        IBinaryOperatorNode node = getBinaryNode("a as *");
+        asBlockWalker.visitBinaryOperator(node);
+        assertOut("/** @type {*} */ (a)");
+    }
+
     @Test
     public void testVisitAsMemberVariable()
     {

Reply via email to