From 257417bc4ad1d04a659882c2a42a7ae997a8a405 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 15 Aug 2016 12:28:42 +0300 Subject: [PATCH] Minor. Lower type aliase declarations priority There are several reasons for doing this: - See org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberScope.computeDescriptors, classifiers are being deserialized in the last turn, so it's necessary to preserve consistent order - Their priority should be close to classes --- .../diagnostics/tests/cast/AsTypeAlias.txt | 6 +- .../redeclarations/TypeAliasCtorVsFun.txt | 4 +- .../tests/redeclarations/TypeAliasVsClass.txt | 15 +++-- .../redeclarations/TypeAliasVsProperty.txt | 6 +- .../tests/typealias/aliasesOnly.txt | 7 +-- .../boundViolationInTypeAliasConstructor.txt | 8 +-- ...oundsViolationInDeepTypeAliasExpansion.txt | 4 +- .../boundsViolationInTypeAliasExpansion.txt | 6 +- .../boundsViolationInTypeAliasRHS.txt | 13 ++-- .../capturingTypeParametersFromOuterClass.txt | 12 ++-- .../tests/typealias/classReference.txt | 2 +- .../typealias/conflictingProjections.txt | 12 ++-- .../constructorCallThroughPrivateAlias.txt | 6 +- .../tests/typealias/exposedExpandedType.txt | 59 +++++++++---------- .../typealias/functionTypeInTypeAlias.txt | 2 +- .../typealias/genericTypeAliasConstructor.txt | 2 +- .../typealias/genericTypeAliasObject.txt | 4 +- .../diagnostics/tests/typealias/import.txt | 4 +- .../tests/typealias/inSupertypesList.txt | 3 +- .../typealias/inheritedNestedTypeAlias.txt | 2 +- ...eritedTypeAliasQualifiedByDerivedClass.txt | 2 +- .../tests/typealias/isAsWithTypeAlias.txt | 2 +- .../javaStaticMembersViaTypeAlias.txt | 8 +-- .../tests/typealias/methodReference.txt | 2 +- .../diagnostics/tests/typealias/nested.txt | 2 +- .../nestedCapturingTypeParameters.txt | 4 +- .../tests/typealias/nestedSubstituted.txt | 2 +- ...imationInTypeAliasArgumentSubstitution.txt | 4 +- .../tests/typealias/parameterRestrictions.txt | 2 +- .../tests/typealias/parameterSubstitution.txt | 2 +- .../projectionsInTypeAliasConstructor.txt | 2 +- .../diagnostics/tests/typealias/recursive.txt | 2 +- ...TypeNothingShouldBeSpecifiedExplicitly.txt | 2 +- .../tests/typealias/simpleTypeAlias.txt | 6 +- .../starProjectionInTypeAliasArgument.txt | 2 +- .../tests/typealias/substitutionVariance.txt | 24 ++++---- .../tests/typealias/throwJLException.txt | 2 +- .../typeAliasArgumentsInCompanionObject.txt | 2 +- .../typeAliasArgumentsInConstructor.txt | 2 +- .../tests/typealias/typeAliasAsQualifier.txt | 4 +- .../tests/typealias/typeAliasConstructor.txt | 6 +- .../tests/typealias/typeAliasObject.txt | 6 +- .../typealias/typeAliasObjectWithInvoke.txt | 4 +- .../typeAliasShouldExpandToClass.txt | 21 ++++--- .../tests/typealias/unsupportedTypeAlias.txt | 6 +- ...umberOfArgumentsInTypeAliasConstructor.txt | 8 +-- .../compiledKotlin/typealias/Annotations.txt | 5 +- .../compiledKotlin/typealias/Basic.txt | 6 +- .../compiledKotlin/typealias/Generic.txt | 6 +- .../compiledKotlin/typealias/Nested.txt | 6 +- .../kotlin/resolve/MemberComparator.java | 18 +++--- 51 files changed, 170 insertions(+), 177 deletions(-) diff --git a/compiler/testData/diagnostics/tests/cast/AsTypeAlias.txt b/compiler/testData/diagnostics/tests/cast/AsTypeAlias.txt index 43341348ee0..e7288aac41e 100644 --- a/compiler/testData/diagnostics/tests/cast/AsTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/cast/AsTypeAlias.txt @@ -1,8 +1,5 @@ package -public typealias IBase = Base -public typealias IOther = Other -public typealias MyString = kotlin.String public val d: Derived public val ib: IBase /* = Base */ public val io: IOther /* = Other */ @@ -30,3 +27,6 @@ public interface Other : Base { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias IBase = Base +public typealias IOther = Other +public typealias MyString = kotlin.String diff --git a/compiler/testData/diagnostics/tests/redeclarations/TypeAliasCtorVsFun.txt b/compiler/testData/diagnostics/tests/redeclarations/TypeAliasCtorVsFun.txt index 44ce22b14ef..2675edff06b 100644 --- a/compiler/testData/diagnostics/tests/redeclarations/TypeAliasCtorVsFun.txt +++ b/compiler/testData/diagnostics/tests/redeclarations/TypeAliasCtorVsFun.txt @@ -1,6 +1,5 @@ package -public typealias CC = C public fun CC(/*0*/ x: kotlin.Int): kotlin.Int public final class C { @@ -12,7 +11,6 @@ public final class C { } public final class Outer { - public typealias CC = Outer.C public constructor Outer() public final fun CC(/*0*/ x: kotlin.Int): kotlin.Int public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean @@ -26,4 +24,6 @@ public final class Outer { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + public typealias CC = Outer.C } +public typealias CC = C diff --git a/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsClass.txt b/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsClass.txt index a0c21c7e85a..6eb41cd8a91 100644 --- a/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsClass.txt +++ b/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsClass.txt @@ -1,14 +1,6 @@ package -public typealias SomeClass = kotlin.Any -public typealias SomeClass = kotlin.Any -public typealias SomeClass = kotlin.Any -public typealias SomeClass = kotlin.Any - public final class Outer { - public typealias Nested = kotlin.Any - public typealias Nested = kotlin.Any - public typealias Nested = kotlin.Any public constructor Outer() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @@ -20,6 +12,9 @@ public final class Outer { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + public typealias Nested = kotlin.Any + public typealias Nested = kotlin.Any + public typealias Nested = kotlin.Any } public final class SomeClass { @@ -28,3 +23,7 @@ public final class SomeClass { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias SomeClass = kotlin.Any +public typealias SomeClass = kotlin.Any +public typealias SomeClass = kotlin.Any +public typealias SomeClass = kotlin.Any diff --git a/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsProperty.txt b/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsProperty.txt index 1caf40639c4..33d4fa9c310 100644 --- a/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsProperty.txt +++ b/compiler/testData/diagnostics/tests/redeclarations/TypeAliasVsProperty.txt @@ -1,15 +1,15 @@ package -public typealias Test = kotlin.String -public typealias Test2 = kotlin.String public val Test: kotlin.Int = 42 public val Test2: kotlin.Int = 42 public final class Outer { - public typealias Test = kotlin.String public constructor Outer() public final val Test: kotlin.Int = 42 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias Test = kotlin.String } +public typealias Test = kotlin.String +public typealias Test2 = kotlin.String diff --git a/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt b/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt index 39376966797..c122ac4cd3e 100644 --- a/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt +++ b/compiler/testData/diagnostics/tests/typealias/aliasesOnly.txt @@ -1,12 +1,11 @@ package -public typealias S = kotlin.String - public final class C { - public typealias SF = (T) -> kotlin.String - public typealias SS = kotlin.String public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias SF = (T) -> kotlin.String + public typealias SS = kotlin.String } +public typealias S = kotlin.String diff --git a/compiler/testData/diagnostics/tests/typealias/boundViolationInTypeAliasConstructor.txt b/compiler/testData/diagnostics/tests/typealias/boundViolationInTypeAliasConstructor.txt index 8efe2a9c180..924882bc071 100644 --- a/compiler/testData/diagnostics/tests/typealias/boundViolationInTypeAliasConstructor.txt +++ b/compiler/testData/diagnostics/tests/typealias/boundViolationInTypeAliasConstructor.txt @@ -1,9 +1,5 @@ package -public typealias N = Num -public typealias N2 = N -public typealias TC = TColl -public typealias TC2 = TC public val x1: Num public val x2: Num public val x3: Num @@ -25,3 +21,7 @@ public final class TColl> { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias N = Num +public typealias N2 = N +public typealias TC = TColl +public typealias TC2 = TC diff --git a/compiler/testData/diagnostics/tests/typealias/boundsViolationInDeepTypeAliasExpansion.txt b/compiler/testData/diagnostics/tests/typealias/boundsViolationInDeepTypeAliasExpansion.txt index 92a9728bc87..dc2b9db7d96 100644 --- a/compiler/testData/diagnostics/tests/typealias/boundsViolationInDeepTypeAliasExpansion.txt +++ b/compiler/testData/diagnostics/tests/typealias/boundsViolationInDeepTypeAliasExpansion.txt @@ -1,7 +1,5 @@ package -public typealias TC = TColl -public typealias TC2 = TC public val test5: TColl> public val test6: TColl> public val test7: TColl> @@ -17,3 +15,5 @@ public final class TColl> { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias TC = TColl +public typealias TC2 = TC diff --git a/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasExpansion.txt b/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasExpansion.txt index d2532a87819..6c427b1aba4 100644 --- a/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasExpansion.txt +++ b/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasExpansion.txt @@ -1,8 +1,5 @@ package -public typealias NA = Num -public typealias NL = NumColl> -public typealias TC = TColl public val test13: TColl> public val test14: TColl> public val test15: TColl> @@ -40,3 +37,6 @@ public final class TColl> { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias NA = Num +public typealias NL = NumColl> +public typealias TC = TColl diff --git a/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasRHS.txt b/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasRHS.txt index abde87661f8..77eeb0196fe 100644 --- a/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasRHS.txt +++ b/compiler/testData/diagnostics/tests/typealias/boundsViolationInTypeAliasRHS.txt @@ -1,5 +1,11 @@ package +public final class TC> { + public constructor TC>() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} public typealias TCAlias = TC public typealias TCAliasC = TC public typealias TCAliasC1 = TCAlias @@ -15,10 +21,3 @@ public typealias Test6 = TCAliasC public typealias Test7 = TCAliasC> public typealias Test8 = TCAliasT1 public typealias Test9 = TCAliasC1 - -public final class TC> { - public constructor TC>() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.txt b/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.txt index 420c20a0f60..de6e804b5c0 100644 --- a/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.txt +++ b/compiler/testData/diagnostics/tests/typealias/capturingTypeParametersFromOuterClass.txt @@ -3,28 +3,28 @@ package public fun foo(): kotlin.Unit public final class Outer { - public typealias LTO /*captured type parameters: /*0*/ TO*/ = kotlin.collections.List public constructor Outer() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public final class Nested { - public typealias LTN /*captured type parameters: /*0*/ TN*/ = kotlin.collections.List - public typealias LTO /*captured type parameters: /*0*/ TN*/ = kotlin.collections.List<[ERROR : TO]> public constructor Nested() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public final inner class Inner /*captured type parameters: /*1*/ TN*/ { - public typealias LTI /*captured type parameters: /*0*/ TI, /*1*/ TN*/ = kotlin.collections.List - public typealias LTN /*captured type parameters: /*0*/ TI, /*1*/ TN*/ = kotlin.collections.List - public typealias LTO /*captured type parameters: /*0*/ TI, /*1*/ TN*/ = kotlin.collections.List<[ERROR : TO]> public constructor Inner() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias LTI /*captured type parameters: /*0*/ TI, /*1*/ TN*/ = kotlin.collections.List + public typealias LTN /*captured type parameters: /*0*/ TI, /*1*/ TN*/ = kotlin.collections.List + public typealias LTO /*captured type parameters: /*0*/ TI, /*1*/ TN*/ = kotlin.collections.List<[ERROR : TO]> } + public typealias LTN /*captured type parameters: /*0*/ TN*/ = kotlin.collections.List + public typealias LTO /*captured type parameters: /*0*/ TN*/ = kotlin.collections.List<[ERROR : TO]> } + public typealias LTO /*captured type parameters: /*0*/ TO*/ = kotlin.collections.List } diff --git a/compiler/testData/diagnostics/tests/typealias/classReference.txt b/compiler/testData/diagnostics/tests/typealias/classReference.txt index 6c5c4df4a43..10abbcc9b73 100644 --- a/compiler/testData/diagnostics/tests/typealias/classReference.txt +++ b/compiler/testData/diagnostics/tests/typealias/classReference.txt @@ -1,4 +1,4 @@ package -public typealias S = kotlin.String public val s: kotlin.reflect.KClass +public typealias S = kotlin.String diff --git a/compiler/testData/diagnostics/tests/typealias/conflictingProjections.txt b/compiler/testData/diagnostics/tests/typealias/conflictingProjections.txt index 4ed25bbc357..cacfebe8857 100644 --- a/compiler/testData/diagnostics/tests/typealias/conflictingProjections.txt +++ b/compiler/testData/diagnostics/tests/typealias/conflictingProjections.txt @@ -1,11 +1,5 @@ package -public typealias InAlias = In -public typealias OutAlias = Out -public typealias TestInForOut = Out -public typealias TestInForOutWithinAlias = OutAlias -public typealias TestOutForIn = In -public typealias TestOutForInWithinAlias = InAlias public fun testInForOutWithinResolvedType(/*0*/ x: OutAlias /* = Out */): kotlin.Unit public fun testOutForInWithinResolvedType(/*0*/ x: InAlias /* = In */): kotlin.Unit @@ -20,3 +14,9 @@ public interface Out { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias InAlias = In +public typealias OutAlias = Out +public typealias TestInForOut = Out +public typealias TestInForOutWithinAlias = OutAlias +public typealias TestOutForIn = In +public typealias TestOutForInWithinAlias = InAlias diff --git a/compiler/testData/diagnostics/tests/typealias/constructorCallThroughPrivateAlias.txt b/compiler/testData/diagnostics/tests/typealias/constructorCallThroughPrivateAlias.txt index d1336a7339f..fe70ea7ee1a 100644 --- a/compiler/testData/diagnostics/tests/typealias/constructorCallThroughPrivateAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/constructorCallThroughPrivateAlias.txt @@ -1,9 +1,6 @@ package package a { - public typealias A1 = a.B - private typealias A2 = a.B - private typealias A3 = a.B public fun A3(/*0*/ x: kotlin.Any): kotlin.String public fun bar(): kotlin.Unit @@ -13,6 +10,9 @@ package a { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + public typealias A1 = a.B + private typealias A2 = a.B + private typealias A3 = a.B } package usage { diff --git a/compiler/testData/diagnostics/tests/typealias/exposedExpandedType.txt b/compiler/testData/diagnostics/tests/typealias/exposedExpandedType.txt index 2a46588100d..2d7318a19a7 100644 --- a/compiler/testData/diagnostics/tests/typealias/exposedExpandedType.txt +++ b/compiler/testData/diagnostics/tests/typealias/exposedExpandedType.txt @@ -1,17 +1,5 @@ package -public typealias L = kotlin.collections.List -public typealias TestInternal1 = Internal -internal typealias TestInternal2 = Internal -private typealias TestInternal3 = Internal -public typealias TestInternal4 = L -public typealias TestInternal5 = L -public typealias TestPrivate1 = Private -internal typealias TestPrivate2 = Private -private typealias TestPrivate3 = Private -public typealias TestPrivate4 = L -public typealias TestPrivate5 = L - internal final class Internal { public constructor Internal() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean @@ -20,24 +8,6 @@ internal final class Internal { } public final class Outer { - public typealias TestInternal1 = Outer.Internal - protected typealias TestInternal2 = Outer.Internal - internal typealias TestInternal3 = Outer.Internal - private typealias TestInternal4 = Outer.Internal - public typealias TestInternal5 = L - public typealias TestInternal6 = L - public typealias TestPrivate1 = Outer.Private - protected typealias TestPrivate2 = Outer.Private - internal typealias TestPrivate3 = Outer.Private - private typealias TestPrivate4 = Outer.Private - public typealias TestPrivate5 = L - public typealias TestPrivate6 = L - public typealias TestProtected1 = Outer.Protected - protected typealias TestProtected2 = Outer.Protected - internal typealias TestProtected3 = Outer.Protected - private typealias TestProtected4 = Outer.Protected - public typealias TestProtected5 = L - public typealias TestProtected6 = L public constructor Outer() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @@ -63,6 +33,24 @@ public final class Outer { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + public typealias TestInternal1 = Outer.Internal + protected typealias TestInternal2 = Outer.Internal + internal typealias TestInternal3 = Outer.Internal + private typealias TestInternal4 = Outer.Internal + public typealias TestInternal5 = L + public typealias TestInternal6 = L + public typealias TestPrivate1 = Outer.Private + protected typealias TestPrivate2 = Outer.Private + internal typealias TestPrivate3 = Outer.Private + private typealias TestPrivate4 = Outer.Private + public typealias TestPrivate5 = L + public typealias TestPrivate6 = L + public typealias TestProtected1 = Outer.Protected + protected typealias TestProtected2 = Outer.Protected + internal typealias TestProtected3 = Outer.Protected + private typealias TestProtected4 = Outer.Protected + public typealias TestProtected5 = L + public typealias TestProtected6 = L } private final class Private { @@ -71,3 +59,14 @@ private final class Private { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias L = kotlin.collections.List +public typealias TestInternal1 = Internal +internal typealias TestInternal2 = Internal +private typealias TestInternal3 = Internal +public typealias TestInternal4 = L +public typealias TestInternal5 = L +public typealias TestPrivate1 = Private +internal typealias TestPrivate2 = Private +private typealias TestPrivate3 = Private +public typealias TestPrivate4 = L +public typealias TestPrivate5 = L diff --git a/compiler/testData/diagnostics/tests/typealias/functionTypeInTypeAlias.txt b/compiler/testData/diagnostics/tests/typealias/functionTypeInTypeAlias.txt index 1720e7d8855..10444f0cd68 100644 --- a/compiler/testData/diagnostics/tests/typealias/functionTypeInTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/functionTypeInTypeAlias.txt @@ -1,4 +1,4 @@ package -public typealias F = () -> kotlin.Unit public val f: () -> kotlin.Unit +public typealias F = () -> kotlin.Unit diff --git a/compiler/testData/diagnostics/tests/typealias/genericTypeAliasConstructor.txt b/compiler/testData/diagnostics/tests/typealias/genericTypeAliasConstructor.txt index 98a723012f4..0833ac32aaa 100644 --- a/compiler/testData/diagnostics/tests/typealias/genericTypeAliasConstructor.txt +++ b/compiler/testData/diagnostics/tests/typealias/genericTypeAliasConstructor.txt @@ -1,6 +1,5 @@ package -public typealias GTC = C public val test1: C public val test2: C public val test3: C @@ -15,3 +14,4 @@ public final class C { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias GTC = C diff --git a/compiler/testData/diagnostics/tests/typealias/genericTypeAliasObject.txt b/compiler/testData/diagnostics/tests/typealias/genericTypeAliasObject.txt index 7f103c47e00..81c49beea6e 100644 --- a/compiler/testData/diagnostics/tests/typealias/genericTypeAliasObject.txt +++ b/compiler/testData/diagnostics/tests/typealias/genericTypeAliasObject.txt @@ -1,7 +1,5 @@ package -public typealias GenericTestObject = AnObject -public typealias TestGCWC = GenericClassWithCompanion public val test11: AnObject public val test12: GenericTestObject<*> /* = AnObject */ public val test13: kotlin.String = "OK" @@ -35,3 +33,5 @@ public final class GenericClassWithCompanion { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } } +public typealias GenericTestObject = AnObject +public typealias TestGCWC = GenericClassWithCompanion diff --git a/compiler/testData/diagnostics/tests/typealias/import.txt b/compiler/testData/diagnostics/tests/typealias/import.txt index acb072c19a4..34ecc3b549f 100644 --- a/compiler/testData/diagnostics/tests/typealias/import.txt +++ b/compiler/testData/diagnostics/tests/typealias/import.txt @@ -5,15 +5,15 @@ package package1 { } package package2 { - public typealias I = kotlin.Int public final class Outer { - public typealias A = kotlin.Any public constructor Outer() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias A = kotlin.Any } + public typealias I = kotlin.Int } package package3 { diff --git a/compiler/testData/diagnostics/tests/typealias/inSupertypesList.txt b/compiler/testData/diagnostics/tests/typealias/inSupertypesList.txt index 245f7fbfc92..a863eb2dcb0 100644 --- a/compiler/testData/diagnostics/tests/typealias/inSupertypesList.txt +++ b/compiler/testData/diagnostics/tests/typealias/inSupertypesList.txt @@ -1,7 +1,5 @@ package -public typealias B = IBase - public interface IBase { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @@ -21,3 +19,4 @@ public final class Test2 : IBase, B /* = IBase */ { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias B = IBase diff --git a/compiler/testData/diagnostics/tests/typealias/inheritedNestedTypeAlias.txt b/compiler/testData/diagnostics/tests/typealias/inheritedNestedTypeAlias.txt index d155d1d2dec..045d9d58f65 100644 --- a/compiler/testData/diagnostics/tests/typealias/inheritedNestedTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/inheritedNestedTypeAlias.txt @@ -1,7 +1,6 @@ package public open class Base { - public typealias CT /*captured type parameters: /*0*/ T*/ = Cell public constructor Base() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @@ -14,6 +13,7 @@ public open class Base { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + public typealias CT /*captured type parameters: /*0*/ T*/ = Cell } public final class Cell : ICell { diff --git a/compiler/testData/diagnostics/tests/typealias/inhreritedTypeAliasQualifiedByDerivedClass.txt b/compiler/testData/diagnostics/tests/typealias/inhreritedTypeAliasQualifiedByDerivedClass.txt index f7c12a9d6cc..f359b5d90ed 100644 --- a/compiler/testData/diagnostics/tests/typealias/inhreritedTypeAliasQualifiedByDerivedClass.txt +++ b/compiler/testData/diagnostics/tests/typealias/inhreritedTypeAliasQualifiedByDerivedClass.txt @@ -4,11 +4,11 @@ public fun test(/*0*/ x: [ERROR : Derived.Nested]): [ERROR : Derived.Nested] public fun Base.testWithImplicitReceiver(/*0*/ x: [ERROR : Nested]): kotlin.Unit public open class Base { - public typealias Nested = kotlin.String public constructor Base() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias Nested = kotlin.String } public final class Derived : Base { diff --git a/compiler/testData/diagnostics/tests/typealias/isAsWithTypeAlias.txt b/compiler/testData/diagnostics/tests/typealias/isAsWithTypeAlias.txt index 3c2e33cd6c7..7629025904d 100644 --- a/compiler/testData/diagnostics/tests/typealias/isAsWithTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/isAsWithTypeAlias.txt @@ -1,6 +1,6 @@ package -public typealias S = kotlin.String public fun test1(/*0*/ x: kotlin.Any): kotlin.Boolean public fun test2(/*0*/ x: kotlin.Any): S /* = kotlin.String */ public fun test3(/*0*/ x: kotlin.Any): S? /* = kotlin.String? */ +public typealias S = kotlin.String diff --git a/compiler/testData/diagnostics/tests/typealias/javaStaticMembersViaTypeAlias.txt b/compiler/testData/diagnostics/tests/typealias/javaStaticMembersViaTypeAlias.txt index 014fa62a5f1..29d44ddbc84 100644 --- a/compiler/testData/diagnostics/tests/typealias/javaStaticMembersViaTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/javaStaticMembersViaTypeAlias.txt @@ -1,9 +1,5 @@ package -public typealias IT = ITest -public typealias JD = JDerived -public typealias JT = JTest -public typealias KT = KTest public val seeAlsoDerivedFoo: kotlin.String public val seeAlsoFoo: kotlin.String public val testDerivedFoo: kotlin.String @@ -79,3 +75,7 @@ public final class KTest { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } } +public typealias IT = ITest +public typealias JD = JDerived +public typealias JT = JTest +public typealias KT = KTest diff --git a/compiler/testData/diagnostics/tests/typealias/methodReference.txt b/compiler/testData/diagnostics/tests/typealias/methodReference.txt index 636b490c290..a09d909495d 100644 --- a/compiler/testData/diagnostics/tests/typealias/methodReference.txt +++ b/compiler/testData/diagnostics/tests/typealias/methodReference.txt @@ -1,6 +1,5 @@ package -public typealias CA = C public val cf: kotlin.reflect.KFunction1 public final class C { @@ -10,3 +9,4 @@ public final class C { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias CA = C diff --git a/compiler/testData/diagnostics/tests/typealias/nested.txt b/compiler/testData/diagnostics/tests/typealias/nested.txt index ca38892dcd4..eff054f6cab 100644 --- a/compiler/testData/diagnostics/tests/typealias/nested.txt +++ b/compiler/testData/diagnostics/tests/typealias/nested.txt @@ -7,7 +7,6 @@ public fun C.testExtFun1(/*0*/ x: C.P2 /* = Pair */): C. public fun C.testExtFun2(): C.P2 /* = Pair */ public final class C { - public typealias P2 = Pair public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun first(/*0*/ p: C.P2 /* = Pair */): kotlin.Int @@ -15,6 +14,7 @@ public final class C { public final fun p(): Pair public final fun second(/*0*/ p: C.P2 /* = Pair */): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias P2 = Pair } public final class Pair { diff --git a/compiler/testData/diagnostics/tests/typealias/nestedCapturingTypeParameters.txt b/compiler/testData/diagnostics/tests/typealias/nestedCapturingTypeParameters.txt index 0d1da4efc02..89e94bd767f 100644 --- a/compiler/testData/diagnostics/tests/typealias/nestedCapturingTypeParameters.txt +++ b/compiler/testData/diagnostics/tests/typealias/nestedCapturingTypeParameters.txt @@ -8,8 +8,6 @@ public val test3: kotlin.Int public val test4: kotlin.String public final class C { - public typealias P2 /*captured type parameters: /*0*/ T*/ = Pair - public typealias PT2 /*captured type parameters: /*1*/ T*/ = Pair public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun first(/*0*/ p: C.P2 /* = Pair */): T @@ -18,6 +16,8 @@ public final class C { public final fun second(/*0*/ p: C.P2 /* = Pair */): T public final fun second2(/*0*/ p: C.PT2 /* = Pair */): T2 public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias P2 /*captured type parameters: /*0*/ T*/ = Pair + public typealias PT2 /*captured type parameters: /*1*/ T*/ = Pair } public final class Pair { diff --git a/compiler/testData/diagnostics/tests/typealias/nestedSubstituted.txt b/compiler/testData/diagnostics/tests/typealias/nestedSubstituted.txt index 15e3db50cfa..dbf69d80b2d 100644 --- a/compiler/testData/diagnostics/tests/typealias/nestedSubstituted.txt +++ b/compiler/testData/diagnostics/tests/typealias/nestedSubstituted.txt @@ -3,11 +3,11 @@ package public val p1: C.P2 /* = Pair */ public final class C { - public typealias P2 /*captured type parameters: /*0*/ T*/ = Pair public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias P2 /*captured type parameters: /*0*/ T*/ = Pair } public final class Pair { diff --git a/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt b/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt index 55ccabfb05f..939591cc9b5 100644 --- a/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt +++ b/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt @@ -1,8 +1,8 @@ package -public typealias Array2D = kotlin.Array> -public typealias TMap = kotlin.collections.Map public fun bar1(/*0*/ a: Array2D /* = kotlin.Array> */): Array2D /* = kotlin.Array> */ public fun bar2(/*0*/ m: TMap<*> /* = kotlin.collections.Map<*, *> */): [ERROR : Error function type] public fun foo1(/*0*/ a: Array2D /* = kotlin.Array> */): Array2D /* = kotlin.Array> */ public fun foo2(/*0*/ m: TMap /* = kotlin.collections.Map */): TMap /* = kotlin.collections.Map */ +public typealias Array2D = kotlin.Array> +public typealias TMap = kotlin.collections.Map diff --git a/compiler/testData/diagnostics/tests/typealias/parameterRestrictions.txt b/compiler/testData/diagnostics/tests/typealias/parameterRestrictions.txt index 45bdc321dab..a9fe458bc1b 100644 --- a/compiler/testData/diagnostics/tests/typealias/parameterRestrictions.txt +++ b/compiler/testData/diagnostics/tests/typealias/parameterRestrictions.txt @@ -1,7 +1,7 @@ package +public val x: WithVariance /* = kotlin.Int */ = 0 public typealias WithBounds1 = kotlin.Int public typealias WithBounds2 = kotlin.Int public typealias WithBounds3 = kotlin.Int public typealias WithVariance = kotlin.Int -public val x: WithVariance /* = kotlin.Int */ = 0 diff --git a/compiler/testData/diagnostics/tests/typealias/parameterSubstitution.txt b/compiler/testData/diagnostics/tests/typealias/parameterSubstitution.txt index c4f82e5a0bd..14f96b3cb65 100644 --- a/compiler/testData/diagnostics/tests/typealias/parameterSubstitution.txt +++ b/compiler/testData/diagnostics/tests/typealias/parameterSubstitution.txt @@ -1,6 +1,5 @@ package -public typealias CA = C public val ca1: CA /* = C */ public val ca2: CA /* = C */> /* = C /* = C */> */ public val ca3: CA> /* = C> */ @@ -12,3 +11,4 @@ public final class C { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias CA = C diff --git a/compiler/testData/diagnostics/tests/typealias/projectionsInTypeAliasConstructor.txt b/compiler/testData/diagnostics/tests/typealias/projectionsInTypeAliasConstructor.txt index f0648e2a09b..61114518597 100644 --- a/compiler/testData/diagnostics/tests/typealias/projectionsInTypeAliasConstructor.txt +++ b/compiler/testData/diagnostics/tests/typealias/projectionsInTypeAliasConstructor.txt @@ -1,6 +1,5 @@ package -public typealias InAlias = In public val test1: In public val test2: In @@ -11,3 +10,4 @@ public final class In { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias InAlias = In diff --git a/compiler/testData/diagnostics/tests/typealias/recursive.txt b/compiler/testData/diagnostics/tests/typealias/recursive.txt index 61c8e999fc0..f7eda2c0410 100644 --- a/compiler/testData/diagnostics/tests/typealias/recursive.txt +++ b/compiler/testData/diagnostics/tests/typealias/recursive.txt @@ -1,9 +1,9 @@ package +public val x: [ERROR : Recursive type alias: A] public typealias A = B public typealias B = A public typealias F1 = (kotlin.Int) -> F2 public typealias F2 = (F1) -> kotlin.Int public typealias L = kotlin.collections.List public typealias R = R -public val x: [ERROR : Recursive type alias: A] diff --git a/compiler/testData/diagnostics/tests/typealias/returnTypeNothingShouldBeSpecifiedExplicitly.txt b/compiler/testData/diagnostics/tests/typealias/returnTypeNothingShouldBeSpecifiedExplicitly.txt index f9156cfa7ff..a7016d85523 100644 --- a/compiler/testData/diagnostics/tests/typealias/returnTypeNothingShouldBeSpecifiedExplicitly.txt +++ b/compiler/testData/diagnostics/tests/typealias/returnTypeNothingShouldBeSpecifiedExplicitly.txt @@ -1,6 +1,6 @@ package -public typealias N = kotlin.Nothing public val testVal: N /* = kotlin.Nothing */ public val testValWithGetter: N /* = kotlin.Nothing */ public fun testFun(): N /* = kotlin.Nothing */ +public typealias N = kotlin.Nothing diff --git a/compiler/testData/diagnostics/tests/typealias/simpleTypeAlias.txt b/compiler/testData/diagnostics/tests/typealias/simpleTypeAlias.txt index 9f907c8b249..6acb6ccf99c 100644 --- a/compiler/testData/diagnostics/tests/typealias/simpleTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/simpleTypeAlias.txt @@ -1,9 +1,9 @@ package -public typealias S = kotlin.String -public typealias SS = S -public typealias SSS = SS public val s1: SSS /* = kotlin.String */ = "" public val s2: SSS? /* = kotlin.String? */ = null public val s3: kotlin.collections.List? = null public val s4: kotlin.collections.List?>? = null +public typealias S = kotlin.String +public typealias SS = S +public typealias SSS = SS diff --git a/compiler/testData/diagnostics/tests/typealias/starProjectionInTypeAliasArgument.txt b/compiler/testData/diagnostics/tests/typealias/starProjectionInTypeAliasArgument.txt index 3346924858b..d04ef498688 100644 --- a/compiler/testData/diagnostics/tests/typealias/starProjectionInTypeAliasArgument.txt +++ b/compiler/testData/diagnostics/tests/typealias/starProjectionInTypeAliasArgument.txt @@ -1,6 +1,5 @@ package -public typealias Test = NumCharSeq public fun getM(/*0*/ t: Test<*, *> /* = NumCharSeq<*, *> */): kotlin.CharSequence public fun getN(/*0*/ t: Test<*, *> /* = NumCharSeq<*, *> */): kotlin.Number @@ -12,3 +11,4 @@ public final class NumCharSeq = NumCharSeq diff --git a/compiler/testData/diagnostics/tests/typealias/substitutionVariance.txt b/compiler/testData/diagnostics/tests/typealias/substitutionVariance.txt index 07e90caed0f..df29a342767 100644 --- a/compiler/testData/diagnostics/tests/typealias/substitutionVariance.txt +++ b/compiler/testData/diagnostics/tests/typealias/substitutionVariance.txt @@ -1,17 +1,5 @@ package -public typealias In1 = In -public typealias In2 = In -public typealias In3 = In -public typealias In4 = In<*> -public typealias Inv1 = Inv -public typealias Inv2 = Inv -public typealias Inv3 = Inv -public typealias Inv4 = Inv<*> -public typealias Out1 = Out -public typealias Out2 = Out -public typealias Out3 = Out -public typealias Out4 = Out<*> public val inv1: Inv1 /* = Inv */ public final class In { @@ -34,3 +22,15 @@ public final class Out { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias In1 = In +public typealias In2 = In +public typealias In3 = In +public typealias In4 = In<*> +public typealias Inv1 = Inv +public typealias Inv2 = Inv +public typealias Inv3 = Inv +public typealias Inv4 = Inv<*> +public typealias Out1 = Out +public typealias Out2 = Out +public typealias Out3 = Out +public typealias Out4 = Out<*> diff --git a/compiler/testData/diagnostics/tests/typealias/throwJLException.txt b/compiler/testData/diagnostics/tests/typealias/throwJLException.txt index e21513a1ff2..260c2d07821 100644 --- a/compiler/testData/diagnostics/tests/typealias/throwJLException.txt +++ b/compiler/testData/diagnostics/tests/typealias/throwJLException.txt @@ -1,4 +1,4 @@ package -public typealias Exn = java.lang.Exception public fun test(): kotlin.Unit +public typealias Exn = java.lang.Exception diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInCompanionObject.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInCompanionObject.txt index 5f03c7f6530..63478a2e346 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInCompanionObject.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInCompanionObject.txt @@ -1,6 +1,5 @@ package -public typealias C2 = C public val test1: kotlin.String public val test2: kotlin.String = "OK" @@ -18,3 +17,4 @@ public final class C { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } } +public typealias C2 = C diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInConstructor.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInConstructor.txt index 8a3f8912797..2370e60130e 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInConstructor.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasArgumentsInConstructor.txt @@ -1,6 +1,5 @@ package -public typealias P2 = Pair public val test1: Pair public val test1x1: kotlin.String public val test1x2: kotlin.String @@ -16,3 +15,4 @@ public final class Pair { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias P2 = Pair diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasAsQualifier.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasAsQualifier.txt index 9de824b3606..bcc2798d9f6 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasAsQualifier.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasAsQualifier.txt @@ -8,14 +8,12 @@ public val ok: kotlin.String = "OK" public val x: [ERROR : Type for C.Self.X] public final class C { - public typealias Self = C public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public final class Nested { - public typealias Root = C public constructor Nested() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @@ -27,6 +25,7 @@ public final class C { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + public typealias Root = C } public companion object X { @@ -43,4 +42,5 @@ public final class C { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } } + public typealias Self = C } diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasConstructor.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasConstructor.txt index a7487719d70..e1de949947e 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasConstructor.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasConstructor.txt @@ -1,8 +1,5 @@ package -public typealias TC = C -public typealias TI = Interface -public typealias TO = AnObject public val test1: C public val test2: TC /* = C */ public val test3: C @@ -34,3 +31,6 @@ public interface Interface { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias TC = C +public typealias TI = Interface +public typealias TO = AnObject diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasObject.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasObject.txt index 83f14b92a8d..127e289f194 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasObject.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasObject.txt @@ -1,8 +1,5 @@ package -public typealias TestCWC = ClassWithCompanion -public typealias TestObject = AnObject -public typealias TestObject2 = TestObject public val test11: AnObject public val test12: TestObject /* = AnObject */ public val test13: kotlin.String = "OK" @@ -40,3 +37,6 @@ public final class ClassWithCompanion { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } } +public typealias TestCWC = ClassWithCompanion +public typealias TestObject = AnObject +public typealias TestObject2 = TestObject diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasObjectWithInvoke.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasObjectWithInvoke.txt index 58ccc1dcebf..c159234cddc 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasObjectWithInvoke.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasObjectWithInvoke.txt @@ -1,7 +1,5 @@ package -public typealias CWI = ClassWithCompanionObjectWithInvoke -public typealias WI = ObjectWithInvoke public val test1: ObjectWithInvoke public val test2: ObjectWithInvoke public val test3: ClassWithCompanionObjectWithInvoke @@ -31,3 +29,5 @@ public object ObjectWithInvoke { public final operator fun invoke(): ObjectWithInvoke public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias CWI = ClassWithCompanionObjectWithInvoke +public typealias WI = ObjectWithInvoke diff --git a/compiler/testData/diagnostics/tests/typealias/typeAliasShouldExpandToClass.txt b/compiler/testData/diagnostics/tests/typealias/typeAliasShouldExpandToClass.txt index 51c73fefa46..7993158b21f 100644 --- a/compiler/testData/diagnostics/tests/typealias/typeAliasShouldExpandToClass.txt +++ b/compiler/testData/diagnostics/tests/typealias/typeAliasShouldExpandToClass.txt @@ -1,19 +1,18 @@ package +public final class Outer { + public constructor Outer() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public typealias ToTypeParam1 = T + public typealias ToTypeParam2 = Outer.ToTypeParam1 + public typealias ToTypeParam3 = Outer.ToTypeParam2 + public typealias ToTypeParam4 = Outer.ToTypeParam1 +} public typealias ToFun1 = () -> kotlin.Unit public typealias ToFun2 = (T) -> kotlin.Unit public typealias ToTypeParam1 = T public typealias ToTypeParam2 = ToTypeParam1 public typealias ToTypeParam3 = ToTypeParam2 public typealias ToTypeParam4 = ToTypeParam1 - -public final class Outer { - public typealias ToTypeParam1 = T - public typealias ToTypeParam2 = Outer.ToTypeParam1 - public typealias ToTypeParam3 = Outer.ToTypeParam2 - public typealias ToTypeParam4 = Outer.ToTypeParam1 - public constructor Outer() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/testData/diagnostics/tests/typealias/unsupportedTypeAlias.txt b/compiler/testData/diagnostics/tests/typealias/unsupportedTypeAlias.txt index 64b3719b497..cf3988b0ef6 100644 --- a/compiler/testData/diagnostics/tests/typealias/unsupportedTypeAlias.txt +++ b/compiler/testData/diagnostics/tests/typealias/unsupportedTypeAlias.txt @@ -1,8 +1,5 @@ package -public typealias CA = [ERROR : CA] -public typealias L = [ERROR : L] -public typealias S = [ERROR : S] public val test1: [ERROR : S] public fun test2(/*0*/ x: [ERROR : L]<[ERROR : S]>): [ERROR : L]<[ERROR : S]> @@ -19,3 +16,6 @@ public final class Test3 { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias CA = [ERROR : CA] +public typealias L = [ERROR : L] +public typealias S = [ERROR : S] diff --git a/compiler/testData/diagnostics/tests/typealias/wrongNumberOfArgumentsInTypeAliasConstructor.txt b/compiler/testData/diagnostics/tests/typealias/wrongNumberOfArgumentsInTypeAliasConstructor.txt index d250dc708f8..eca2cf7af29 100644 --- a/compiler/testData/diagnostics/tests/typealias/wrongNumberOfArgumentsInTypeAliasConstructor.txt +++ b/compiler/testData/diagnostics/tests/typealias/wrongNumberOfArgumentsInTypeAliasConstructor.txt @@ -1,9 +1,5 @@ package -public typealias N = Num -public typealias P = Pair -public typealias P2 = Pair -public typealias PR = Pair public val test0: Pair public val test0p2: Pair public val test0p2a: Pair @@ -39,3 +35,7 @@ public final class Pair { public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } +public typealias N = Num +public typealias P = Pair +public typealias P2 = Pair +public typealias PR = Pair diff --git a/compiler/testData/loadJava/compiledKotlin/typealias/Annotations.txt b/compiler/testData/loadJava/compiledKotlin/typealias/Annotations.txt index 6c5524ac0d3..e39d2972542 100644 --- a/compiler/testData/loadJava/compiledKotlin/typealias/Annotations.txt +++ b/compiler/testData/loadJava/compiledKotlin/typealias/Annotations.txt @@ -1,10 +1,9 @@ package test -@test.Ann() public typealias A1 = kotlin.String -@test.Ann(value = "OK") public typealias A2 = kotlin.String - public final annotation class Ann : kotlin.Annotation { /*primary*/ public constructor Ann(/*0*/ value: kotlin.String = ...) public final val value: kotlin.String public final fun (): kotlin.String } +@test.Ann() public typealias A1 = kotlin.String +@test.Ann(value = "OK") public typealias A2 = kotlin.String diff --git a/compiler/testData/loadJava/compiledKotlin/typealias/Basic.txt b/compiler/testData/loadJava/compiledKotlin/typealias/Basic.txt index a2f1b3b6cf8..979d66fcc28 100644 --- a/compiler/testData/loadJava/compiledKotlin/typealias/Basic.txt +++ b/compiler/testData/loadJava/compiledKotlin/typealias/Basic.txt @@ -1,8 +1,5 @@ package test -public typealias S = kotlin.String -public typealias SS = test.S -public typealias SSS = test.SS public val x1: test.S /* = kotlin.String */ = "" public fun (): test.S /* = kotlin.String */ public val x2: test.SS /* = kotlin.String */ = "" @@ -15,3 +12,6 @@ public val x5: test.SS? /* = kotlin.String? */ = "" public fun (): test.SS? /* = kotlin.String? */ public val x6: test.SSS? /* = kotlin.String? */ = "" public fun (): test.SSS? /* = kotlin.String? */ +public typealias S = kotlin.String +public typealias SS = test.S +public typealias SSS = test.SS diff --git a/compiler/testData/loadJava/compiledKotlin/typealias/Generic.txt b/compiler/testData/loadJava/compiledKotlin/typealias/Generic.txt index 0729f70a1b3..f4562542f26 100644 --- a/compiler/testData/loadJava/compiledKotlin/typealias/Generic.txt +++ b/compiler/testData/loadJava/compiledKotlin/typealias/Generic.txt @@ -1,11 +1,11 @@ package test -public typealias L = kotlin.collections.List -public typealias LL = test.L -public typealias LLL = test.LL public fun test1(/*0*/ x: test.L /* = kotlin.collections.List */): kotlin.Unit public fun test2(/*0*/ x: test.LL /* = kotlin.collections.List */): kotlin.Unit public fun test3(/*0*/ x: test.LLL /* = kotlin.collections.List */): kotlin.Unit public fun test4(/*0*/ x: test.L /* = kotlin.collections.List */> /* = kotlin.collections.List /* = kotlin.collections.List */> */): kotlin.Unit public fun test5(/*0*/ x: test.LL /* = kotlin.collections.List */> /* = kotlin.collections.List /* = kotlin.collections.List */> */): kotlin.Unit public fun test6(/*0*/ x: test.LLL /* = kotlin.collections.List */> /* = kotlin.collections.List /* = kotlin.collections.List */> */): kotlin.Unit +public typealias L = kotlin.collections.List +public typealias LL = test.L +public typealias LLL = test.LL diff --git a/compiler/testData/loadJava/compiledKotlin/typealias/Nested.txt b/compiler/testData/loadJava/compiledKotlin/typealias/Nested.txt index 4d70fd2fa35..a8908a84e3b 100644 --- a/compiler/testData/loadJava/compiledKotlin/typealias/Nested.txt +++ b/compiler/testData/loadJava/compiledKotlin/typealias/Nested.txt @@ -1,12 +1,11 @@ package test public final class Outer { - public typealias Test1 /*captured type parameters: /*1*/ X*/ = test.Pair /*primary*/ public constructor Outer() public final inner class Inner /*captured type parameters: /*1*/ X*/ { - public typealias Test3 /*captured type parameters: /*1*/ Z, /*2*/ X*/ = test.Triple /*primary*/ public constructor Inner() + public typealias Test3 /*captured type parameters: /*1*/ Z, /*2*/ X*/ = test.Triple } public final inner class InnerTest1 /*captured type parameters: /*1*/ X*/ : test.Pair { @@ -14,9 +13,10 @@ public final class Outer { } public final class Nested { - public typealias Test2 /*captured type parameters: /*1*/ Y*/ = test.Pair /*primary*/ public constructor Nested() + public typealias Test2 /*captured type parameters: /*1*/ Y*/ = test.Pair } + public typealias Test1 /*captured type parameters: /*1*/ X*/ = test.Pair } public open class Pair { diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/MemberComparator.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/MemberComparator.java index bd68b271a14..f5ddb9bb130 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/MemberComparator.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/MemberComparator.java @@ -48,32 +48,32 @@ public class MemberComparator implements Comparator { } private static int getDeclarationPriority(DeclarationDescriptor descriptor) { - if (descriptor instanceof TypeAliasDescriptor) { + if (isEnumEntry(descriptor)) { return 8; } - else if (isEnumEntry(descriptor)) { - return 7; - } else if (descriptor instanceof ConstructorDescriptor) { - return 6; + return 7; } else if (descriptor instanceof PropertyDescriptor) { if (((PropertyDescriptor)descriptor).getExtensionReceiverParameter() == null) { - return 5; + return 6; } else { - return 4; + return 5; } } else if (descriptor instanceof FunctionDescriptor) { if (((FunctionDescriptor)descriptor).getExtensionReceiverParameter() == null) { - return 3; + return 4; } else { - return 2; + return 3; } } else if (descriptor instanceof ClassDescriptor) { + return 2; + } + else if (descriptor instanceof TypeAliasDescriptor) { return 1; } return 0;