diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-07-31 11:33:16 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-08-02 15:50:52 +0200 |
commit | 027b00171c0d92ec669deaa471966e6468c6b8cf (patch) | |
tree | 63808014ea752c49ae39e0b731f0d15bc6edeb28 /src/reflect/scala/reflect/runtime/JavaMirrors.scala | |
parent | b578059b43a4caaadee2cb20f74cd9a7c876c8ef (diff) | |
download | scala-027b00171c0d92ec669deaa471966e6468c6b8cf.tar.gz scala-027b00171c0d92ec669deaa471966e6468c6b8cf.tar.bz2 scala-027b00171c0d92ec669deaa471966e6468c6b8cf.zip |
more refinements of reflection API
Added a bunch of test methods to symbols to cover public flags:
(e.g. isPrivate, isFinal, isOverride, isImplicit, etc). I'd argue that
the API duplication w.r.t flag sets is trumped by unified interface
to tests and better encapsulation.
Also updated the API to be easier to understand after prior exposure
to Java or .NET reflection APIs:
1) Added typeParams to TypeSymbol and ClassSymbol.
2) Renamed MethodSymbol.resultType to returnType.
3) Removed the distinction between MethodSymbol.params vs MethodSymbol.allParams
now we just have MethodSymbol.params: List[List[Symbol]].
Diffstat (limited to 'src/reflect/scala/reflect/runtime/JavaMirrors.scala')
-rw-r--r-- | src/reflect/scala/reflect/runtime/JavaMirrors.scala | 6 |
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 b11eda9b7b..64c47a5502 100644 --- a/src/reflect/scala/reflect/runtime/JavaMirrors.scala +++ b/src/reflect/scala/reflect/runtime/JavaMirrors.scala @@ -216,7 +216,7 @@ trait JavaMirrors extends internal.SymbolTable with api.JavaUniverse { self: Sym def showTparams(tparams: List[Symbol]) = "[" + (tparams map showTparam mkString ", ") + "]" sig += showTparams(symbol.typeParams) } - if (symbol.allParams.nonEmpty) { + if (symbol.params.nonEmpty) { def showParam(param: Symbol) = s"${param.name}: ${param.typeSignature}" def showParams(params: List[Symbol]) = { val s_mods = if (params.nonEmpty && params(0).hasFlag(IMPLICIT)) "implicit " else "" @@ -224,9 +224,9 @@ trait JavaMirrors extends internal.SymbolTable with api.JavaUniverse { self: Sym "(" + s_mods + s_params + ")" } def showParamss(paramss: List[List[Symbol]]) = paramss map showParams mkString "" - sig += showParamss(symbol.allParams) + sig += showParamss(symbol.params) } - sig += s": ${symbol.resultType}" + sig += s": ${symbol.returnType}" sig } |