[FIR JS] Support WRONG_MULTIPLE_INHERITANCE

This commit is contained in:
Nikolay Lunyak
2023-01-03 14:30:40 +02:00
committed by Space Team
parent 0426f35684
commit eed2fada1f
13 changed files with 124 additions and 7 deletions
@@ -74,4 +74,7 @@ class BuiltinTypes {
val charType: FirImplicitBuiltinTypeRef = FirImplicitCharTypeRef(null)
val stringType: FirImplicitBuiltinTypeRef = FirImplicitStringTypeRef(null)
val throwableType: FirImplicitThrowableTypeRef = FirImplicitThrowableTypeRef(null)
val charSequenceType: FirImplicitCharSequenceTypeRef = FirImplicitCharSequenceTypeRef(null)
val charIteratorType: FirImplicitCharIteratorTypeRef = FirImplicitCharIteratorTypeRef(null)
}
@@ -128,6 +128,14 @@ class FirImplicitThrowableTypeRef(
source: KtSourceElement?
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Throwable)
class FirImplicitCharSequenceTypeRef(
source: KtSourceElement?
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.CharSequence)
class FirImplicitCharIteratorTypeRef(
source: KtSourceElement?
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.CharIterator)
class FirImplicitKPropertyTypeRef(
source: KtSourceElement?,
typeArgument: ConeTypeProjection
@@ -199,6 +207,8 @@ fun FirImplicitBuiltinTypeRef.withFakeSource(kind: KtFakeSourceElementKind): Fir
is FirImplicitCharTypeRef -> FirImplicitCharTypeRef(newSource)
is FirImplicitStringTypeRef -> FirImplicitStringTypeRef(newSource)
is FirImplicitThrowableTypeRef -> FirImplicitThrowableTypeRef(newSource)
is FirImplicitCharSequenceTypeRef -> FirImplicitCharSequenceTypeRef(newSource)
is FirImplicitCharIteratorTypeRef -> FirImplicitCharIteratorTypeRef(newSource)
is FirImplicitKPropertyTypeRef -> FirImplicitKPropertyTypeRef(
newSource,
typeArgument = type.typeArguments[0]