diff options
author | Paul Phillips <paulp@improving.org> | 2011-03-25 21:21:27 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-03-25 21:21:27 +0000 |
commit | 22d1ae7fa498df9ca80a686ca28ce5f816b6f945 (patch) | |
tree | 2a2ab5914d9c8a229bb814e0615b2878d0a0ac1f /src | |
parent | 5083559781208d1b8805ab8f5cb773a225436526 (diff) | |
download | scala-22d1ae7fa498df9ca80a686ca28ce5f816b6f945.tar.gz scala-22d1ae7fa498df9ca80a686ca28ce5f816b6f945.tar.bz2 scala-22d1ae7fa498df9ca80a686ca28ce5f816b6f945.zip |
Fixed the "poor resilience to error conditions"...
Fixed the "poor resilience to error conditions" crasher mentioned in
#3625, no review.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Definitions.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala index 118d650586..8166b36c31 100644 --- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala +++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala @@ -741,7 +741,8 @@ trait Definitions extends reflect.generic.StandardDefinitions { case _ => tp } def flatNameString(sym: Symbol, separator: Char): String = - if (sym.owner.isPackageClass) sym.fullName('.') + (if (sym.isModuleClass) "$" else "") + if (sym == NoSymbol) "" // be more resistant to error conditions, e.g. neg/t3222.scala + else if (sym.owner.isPackageClass) sym.fullName('.') + (if (sym.isModuleClass) "$" else "") else flatNameString(sym.owner, separator) + "$" + sym.simpleName; def signature1(etp: Type): String = { if (etp.typeSymbol == ArrayClass) "[" + signature1(erasure(etp.normalize.typeArgs.head)) |