summaryrefslogtreecommitdiff
path: root/test/files/run/reflection-valueclasses-magic.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-01 00:46:07 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-15 09:23:51 +0100
commitfa8f4022754356859f3af1c4ffbac02ab3dc3e7c (patch)
tree967f7ba7625c63c7d87b0ef659afb8516c589def /test/files/run/reflection-valueclasses-magic.scala
parent462d0b8b1c9de95baad773856a7e1f658ebd0956 (diff)
downloadscala-fa8f4022754356859f3af1c4ffbac02ab3dc3e7c.tar.gz
scala-fa8f4022754356859f3af1c4ffbac02ab3dc3e7c.tar.bz2
scala-fa8f4022754356859f3af1c4ffbac02ab3dc3e7c.zip
some renamings
It’s almost 1am, so I’m only scratching the surface, mechanistically applying the renames that I’ve written down in my notebook: * typeSignature => info * declarations => decls * nme/tpnme => termNames/typeNames * paramss => paramLists * allOverriddenSymbols => overrides Some explanation is in order so that I don’t get crucified :) 1) No information loss happens when abbreviating `typeSignature` and `declarations`. We already have contractions in a number of our public APIs (e.g. `typeParams`), and I think it’s fine to shorten words as long as people can understand the shortened versions without a background in scalac. 2) I agree with Simon that `nme` and `tpnme` are cryptic. I think it would be thoughtful of us to provide newcomers with better names. To offset the increase in mouthfulness, I’ve moved `MethodSymbol.isConstructor` to `Symbol.isConstructor`, which covers the most popular use case for nme’s. 3) I also agree that putting `paramss` is a lot to ask of our users. The double-“s” convention is very neat, but let’s admit that it’s just weird for the newcomers. I think `paramLists` is a good compromise here. 4) `allOverriddenSymbols` is my personal complaint. I think it’s a mouthful and a shorter name would be a much better fit for the public API.
Diffstat (limited to 'test/files/run/reflection-valueclasses-magic.scala')
-rw-r--r--test/files/run/reflection-valueclasses-magic.scala10
1 files changed, 5 insertions, 5 deletions
diff --git a/test/files/run/reflection-valueclasses-magic.scala b/test/files/run/reflection-valueclasses-magic.scala
index 33d4634397..366b5fe270 100644
--- a/test/files/run/reflection-valueclasses-magic.scala
+++ b/test/files/run/reflection-valueclasses-magic.scala
@@ -13,9 +13,9 @@ object Test extends App {
def key(sym: Symbol) = {
sym match {
// initialize parameter symbols
- case meth: MethodSymbol => meth.paramss.flatten.map(_.typeSignature)
+ case meth: MethodSymbol => meth.paramLists.flatten.map(_.info)
}
- sym + ": " + sym.typeSignature
+ sym + ": " + sym.info
}
def convert(value: Any, tpe: Type) = {
@@ -44,11 +44,11 @@ object Test extends App {
val realex = scala.ExceptionUtils.unwrapThrowable(ex)
println(realex.getClass + ": " + realex.getMessage)
}
- val meth = tpe.declaration(TermName(method).encodedName.toTermName)
+ val meth = tpe.decl(TermName(method).encodedName.toTermName)
val testees = if (meth.isMethod) List(meth.asMethod) else meth.asTerm.alternatives.map(_.asMethod)
testees foreach (testee => {
- val convertedArgs = args.zipWithIndex.map { case (arg, i) => convert(arg, testee.paramss.flatten.apply(i).typeSignature) }
- print(s"testing ${tpe.typeSymbol.name}.$method(${testee.paramss.flatten.map(_.typeSignature).mkString(','.toString)}) with receiver = $receiver and args = ${convertedArgs.map(arg => arg + ' '.toString + arg.getClass).toList}: ")
+ val convertedArgs = args.zipWithIndex.map { case (arg, i) => convert(arg, testee.paramLists.flatten.apply(i).info) }
+ print(s"testing ${tpe.typeSymbol.name}.$method(${testee.paramLists.flatten.map(_.info).mkString(','.toString)}) with receiver = $receiver and args = ${convertedArgs.map(arg => arg + ' '.toString + arg.getClass).toList}: ")
wrap(cm.reflect(receiver).reflectMethod(testee)(convertedArgs: _*))
})
}