--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Tue Sep 07 15:49:48 2010 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Thu Sep 09 09:42:45 2010 +0530
@@ -872,8 +872,13 @@
//parse all files
ListBuffer<JCCompilationUnit> trees = lb();
- for (JavaFileObject fileObject : fileObjects)
- trees.append(parse(fileObject));
+ Set<JavaFileObject> filesSoFar = new HashSet<JavaFileObject>();
+ for (JavaFileObject fileObject : fileObjects) {
+ if (!filesSoFar.contains(fileObject)) {
+ filesSoFar.add(fileObject);
+ trees.append(parse(fileObject));
+ }
+ }
return trees.toList();
}