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 e6e287850 NamespaceDefinition: fix null exception when calling 
addResolvedUsedNamespace() and getResolvedOpenNamespaces() hasn't been called 
previously
e6e287850 is described below

commit e6e2878506d06421ee37ee553c5516a25ca28464
Author: Josh Tynjala <[email protected]>
AuthorDate: Thu Jul 11 15:34:47 2024 -0700

    NamespaceDefinition: fix null exception when calling 
addResolvedUsedNamespace() and getResolvedOpenNamespaces() hasn't been called 
previously
---
 .../internal/definitions/NamespaceDefinition.java      | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/NamespaceDefinition.java
 
b/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/NamespaceDefinition.java
index bbdef2eb0..bc551aae6 100644
--- 
a/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/NamespaceDefinition.java
+++ 
b/compiler/src/main/java/org/apache/royale/compiler/internal/definitions/NamespaceDefinition.java
@@ -2048,12 +2048,7 @@ public abstract class NamespaceDefinition extends 
DefinitionBase implements INam
             forwardRefPred = pred;
         }
 
-        /**
-         * Gets the current set of resolved open namespaces.
-         * 
-         * @return The current set of resolved open namespaces.
-         */
-        private Set<INamespaceDefinition> getResolvedOpenNamespaces(String 
name)
+        private void initializeResolvedOpenNamespaces()
         {
             if (resolvedOpenNamespaces == null)
             {
@@ -2070,6 +2065,16 @@ public abstract class NamespaceDefinition extends 
DefinitionBase implements INam
                     
((CompilerProject)project).addGlobalUsedNamespacesToNamespaceSet(resolvedOpenNamespaces);
                 }
             }
+        }
+
+        /**
+         * Gets the current set of resolved open namespaces.
+         * 
+         * @return The current set of resolved open namespaces.
+         */
+        private Set<INamespaceDefinition> getResolvedOpenNamespaces(String 
name)
+        {
+            initializeResolvedOpenNamespaces();
 
             if (scope != null)
             {
@@ -2210,6 +2215,7 @@ public abstract class NamespaceDefinition extends 
DefinitionBase implements INam
          */
         public void addResolvedUsedNamespace(NamespaceDefinition ns)
         {
+            initializeResolvedOpenNamespaces();
             resolvedOpenNamespaces.add(ns);
         }
 

Reply via email to