compiler.jx: when externc encounters a file with a duplicate name (such as 
buffer and Buffer, with different cases), puts the duplicate into a different 
directory


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/2a001751
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/2a001751
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/2a001751

Branch: refs/heads/develop
Commit: 2a00175191bffa10f5e9a1b783585e4e57851213
Parents: 0c73140
Author: Josh Tynjala <[email protected]>
Authored: Wed Apr 20 10:19:26 2016 -0700
Committer: Josh Tynjala <[email protected]>
Committed: Wed Apr 20 10:19:26 2016 -0700

----------------------------------------------------------------------
 .../compiler/clients/ExternCConfiguration.java  |  7 +++++++
 .../externals/emit/ReferenceEmitter.java        | 20 ++++++++++++++++++++
 2 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2a001751/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
----------------------------------------------------------------------
diff --git 
a/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java 
b/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
index 7eea457..c15786a 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
@@ -51,6 +51,7 @@ public class ExternCConfiguration extends Configuration
     private File asFunctionRoot;
     private File asConstantRoot;
     private File asTypeDefRoot;
+    private File asDuplicatesRoot;
 
     private List<ExternalFile> externals = new ArrayList<ExternalFile>();
     private List<ExternalFile> externalExterns = new ArrayList<ExternalFile>();
@@ -85,6 +86,7 @@ public class ExternCConfiguration extends Configuration
         asFunctionRoot = new File(asRoot, "functions");
         asConstantRoot = new File(asRoot, "constants");
         asTypeDefRoot = new File(asRoot, "typedefs");
+        asDuplicatesRoot = new File(asRoot, "duplicates");
     }
 
     public File getAsClassRoot()
@@ -112,6 +114,11 @@ public class ExternCConfiguration extends Configuration
         return asTypeDefRoot;
     }
 
+    public File getAsDuplicatesRoot()
+    {
+        return asDuplicatesRoot;
+    }
+
     public Collection<ExternalFile> getExternals()
     {
         return externals;

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2a001751/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
 
b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
index 957d352..c7d3c45 100644
--- 
a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
+++ 
b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
@@ -68,6 +68,10 @@ public class ReferenceEmitter
             emit(reference, sb);
 
             File sourceFile = 
reference.getFile(model.getConfiguration().getAsInterfaceRoot());
+            if(sourceFile.exists())
+            {
+                sourceFile = 
reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+            }
             FileUtils.write(sourceFile, sb.toString());
 
             sb.setLength(0);
@@ -91,6 +95,10 @@ public class ReferenceEmitter
             emit(reference, sb);
 
             File sourceFile = 
reference.getFile(model.getConfiguration().getAsClassRoot());
+            if(sourceFile.exists())
+            {
+                sourceFile = 
reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+            }
             FileUtils.write(sourceFile, sb.toString());
 
             sb.setLength(0);
@@ -112,6 +120,10 @@ public class ReferenceEmitter
             emit(reference, sb);
 
             File sourceFile = 
reference.getFile(model.getConfiguration().getAsTypeDefRoot());
+            if(sourceFile.exists())
+            {
+                sourceFile = 
reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+            }
             FileUtils.write(sourceFile, sb.toString());
 
             sb.setLength(0);
@@ -129,6 +141,10 @@ public class ReferenceEmitter
             emit(reference, sb);
 
             File sourceFile = 
reference.getFile(model.getConfiguration().getAsFunctionRoot());
+            if(sourceFile.exists())
+            {
+                sourceFile = 
reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+            }
             FileUtils.write(sourceFile, sb.toString());
 
             sb.setLength(0);
@@ -146,6 +162,10 @@ public class ReferenceEmitter
             emit(reference, sb);
 
             File sourceFile = 
reference.getFile(model.getConfiguration().getAsConstantRoot());
+            if(sourceFile.exists())
+            {
+                sourceFile = 
reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+            }
             FileUtils.write(sourceFile, sb.toString());
 
             sb.setLength(0);

Reply via email to