summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Romanov <alexey.v.romanov@gmail.com>2015-08-20 13:12:02 +0300
committerAlexey Romanov <alexey.v.romanov@gmail.com>2015-09-18 18:38:31 +0300
commit19b95504732dcb4699e403134e2c752dfb045c02 (patch)
tree9892cbe21481f601c2ac3879e68095940e8ca9c4 /src
parentc287df96cf42084828d9528353d5c7ad5c0e4b3a (diff)
downloadscala-19b95504732dcb4699e403134e2c752dfb045c02.tar.gz
scala-19b95504732dcb4699e403134e2c752dfb045c02.tar.bz2
scala-19b95504732dcb4699e403134e2c752dfb045c02.zip
[backport] Include owner in ErrorNonExistentField message
This should be particularly helpful for synthetic field names like `evidence$21`.
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/runtime/JavaMirrors.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/reflect/scala/reflect/runtime/JavaMirrors.scala b/src/reflect/scala/reflect/runtime/JavaMirrors.scala
index d0670f337a..50442519f2 100644
--- a/src/reflect/scala/reflect/runtime/JavaMirrors.scala
+++ b/src/reflect/scala/reflect/runtime/JavaMirrors.scala
@@ -124,9 +124,9 @@ private[scala] trait JavaMirrors extends internal.SymbolTable with api.JavaUnive
private def ErrorArrayConstructor(sym: Symbol, owner: Symbol) = abort(s"Cannot instantiate arrays with mirrors. Consider using `scala.reflect.ClassTag(<class of element>).newArray(<length>)` instead")
private def ErrorFree(member: Symbol, freeType: Symbol) = abort(s"cannot reflect ${member.kindString} ${member.name}, because it's a member of a weak type ${freeType.name}")
private def ErrorNonExistentField(sym: Symbol) = abort(
- sm"""Scala field ${sym.name} isn't represented as a Java field, neither it has a Java accessor method
- |note that private parameters of class constructors don't get mapped onto fields and/or accessors,
- |unless they are used outside of their declaring constructors.""")
+ sm"""Scala field ${sym.name} of ${sym.owner} isn't represented as a Java field, nor does it have a
+ |Java accessor method. One common reason for this is that it may be a private class parameter
+ |not used outside the primary constructor.""")
/** Helper functions for extracting typed values from a (Class[_], Any)
* representing an annotation argument.