diff options
author | Adriaan Moors <adriaan@lightbend.com> | 2016-09-01 10:41:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-01 10:41:28 +0200 |
commit | f90bf565a529d0e95155992a3c243952183f25a5 (patch) | |
tree | 151f8d8d79dba64a96d12b1c4a9c4fa38269dcf8 /src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala | |
parent | 45edf8699f76faa5d1b035fb8f887621bcbb9934 (diff) | |
parent | 743f0d2c2a33bc8ab0c1f7bee796865672ba2fcc (diff) | |
download | scala-f90bf565a529d0e95155992a3c243952183f25a5.tar.gz scala-f90bf565a529d0e95155992a3c243952183f25a5.tar.bz2 scala-f90bf565a529d0e95155992a3c243952183f25a5.zip |
Merge pull request #5294 from adriaanm/fields-lazies
Fields: expand lazy vals during fields, like modules
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala index bee327c760..b66dbf21c0 100644 --- a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala +++ b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala @@ -97,7 +97,7 @@ trait TypeDiagnostics { /** An explanatory note to be added to error messages * when there's a problem with abstract var defs */ def abstractVarMessage(sym: Symbol): String = - if (underlyingSymbol(sym).isVariable) + if (sym.isSetter || sym.isGetter && sym.setterIn(sym.owner).exists) "\n(Note that variables need to be initialized to be defined)" else "" @@ -140,7 +140,7 @@ trait TypeDiagnostics { * TODO: is it wise to create new symbols simply to generate error message? is this safe in interactive/resident mode? */ def underlyingSymbol(member: Symbol): Symbol = - if (!member.hasAccessorFlag || member.owner.isTrait) member + if (!member.hasAccessorFlag || member.accessed == NoSymbol) member else if (!member.isDeferred) member.accessed else { val getter = if (member.isSetter) member.getterIn(member.owner) else member |