summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2010-07-30 11:51:25 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2010-07-30 11:51:25 +0000
commitf9fe76375d36cc5355e0e4157ee67d93f8410a0d (patch)
treea79814647974c5b68ab6a84a8a3238e621eca754
parent89925960047a8cd62e65647dab6832e28af6bf3b (diff)
downloadscala-f9fe76375d36cc5355e0e4157ee67d93f8410a0d.tar.gz
scala-f9fe76375d36cc5355e0e4157ee67d93f8410a0d.tar.bz2
scala-f9fe76375d36cc5355e0e4157ee67d93f8410a0d.zip
Fixes an issue in RefChecks when the compiler d...
Fixes an issue in RefChecks when the compiler does not have an erasure phase (such as in Scaladoc), which became visible after r22644. Review by odersky.
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index ca642d3931..03da1a4f09 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -428,8 +428,10 @@ abstract class RefChecks extends InfoTransform {
})
def ignoreDeferred(member: Symbol) =
- isAbstractTypeWithoutFBound(member) ||
- (member.isJavaDefined && javaErasedOverridingSym(member) != NoSymbol)
+ (currentRun.erasurePhase != NoPhase) && ( // the test requires atPhase(erasurePhase.next) so shouldn't be done if the compiler has no erasure phase available
+ isAbstractTypeWithoutFBound(member) ||
+ (member.isJavaDefined && javaErasedOverridingSym(member) != NoSymbol)
+ )
// 2. Check that only abstract classes have deferred members
def checkNoAbstractMembers() = {