diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-02-01 00:46:07 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-15 09:23:51 +0100 |
commit | fa8f4022754356859f3af1c4ffbac02ab3dc3e7c (patch) | |
tree | 967f7ba7625c63c7d87b0ef659afb8516c589def /test/files/run/reflection-valueclasses-magic.scala | |
parent | 462d0b8b1c9de95baad773856a7e1f658ebd0956 (diff) | |
download | scala-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.scala | 10 |
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: _*)) }) } |