Type Approximation: add separate flag to control approx. anonymous type
This extra flexibility is useful for IDE where we always want to approximate anonymous types but may not want to approximate other local types
This commit is contained in:
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.name.SpecialNames
|
||||
import org.jetbrains.kotlin.types.TypeCheckerState
|
||||
import org.jetbrains.kotlin.types.TypeSystemCommonBackendContext
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
@@ -310,6 +311,11 @@ interface IrTypeSystemContext : TypeSystemContext, TypeSystemCommonSuperTypesCon
|
||||
return this.owner.classId?.isLocal == true
|
||||
}
|
||||
|
||||
override fun TypeConstructorMarker.isAnonymous(): Boolean {
|
||||
if (this !is IrClassSymbol) return false
|
||||
return this.owner.classId?.shortClassName == SpecialNames.ANONYMOUS
|
||||
}
|
||||
|
||||
override val TypeVariableTypeConstructorMarker.typeParameter: TypeParameterMarker?
|
||||
get() = error("Type variables is unsupported in IR")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user