You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/05/20 18:42:09 UTC

[royale-compiler] branch release_practice updated: handle conditionalcompilation units

This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch release_practice
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/release_practice by this push:
     new 91752d1  handle conditionalcompilation units
91752d1 is described below

commit 91752d11dcdf3fbb33b288f4710a8600704b31cd
Author: Alex Harui <ah...@apache.org>
AuthorDate: Mon May 20 11:41:54 2019 -0700

    handle conditionalcompilation units
---
 .../royale/compiler/internal/units/CompilationUnitBase.java   | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java b/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java
index 01ca6ac..f9ac6b9 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java
@@ -1008,16 +1008,19 @@ public abstract class CompilationUnitBase implements ICompilationUnit
     {
         String absoluteFileName = getAbsoluteFilename();
         final String filename = FilenameUtils.getName(absoluteFileName).replace('.', '_');
+        if (definitionPromises.isEmpty())
+        {
+        	// conditional compilation units may not have definitionpromises
+            String encodedName = StringEncoder.stringToHashCodeString(absoluteFileName);
+            encodedName +=  ":" + filename;
+            return encodedName;
+        }
         // we used to use the absolute path, but it would be different
         // on different machines and we want builds to be binary reproducible.
         // So we will use the first definition's QName as that should be unique
         IDefinition def0 = getDefinitionPromises().get(0);
         final String encodedQName = StringEncoder.stringToHashCodeString(def0.getQualifiedName());
         String encodedName = encodedQName + ":" + filename;
-        if (definitionPromises.isEmpty())
-        {
-            return encodedName;
-        }
 
         try
         {