diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-02-15 12:49:20 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-15 12:51:17 +0100 |
commit | 9b8bcf9d19b44610c0a1c676947b445a4da42368 (patch) | |
tree | b4aa9417570709bd05b848086a9b5ca94aefb581 /src/reflect/scala | |
parent | 2fb6a1e240f7892e73979150fb323cd03de637e0 (diff) | |
download | scala-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')
-rw-r--r-- | src/reflect/scala/reflect/api/Internals.scala | 32 | ||||
-rw-r--r-- | src/reflect/scala/reflect/internal/Internals.scala | 2 | ||||
-rw-r--r-- | src/reflect/scala/reflect/macros/Universe.scala | 12 |
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] |