summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-11-04 21:09:14 +0000
committerPaul Phillips <paulp@improving.org>2011-11-04 21:09:14 +0000
commit508101158c87446410606100819b977b379a6620 (patch)
treef3a5f6e66ba094599f867522bbc3f05c197ddecd /src/compiler
parentf4991fcffc0cddcd16e7abccbc577581fbf5bd0f (diff)
downloadscala-508101158c87446410606100819b977b379a6620.tar.gz
scala-508101158c87446410606100819b977b379a6620.tar.bz2
scala-508101158c87446410606100819b977b379a6620.zip
More elaborate error message.
No review.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/reflect/internal/pickling/UnPickler.scala11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/compiler/scala/reflect/internal/pickling/UnPickler.scala b/src/compiler/scala/reflect/internal/pickling/UnPickler.scala
index 47677fad91..2280aba54d 100644
--- a/src/compiler/scala/reflect/internal/pickling/UnPickler.scala
+++ b/src/compiler/scala/reflect/internal/pickling/UnPickler.scala
@@ -819,10 +819,15 @@ abstract class UnPickler /*extends reflect.generic.UnPickler*/ {
protected def errorMissingRequirement(name: Name, owner: Symbol): Symbol =
missingHook(owner, name) orElse {
+ val what = if (name.isTypeName) "type" else "value"
MissingRequirementError.notFound(
- "reference " + (if (name.isTypeName) "type " else "value ") +
- name.decode + " of " + owner.tpe.widen + "/" +owner.tpe.typeSymbol.ownerChain + "/" + owner.info.members)
- }
+ "while unpickling %s, reference %s %s of %s/%s/%s".format(
+ filename,
+ what, name.decode, owner.tpe.widen,
+ owner.tpe.typeSymbol.ownerChain,
+ owner.info.members.mkString("\n ", "\n ", ""))
+ )
+ }
def inferMethodAlternative(fun: Tree, argtpes: List[Type], restpe: Type) {} // can't do it; need a compiler for that.