diff --git a/compile/interface/src/main/scala/xsbt/Compat.scala b/compile/interface/src/main/scala/xsbt/Compat.scala index 5b8c3983b..9f9fb247c 100644 --- a/compile/interface/src/main/scala/xsbt/Compat.scala +++ b/compile/interface/src/main/scala/xsbt/Compat.scala @@ -45,15 +45,10 @@ abstract class Compat { val Nullary = global.NullaryMethodType val ScalaObjectClass = definitions.ScalaObjectClass - // `afterPostErasure` doesn't exist in Scala < 2.10 - implicit def withAfterPostErasure(global: Global): WithAfterPostErasure = new WithAfterPostErasure(global) - class WithAfterPostErasure(global: Global) { - def afterPostErasure[T](op: => T): T = op - } - // `exitingPostErasure` was called `afterPostErasure` in 2.10 - implicit def withExitingPostErasure(global: Global): WithExitingPostErasure = new WithExitingPostErasure(global) - class WithExitingPostErasure(global: Global) { - def exitingPostErasure[T](op: => T): T = global afterPostErasure op + // `transformedType` doesn't exist in Scala < 2.10 + implicit def withTransformedType(global: Global): WithTransformedType = new WithTransformedType(global) + class WithTransformedType(global: Global) { + def transformedType(tpe: Type): Type = tpe } private[this] final class MiscCompat { diff --git a/compile/interface/src/main/scala/xsbt/ExtractAPI.scala b/compile/interface/src/main/scala/xsbt/ExtractAPI.scala index 3810a23bd..31389218b 100644 --- a/compile/interface/src/main/scala/xsbt/ExtractAPI.scala +++ b/compile/interface/src/main/scala/xsbt/ExtractAPI.scala @@ -277,7 +277,7 @@ class ExtractAPI[GlobalType <: CallbackGlobal](val global: GlobalType, val beforeErasure = makeDef(processType(in, dropConst(returnType))) val afterErasure = if (inspectPostErasure) { - val erasedReturn = dropConst(transformedType(viewer(in).memberInfo(s))) map { + val erasedReturn = dropConst(global.transformedType(viewer(in).memberInfo(s))) map { case MethodType(_, r) => r case other => other } @@ -288,7 +288,7 @@ class ExtractAPI[GlobalType <: CallbackGlobal](val global: GlobalType, } } def parameterS(erase: Boolean)(s: Symbol): xsbti.api.MethodParameter = { - val tp = if (erase) transformedType(s.info) else s.info + val tp = if (erase) global.transformedType(s.info) else s.info makeParameter(simpleName(s), tp, tp.typeSymbol, s) }