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);
