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 /src/reflect/scala/reflect/api/Types.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 'src/reflect/scala/reflect/api/Types.scala')
-rw-r--r-- | src/reflect/scala/reflect/api/Types.scala | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/reflect/scala/reflect/api/Types.scala b/src/reflect/scala/reflect/api/Types.scala index dd63211c32..a0b3e672c5 100644 --- a/src/reflect/scala/reflect/api/Types.scala +++ b/src/reflect/scala/reflect/api/Types.scala @@ -94,11 +94,19 @@ trait Types { */ def typeSymbol: Symbol + /** @see [[decl]] */ + @deprecated("Use `decl` instead", "2.11.0") + def declaration(name: Name): Symbol + /** The defined or declared members with name `name` in this type; * an OverloadedSymbol if several exist, NoSymbol if none exist. * Alternatives of overloaded symbol appear in the order they are declared. */ - def declaration(name: Name): Symbol + def decl(name: Name): Symbol + + /** @see [[decls]] */ + @deprecated("Use `decls` instead", "2.11.0") + def declarations: MemberScope /** A `Scope` containing directly declared members of this type. * Unlike `members` this method doesn't returns inherited members. @@ -106,7 +114,7 @@ trait Types { * Members in the returned scope might appear in arbitrary order. * Use `declarations.sorted` to get an ordered list of members. */ - def declarations: MemberScope + def decls: MemberScope /** The member with given name, either directly declared or inherited, * an OverloadedSymbol if several exist, NoSymbol if none exist. @@ -251,10 +259,14 @@ trait Types { */ def typeArgs: List[Type] + /** @see [[paramLists]] */ + @deprecated("Use `paramLists` instead", "2.11.0") + def paramss: List[List[Symbol]] + /** For a method or poly type, a list of its value parameter sections, * the empty list of lists for all other types. */ - def paramss: List[List[Symbol]] + def paramLists: List[List[Symbol]] /** For a poly type, its type parameters, * the empty list for all other types. @@ -271,7 +283,7 @@ trait Types { * scala> typeOf[C].member(TermName("foo")).asMethod * res0: reflect.runtime.universe.MethodSymbol = method foo * - * scala> res0.typeSignature // PolyType wrapping a MethodType + * scala> res0.info // PolyType wrapping a MethodType * res1: reflect.runtime.universe.Type = [T](x: T)(y: T)scala.Nothing * * scala> res1.resultType // MethodType wrapping a MethodType @@ -299,7 +311,7 @@ trait Types { * scala> typeOf[C].member(TermName("foo")).asMethod * res0: reflect.runtime.universe.MethodSymbol = method foo * - * scala> res0.typeSignature // PolyType wrapping a MethodType + * scala> res0.info // PolyType wrapping a MethodType * res1: reflect.runtime.universe.Type = [T](x: T)(y: T)scala.Nothing * * scala> res1.resultType // MethodType wrapping a MethodType @@ -610,7 +622,7 @@ trait Types { def parents: List[Type] /** The scope that holds the definitions comprising the type. */ - def decls: Scope + def decls: MemberScope } /** The `ClassInfo` type signature is used to define parents and declarations @@ -651,7 +663,7 @@ trait Types { def parents: List[Type] /** The scope that holds the definitions comprising the class type. */ - def decls: Scope + def decls: MemberScope /** The symbol underlying the class type. */ def typeSymbol: Symbol |