mirror of https://github.com/sbt/sbt.git
workaround separate compilation and raw types
This commit is contained in:
parent
c795511e13
commit
00d0918714
|
|
@ -309,9 +309,15 @@ final class API(val global: CallbackGlobal) extends Compat
|
||||||
case ThisType(sym) => new xsbti.api.Singleton(thisPath(sym))
|
case ThisType(sym) => new xsbti.api.Singleton(thisPath(sym))
|
||||||
case SingleType(pre, sym) => projectionType(in, pre, sym)
|
case SingleType(pre, sym) => projectionType(in, pre, sym)
|
||||||
case ConstantType(constant) => new xsbti.api.Constant(processType(in, constant.tpe), constant.stringValue)
|
case ConstantType(constant) => new xsbti.api.Constant(processType(in, constant.tpe), constant.stringValue)
|
||||||
case TypeRef(pre, sym, args) =>
|
case tr @ TypeRef(pre, sym, args) =>
|
||||||
val base = projectionType(in, pre, sym)
|
val base = projectionType(in, pre, sym)
|
||||||
if(args.isEmpty) base else new xsbti.api.Parameterized(base, types(in, args))
|
if(args.isEmpty)
|
||||||
|
if(isRaw(sym, args))
|
||||||
|
processType(in, rawToExistential(tr))
|
||||||
|
else
|
||||||
|
base
|
||||||
|
else
|
||||||
|
new xsbti.api.Parameterized(base, types(in, args))
|
||||||
case SuperType(thistpe: Type, supertpe: Type) => warning("sbt-api: Super type (not implemented): this=" + thistpe + ", super=" + supertpe); Constants.emptyType
|
case SuperType(thistpe: Type, supertpe: Type) => warning("sbt-api: Super type (not implemented): this=" + thistpe + ", super=" + supertpe); Constants.emptyType
|
||||||
case at: AnnotatedType => annotatedType(in, at)
|
case at: AnnotatedType => annotatedType(in, at)
|
||||||
case rt: CompoundType => structure(rt)
|
case rt: CompoundType => structure(rt)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue