From 22d1ae7fa498df9ca80a686ca28ce5f816b6f945 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Fri, 25 Mar 2011 21:21:27 +0000 Subject: Fixed the "poor resilience to error conditions"... Fixed the "poor resilience to error conditions" crasher mentioned in #3625, no review. --- src/compiler/scala/tools/nsc/symtab/Definitions.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') 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)) -- cgit v1.2.3