[FIR] Add diagnostic INAPPLICABLE_LATEINIT_MODIFIER + some builtin types
This commit is contained in:
@@ -54,8 +54,14 @@ class BuiltinTypes {
|
||||
val enumType: FirImplicitBuiltinTypeRef = FirImplicitEnumTypeRef(null)
|
||||
val annotationType: FirImplicitBuiltinTypeRef = FirImplicitAnnotationTypeRef(null)
|
||||
val booleanType: FirImplicitBuiltinTypeRef = FirImplicitBooleanTypeRef(null)
|
||||
val byteType: FirImplicitBuiltinTypeRef = FirImplicitByteTypeRef(null)
|
||||
val shortType: FirImplicitBuiltinTypeRef = FirImplicitShortTypeRef(null)
|
||||
val intType: FirImplicitBuiltinTypeRef = FirImplicitIntTypeRef(null)
|
||||
val longType: FirImplicitBuiltinTypeRef = FirImplicitLongTypeRef(null)
|
||||
val doubleType: FirImplicitBuiltinTypeRef = FirImplicitDoubleTypeRef(null)
|
||||
val floatType: FirImplicitBuiltinTypeRef = FirImplicitFloatTypeRef(null)
|
||||
val nothingType: FirImplicitBuiltinTypeRef = FirImplicitNothingTypeRef(null)
|
||||
val nullableNothingType: FirImplicitBuiltinTypeRef = FirImplicitNullableNothingTypeRef(null)
|
||||
val charType: FirImplicitBuiltinTypeRef = FirImplicitCharTypeRef(null)
|
||||
val stringType: FirImplicitBuiltinTypeRef = FirImplicitStringTypeRef(null)
|
||||
}
|
||||
+30
@@ -72,10 +72,30 @@ class FirImplicitBooleanTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Boolean)
|
||||
|
||||
class FirImplicitByteTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Byte)
|
||||
|
||||
class FirImplicitShortTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Short)
|
||||
|
||||
class FirImplicitIntTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Int)
|
||||
|
||||
class FirImplicitLongTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Long)
|
||||
|
||||
class FirImplicitDoubleTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Double)
|
||||
|
||||
class FirImplicitFloatTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Float)
|
||||
|
||||
class FirImplicitNothingTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Nothing)
|
||||
@@ -84,6 +104,10 @@ class FirImplicitNullableNothingTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Nothing, isNullable = true)
|
||||
|
||||
class FirImplicitCharTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.Char)
|
||||
|
||||
class FirImplicitStringTypeRef(
|
||||
source: FirSourceElement?
|
||||
) : FirImplicitBuiltinTypeRef(source, StandardClassIds.String)
|
||||
@@ -146,9 +170,15 @@ fun FirImplicitBuiltinTypeRef.withFakeSource(kind: FirFakeSourceElementKind): Fi
|
||||
is FirImplicitEnumTypeRef -> FirImplicitEnumTypeRef(newSource)
|
||||
is FirImplicitAnnotationTypeRef -> FirImplicitAnnotationTypeRef(newSource)
|
||||
is FirImplicitBooleanTypeRef -> FirImplicitBooleanTypeRef(newSource)
|
||||
is FirImplicitByteTypeRef -> FirImplicitByteTypeRef(newSource)
|
||||
is FirImplicitShortTypeRef -> FirImplicitShortTypeRef(newSource)
|
||||
is FirImplicitIntTypeRef -> FirImplicitIntTypeRef(newSource)
|
||||
is FirImplicitLongTypeRef -> FirImplicitLongTypeRef(newSource)
|
||||
is FirImplicitDoubleTypeRef -> FirImplicitDoubleTypeRef(newSource)
|
||||
is FirImplicitFloatTypeRef -> FirImplicitFloatTypeRef(newSource)
|
||||
is FirImplicitNothingTypeRef -> FirImplicitNothingTypeRef(newSource)
|
||||
is FirImplicitNullableNothingTypeRef -> FirImplicitNullableNothingTypeRef(newSource)
|
||||
is FirImplicitCharTypeRef -> FirImplicitCharTypeRef(newSource)
|
||||
is FirImplicitStringTypeRef -> FirImplicitStringTypeRef(newSource)
|
||||
is FirImplicitKPropertyTypeRef -> FirImplicitKPropertyTypeRef(
|
||||
newSource,
|
||||
|
||||
Reference in New Issue
Block a user