diff options
author | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-02-03 10:22:27 +0000 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-02-03 10:22:27 +0000 |
commit | 0ae8343fd4822ae8c31325e3a9a03ea1a08ee237 (patch) | |
tree | e2a02c4d79c75e50c5a022d929d51cf653ca7cb0 | |
parent | 9f55ad82d17f9b0d441ffcfd26b5fc8a817b64f8 (diff) | |
download | scala-0ae8343fd4822ae8c31325e3a9a03ea1a08ee237.tar.gz scala-0ae8343fd4822ae8c31325e3a9a03ea1a08ee237.tar.bz2 scala-0ae8343fd4822ae8c31325e3a9a03ea1a08ee237.zip |
Fixes the problem mentioned in #2882, which see...
Fixes the problem mentioned in #2882, which seems to be the reason for #2280 - allow simple ananlysis on java sources. Review by dragos
-rw-r--r-- | src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala | 12 | ||||
-rw-r--r-- | test/files/buildmanager/t2280/A.scala (renamed from test/pending/buildmanager/t2882/A.scala) | 0 | ||||
-rw-r--r-- | test/files/buildmanager/t2280/B.java (renamed from test/pending/buildmanager/t2882/B.java) | 0 | ||||
-rw-r--r-- | test/files/buildmanager/t2280/t2280.check (renamed from test/pending/buildmanager/t2882/t2882.check) | 2 | ||||
-rw-r--r-- | test/files/buildmanager/t2280/t2280.test (renamed from test/pending/buildmanager/t2882/t2882.test) | 0 |
5 files changed, 9 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala b/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala index 008fc73a53..9a57913083 100644 --- a/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala +++ b/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala @@ -115,6 +115,10 @@ trait DependencyAnalysis extends SubComponent with Files { case class Inherited(qualifier: String, member: Name) class AnalysisPhase(prev : Phase) extends StdPhase(prev){ + + override def cancelled(unit: CompilationUnit) = + super.cancelled(unit) && !unit.isJava + def apply(unit : global.CompilationUnit) { val f = unit.source.file.file; // When we're passed strings by the interpreter @@ -185,12 +189,12 @@ trait DependencyAnalysis extends SubComponent with Files { checkType(ddef.symbol.tpe) } super.traverse(tree) - case a @ Select(q, n) if (q.symbol != null) => // #2556 - if (!a.symbol.isConstructor && !a.symbol.owner.isPackageClass) { - if (!isSameType(q.tpe, a.symbol.owner.tpe)) + case a @ Select(q, n) if ((a.symbol != NoSymbol) && (q.symbol != null)) => // #2556 + if (!a.symbol.isConstructor && + !a.symbol.owner.isPackageClass && + !isSameType(q.tpe, a.symbol.owner.tpe)) inherited += file -> (inherited(file) + Inherited(q.symbol.tpe.resultType.safeToString, n)) - } super.traverse(tree) case _ => super.traverse(tree) diff --git a/test/pending/buildmanager/t2882/A.scala b/test/files/buildmanager/t2280/A.scala index 5febadeb06..5febadeb06 100644 --- a/test/pending/buildmanager/t2882/A.scala +++ b/test/files/buildmanager/t2280/A.scala diff --git a/test/pending/buildmanager/t2882/B.java b/test/files/buildmanager/t2280/B.java index aef8e106e9..aef8e106e9 100644 --- a/test/pending/buildmanager/t2882/B.java +++ b/test/files/buildmanager/t2280/B.java diff --git a/test/pending/buildmanager/t2882/t2882.check b/test/files/buildmanager/t2280/t2280.check index 52e5d0e9fc..7ea7511c63 100644 --- a/test/pending/buildmanager/t2882/t2882.check +++ b/test/files/buildmanager/t2280/t2280.check @@ -3,4 +3,4 @@ compiling Set(A.scala, B.java) Changes: Map() builder > B.java compiling Set(B.java) -Changes: Map() +Changes: Map(class B -> List()) diff --git a/test/pending/buildmanager/t2882/t2882.test b/test/files/buildmanager/t2280/t2280.test index 2eda777853..2eda777853 100644 --- a/test/pending/buildmanager/t2882/t2882.test +++ b/test/files/buildmanager/t2280/t2280.test |