summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/api/Types.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 /src/reflect/scala/reflect/api/Types.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 'src/reflect/scala/reflect/api/Types.scala')
-rw-r--r--src/reflect/scala/reflect/api/Types.scala26
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