summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-15 12:49:20 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-15 12:51:17 +0100
commit9b8bcf9d19b44610c0a1c676947b445a4da42368 (patch)
treeb4aa9417570709bd05b848086a9b5ca94aefb581 /src/reflect/scala/reflect
parent2fb6a1e240f7892e73979150fb323cd03de637e0 (diff)
downloadscala-9b8bcf9d19b44610c0a1c676947b445a4da42368.tar.gz
scala-9b8bcf9d19b44610c0a1c676947b445a4da42368.tar.bz2
scala-9b8bcf9d19b44610c0a1c676947b445a4da42368.zip
some extension methods that I forgot to expose
Thanks, sbt. Once I'm done with sbt, I'll write up tests that ensure that I haven't forgotten anything.
Diffstat (limited to 'src/reflect/scala/reflect')
-rw-r--r--src/reflect/scala/reflect/api/Internals.scala32
-rw-r--r--src/reflect/scala/reflect/internal/Internals.scala2
-rw-r--r--src/reflect/scala/reflect/macros/Universe.scala12
3 files changed, 46 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/api/Internals.scala b/src/reflect/scala/reflect/api/Internals.scala
index c2f7f411b9..be704c1d1b 100644
--- a/src/reflect/scala/reflect/api/Internals.scala
+++ b/src/reflect/scala/reflect/api/Internals.scala
@@ -1103,5 +1103,37 @@ trait Internals { self: Universe =>
@deprecated("Use `internal.deSkolemize` instead", "2.11.0")
def deSkolemize: Symbol = internal.deSkolemize(symbol)
}
+
+ /** @see [[InternalApi.singleType]] */
+ @deprecated("Use `internal.singleType` instead", "2.11.0")
+ def singleType(pre: Type, sym: Symbol): Type = internal.singleType(pre, sym)
+
+ /** @see [[InternalApi.refinedType]] */
+ @deprecated("Use `internal.refinedType` instead", "2.11.0")
+ def refinedType(parents: List[Type], owner: Symbol, decls: Scope, pos: Position): Type = internal.refinedType(parents, owner, decls, pos)
+
+ /** @see [[InternalApi.refinedType]] */
+ @deprecated("Use `internal.refinedType` instead", "2.11.0")
+ def refinedType(parents: List[Type], owner: Symbol): Type = internal.refinedType(parents, owner)
+
+ /** @see [[InternalApi.typeRef]] */
+ @deprecated("Use `internal.typeRef` instead", "2.11.0")
+ def typeRef(pre: Type, sym: Symbol, args: List[Type]): Type = internal.typeRef(pre, sym, args)
+
+ /** @see [[InternalApi.intersectionType]] */
+ @deprecated("Use `internal.intersectionType` instead", "2.11.0")
+ def intersectionType(tps: List[Type]): Type = internal.intersectionType(tps)
+
+ /** @see [[InternalApi.intersectionType]] */
+ @deprecated("Use `internal.intersectionType` instead", "2.11.0")
+ def intersectionType(tps: List[Type], owner: Symbol): Type = internal.intersectionType(tps, owner)
+
+ /** @see [[InternalApi.polyType]] */
+ @deprecated("Use `internal.polyType` instead", "2.11.0")
+ def polyType(tparams: List[Symbol], tpe: Type): Type = internal.polyType(tparams, tpe)
+
+ /** @see [[InternalApi.existentialAbstraction]] */
+ @deprecated("Use `internal.existentialAbstraction` instead", "2.11.0")
+ def existentialAbstraction(tparams: List[Symbol], tpe0: Type): Type = internal.existentialAbstraction(tparams, tpe0)
}
}
diff --git a/src/reflect/scala/reflect/internal/Internals.scala b/src/reflect/scala/reflect/internal/Internals.scala
index deda273cfd..e8bf842e6e 100644
--- a/src/reflect/scala/reflect/internal/Internals.scala
+++ b/src/reflect/scala/reflect/internal/Internals.scala
@@ -136,6 +136,8 @@ trait Internals extends api.Internals {
override implicit def scopeDecorator[T <: Scope](scope: T): ScopeDecorator[T] = new MacroScopeDecoratorApi[T](scope)
override type TreeDecorator[T <: Tree] = MacroTreeDecoratorApi[T]
override implicit def treeDecorator[T <: Tree](tree: T): TreeDecorator[T] = new MacroTreeDecoratorApi[T](tree)
+ override type TypeTreeDecorator[T <: TypeTree] = MacroTypeTreeDecoratorApi[T]
+ override implicit def typeTreeDecorator[T <: TypeTree](tt: T): TypeTreeDecorator[T] = new MacroTypeTreeDecoratorApi[T](tt)
override type SymbolDecorator[T <: Symbol] = MacroSymbolDecoratorApi[T]
override implicit def symbolDecorator[T <: Symbol](symbol: T): SymbolDecorator[T] = new MacroSymbolDecoratorApi[T](symbol)
override type TypeDecorator[T <: Type] = TypeDecoratorApi[T]
diff --git a/src/reflect/scala/reflect/macros/Universe.scala b/src/reflect/scala/reflect/macros/Universe.scala
index d368cc6c96..6861a80c47 100644
--- a/src/reflect/scala/reflect/macros/Universe.scala
+++ b/src/reflect/scala/reflect/macros/Universe.scala
@@ -205,6 +205,18 @@ abstract class Universe extends scala.reflect.api.Universe {
def setSymbol(sym: Symbol): T = internal.setSymbol(tree, sym)
}
+ /** Extension methods for typetrees */
+ type TypeTreeDecorator[T <: TypeTree] <: MacroTypeTreeDecoratorApi[T]
+
+ /** @see [[TypeTreeDecorator]] */
+ implicit def typeTreeDecorator[T <: TypeTree](tt: T): TypeTreeDecorator[T]
+
+ /** @see [[TypeTreeDecorator]] */
+ class MacroTypeTreeDecoratorApi[T <: TypeTree](val tt: T) {
+ /** @see [[internal.setOriginal]] */
+ def setOriginal(tree: Tree): TypeTree = internal.setOriginal(tt, tree)
+ }
+
/** @inheritdoc */
override type SymbolDecorator[T <: Symbol] <: MacroSymbolDecoratorApi[T]