@@ -847,3 +847,154 @@ test.kt:
847847# 1| 2: [NullLiteral] null
848848# 1| 3: [IntegerLiteral] 1
849849# 1| 4: [NullLiteral] null
850+ # 143| 12: [Class,GenericType,ParameterizedType] TestGenericFunction
851+ #-----| -2: (Generic Parameters)
852+ # 143| 0: [TypeVariable] T
853+ # 143| 1: [Constructor] TestGenericFunction
854+ # 143| 5: [BlockStmt] { ... }
855+ # 143| 0: [SuperConstructorInvocationStmt] super(...)
856+ # 143| 1: [BlockStmt] { ... }
857+ # 145| 2: [Method] f
858+ #-----| 2: (Generic Parameters)
859+ # 145| 0: [TypeVariable] S
860+ # 145| 3: [TypeAccess] Unit
861+ #-----| 4: (Parameters)
862+ # 145| 0: [Parameter] x
863+ # 145| 0: [TypeAccess] S
864+ # 145| 1: [Parameter] y
865+ # 145| 0: [TypeAccess] T
866+ # 145| 2: [Parameter] def1
867+ # 145| 0: [TypeAccess] T
868+ # 145| 3: [Parameter] def2
869+ # 145| 0: [TypeAccess] List<? extends T>
870+ # 145| 0: [WildcardTypeAccess] ? ...
871+ # 145| 0: [TypeAccess] T
872+ # 145| 4: [Parameter] def3
873+ # 145| 0: [TypeAccess] S
874+ # 145| 5: [Parameter] def4
875+ # 145| 0: [TypeAccess] List<? extends S>
876+ # 145| 0: [WildcardTypeAccess] ? ...
877+ # 145| 0: [TypeAccess] S
878+ # 145| 5: [BlockStmt] { ... }
879+ # 146| 0: [ExprStmt] <Expr>;
880+ # 146| 0: [MethodAccess] sink(...)
881+ # 146| -1: [TypeAccess] TestKt
882+ # 146| 0: [VarAccess] y
883+ # 145| 3: [Method] f$default
884+ # 145| 3: [TypeAccess] Unit
885+ #-----| 4: (Parameters)
886+ # 145| 0: [Parameter] p0
887+ # 145| 0: [TypeAccess] TestGenericFunction<>
888+ # 145| 1: [Parameter] p1
889+ # 145| 0: [TypeAccess] Object
890+ # 145| 2: [Parameter] p2
891+ # 145| 0: [TypeAccess] Object
892+ # 145| 3: [Parameter] p3
893+ # 145| 0: [TypeAccess] Object
894+ # 145| 4: [Parameter] p4
895+ # 145| 0: [TypeAccess] List<>
896+ # 145| 5: [Parameter] p5
897+ # 145| 0: [TypeAccess] Object
898+ # 145| 6: [Parameter] p6
899+ # 145| 0: [TypeAccess] List<>
900+ # 145| 7: [Parameter] p7
901+ # 145| 0: [TypeAccess] int
902+ # 145| 8: [Parameter] p8
903+ # 145| 0: [TypeAccess] Object
904+ # 145| 5: [BlockStmt] { ... }
905+ # 145| 0: [IfStmt] if (...)
906+ # 145| 0: [EQExpr] ... == ...
907+ # 145| 0: [AndBitwiseExpr] ... & ...
908+ # 145| 0: [IntegerLiteral] 2
909+ # 145| 1: [VarAccess] p7
910+ # 145| 1: [IntegerLiteral] 0
911+ # 145| 1: [ExprStmt] <Expr>;
912+ # 145| 0: [AssignExpr] ...=...
913+ # 145| 0: [VarAccess] p2
914+ # 145| 1: [VarAccess] p1
915+ # 145| 1: [IfStmt] if (...)
916+ # 145| 0: [EQExpr] ... == ...
917+ # 145| 0: [AndBitwiseExpr] ... & ...
918+ # 145| 0: [IntegerLiteral] 4
919+ # 145| 1: [VarAccess] p7
920+ # 145| 1: [IntegerLiteral] 0
921+ # 145| 1: [ExprStmt] <Expr>;
922+ # 145| 0: [AssignExpr] ...=...
923+ # 145| 0: [VarAccess] p3
924+ # 145| 1: [NullLiteral] null
925+ # 145| 2: [IfStmt] if (...)
926+ # 145| 0: [EQExpr] ... == ...
927+ # 145| 0: [AndBitwiseExpr] ... & ...
928+ # 145| 0: [IntegerLiteral] 8
929+ # 145| 1: [VarAccess] p7
930+ # 145| 1: [IntegerLiteral] 0
931+ # 145| 1: [ExprStmt] <Expr>;
932+ # 145| 0: [AssignExpr] ...=...
933+ # 145| 0: [VarAccess] p4
934+ # 145| 1: [MethodAccess] listOf(...)
935+ # 145| -2: [TypeAccess] Object
936+ # 145| -1: [TypeAccess] CollectionsKt
937+ # 145| 0: [VarAccess] p2
938+ # 145| 3: [IfStmt] if (...)
939+ # 145| 0: [EQExpr] ... == ...
940+ # 145| 0: [AndBitwiseExpr] ... & ...
941+ # 145| 0: [IntegerLiteral] 16
942+ # 145| 1: [VarAccess] p7
943+ # 145| 1: [IntegerLiteral] 0
944+ # 145| 1: [ExprStmt] <Expr>;
945+ # 145| 0: [AssignExpr] ...=...
946+ # 145| 0: [VarAccess] p5
947+ # 145| 1: [NullLiteral] null
948+ # 145| 4: [IfStmt] if (...)
949+ # 145| 0: [EQExpr] ... == ...
950+ # 145| 0: [AndBitwiseExpr] ... & ...
951+ # 145| 0: [IntegerLiteral] 32
952+ # 145| 1: [VarAccess] p7
953+ # 145| 1: [IntegerLiteral] 0
954+ # 145| 1: [ExprStmt] <Expr>;
955+ # 145| 0: [AssignExpr] ...=...
956+ # 145| 0: [VarAccess] p6
957+ # 145| 1: [MethodAccess] listOf(...)
958+ # 145| -2: [TypeAccess] Object
959+ # 145| -1: [TypeAccess] CollectionsKt
960+ # 145| 0: [VarAccess] p1
961+ # 145| 5: [ReturnStmt] return ...
962+ # 145| 0: [MethodAccess] f(...)
963+ # 145| -1: [VarAccess] p0
964+ # 145| 0: [VarAccess] p1
965+ # 145| 1: [VarAccess] p2
966+ # 145| 2: [VarAccess] p3
967+ # 145| 3: [VarAccess] p4
968+ # 145| 4: [VarAccess] p5
969+ # 145| 5: [VarAccess] p6
970+ # 149| 4: [Method] user
971+ # 149| 3: [TypeAccess] Unit
972+ #-----| 4: (Parameters)
973+ # 149| 0: [Parameter] inst
974+ # 149| 0: [TypeAccess] TestGenericFunction<String>
975+ # 149| 0: [TypeAccess] String
976+ # 149| 5: [BlockStmt] { ... }
977+ # 150| 0: [ExprStmt] <Expr>;
978+ # 150| 0: [MethodAccess] f$default(...)
979+ # 150| -1: [TypeAccess] TestGenericFunction<>
980+ # 150| 0: [VarAccess] inst
981+ # 150| 1: [StringLiteral] generic function sunk
982+ # 1| 2: [NullLiteral] null
983+ # 1| 3: [NullLiteral] null
984+ # 1| 4: [NullLiteral] null
985+ # 1| 5: [NullLiteral] null
986+ # 1| 6: [NullLiteral] null
987+ # 1| 7: [IntegerLiteral] 1
988+ # 1| 8: [NullLiteral] null
989+ # 151| 1: [ExprStmt] <Expr>;
990+ # 151| 0: [MethodAccess] f$default(...)
991+ # 151| -1: [TypeAccess] TestGenericFunction<>
992+ # 151| 0: [VarAccess] inst
993+ # 151| 1: [StringLiteral] generic function sunk fp
994+ # 151| 2: [StringLiteral] generic function sunk 2
995+ # 1| 3: [NullLiteral] null
996+ # 1| 4: [NullLiteral] null
997+ # 1| 5: [NullLiteral] null
998+ # 1| 6: [NullLiteral] null
999+ # 1| 7: [IntegerLiteral] 3
1000+ # 1| 8: [NullLiteral] null
0 commit comments