summaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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() = {