[FIR2IR] Support type aliases properly

This commit is contained in:
Mikhail Glukhikh
2020-06-08 11:27:57 +03:00
parent 6485869659
commit 6eab6a96cb
17 changed files with 66 additions and 3 deletions
@@ -1,4 +1,7 @@
FILE fqName:<root> fileName:/delegatingConstructorCallToTypeAliasConstructor.kt
TYPEALIAS name:CT visibility:public expandedType:<root>.Cell<T of <root>.CT>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPEALIAS name:CStr visibility:public expandedType:<root>.Cell<kotlin.String>
CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Cell<T of <root>.Cell>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
@@ -1,4 +1,5 @@
FILE fqName:<root> fileName:/typeAliasesWithAnnotations.kt
TYPEALIAS name:TestTypeAlias visibility:public expandedType:kotlin.String
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget)
@@ -1 +0,0 @@
FILE fqName:<root> fileName:/fileWithTypeAliasesOnly.kt
@@ -1 +1,2 @@
// FIR_IDENTICAL
typealias Bar<T> = (T) -> String
@@ -1,4 +1,5 @@
FILE fqName:<root> fileName:/typeAlias.kt
TYPEALIAS name:Test1 visibility:public expandedType:kotlin.String
FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
BLOCK type=kotlin.Unit origin=null
@@ -1,4 +1,5 @@
FILE fqName:<root> fileName:/kt16905.kt
TYPEALIAS name:OI visibility:public expandedType:<root>.Outer.Inner
CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer [primary]
@@ -1,4 +1,5 @@
FILE fqName:<root> fileName:/specializedTypeAliasConstructorCall.kt
TYPEALIAS name:IntAlias visibility:public expandedType:<root>.Cell<kotlin.Int>
CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Cell<T of <root>.Cell>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
@@ -1,4 +1,6 @@
FILE fqName:<root> fileName:/typeAliasConstructorReference.kt
TYPEALIAS name:CA visibility:public expandedType:<root>.C
TYPEALIAS name:NA visibility:public expandedType:<root>.Host.Nested
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.C [primary]
@@ -1,4 +1,5 @@
FILE fqName:<root> fileName:/integerCoercionToT.kt
TYPEALIAS name:CInt32Var visibility:public expandedType:<root>.CInt32VarX<kotlin.Int>
CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CPointed
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@@ -1,4 +1,8 @@
FILE fqName:<root> fileName:/typeAliasCtorForGenericClass.kt
TYPEALIAS name:B visibility:public expandedType:<root>.A<X of <root>.B>
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
TYPEALIAS name:B2 visibility:public expandedType:<root>.A<<root>.A<T of <root>.B2>>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A<Q of <root>.A>
TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?]
@@ -1,4 +1,7 @@
FILE fqName:<root> fileName:/abbreviatedTypes.kt
TYPEALIAS name:I visibility:public expandedType:kotlin.Int
TYPEALIAS name:L visibility:public expandedType:kotlin.collections.List<T of <root>.L>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.collections.List<kotlin.Int>) returnType:kotlin.collections.List<kotlin.Int>
VALUE_PARAMETER name:x index:0 type:kotlin.collections.List<kotlin.Int>
BLOCK_BODY