Fixes #21.
This commit is contained in:
@@ -53,12 +53,18 @@ class Sisyphus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function toComplexType(type : Null<Type>) : Null<ComplexType> return
|
|
||||||
|
public static function toComplexType(type : Null<Type>) : Null<ComplexType> return {
|
||||||
|
inline function direct()
|
||||||
|
return Types.toComplex(type, { direct: true });
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case null:
|
case null:
|
||||||
null;
|
null;
|
||||||
case TMono(_.get() => t):
|
case TEnum(_.get().isPrivate => true, _): direct();
|
||||||
t == null ? Types.toComplex(type, { direct: true }) : toComplexType(t);
|
case TInst(_.get().isPrivate => true, _): direct();
|
||||||
|
case TType(_.get().isPrivate => true, _): direct();
|
||||||
|
case TAbstract(_.get().isPrivate => true, _): direct();
|
||||||
|
case TMono(_): direct();
|
||||||
case TEnum(_.get() => baseType, params):
|
case TEnum(_.get() => baseType, params):
|
||||||
TPath(toTypePath(baseType, params));
|
TPath(toTypePath(baseType, params));
|
||||||
case TInst(_.get() => classType, params):
|
case TInst(_.get() => classType, params):
|
||||||
@@ -93,7 +99,7 @@ class Sisyphus {
|
|||||||
default:
|
default:
|
||||||
throw "Invalid type";
|
throw "Invalid type";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
static function toTypePath(baseType : BaseType, params : Array<Type>) : TypePath return {
|
static function toTypePath(baseType : BaseType, params : Array<Type>) : TypePath return {
|
||||||
var module = baseType.module;
|
var module = baseType.module;
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user