Files
kotlin-fork/compiler/testData/diagnostics/tests/overload/noConflictingOverloadsWithDeprecatedHidden/ConstructorsInPackage.kt
T
2023-11-14 17:58:20 +00:00

287 lines
13 KiB
Kotlin
Vendored

// DIAGNOSTICS: -CONFLICTING_JVM_DECLARATIONS, -MISPLACED_TYPE_PARAMETER_CONSTRAINTS
package pkg
class TestBasic {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!>
<!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestIdenticalPrimaryAndSecondaryConstructorsA <!CONFLICTING_OVERLOADS!>constructor()<!> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!> : this()
}
class TestIdenticalPrimaryAndSecondaryConstructorsB<!CONFLICTING_OVERLOADS!>()<!> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!> : this()
}
class TestIdenticalDelegatedPrimaryConstructorCalls constructor(placeholder: UserKlass) {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!> : this(UserKlass())
<!CONFLICTING_OVERLOADS!>constructor()<!> : this(UserKlass())
}
open class SuperConstructorSource constructor(placeholder: UserKlass)
class TestIdenticalDelegatedSuperConstructorCalls: SuperConstructorSource {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!> : super(UserKlass())
<!CONFLICTING_OVERLOADS!>constructor()<!> : super(UserKlass())
}
class TestIdenticalValueParameters {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass)<!>
}
class TestDifferentlyNamedValueParameters {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(argA: UserKlass)<!>
<!CONFLICTING_OVERLOADS!>constructor(argB: UserKlass)<!>
}
class TestTypeAliasedValueParameterTypes {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: SameUserKlass)<!>
}
class TestTypeAliasedValueParameterTypesReverse {
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass)<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: SameUserKlass)<!>
}
class TestMultipleIdenticalValueParameters {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: UserKlassB)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: UserKlassB)<!>
}
class TestMultipleDifferentlyNamedValueParametersA {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2A: UserKlassB)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2B: UserKlassB)<!>
}
class TestMultipleDifferentlyNamedValueParametersB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1A: UserKlassA, arg2A: UserKlassB)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg1B: UserKlassA, arg2B: UserKlassB)<!>
}
class TestMultipleTypeAliasedValueParameterTypesA {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: UserKlassB)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: SameUserKlassB)<!>
}
class TestMultipleTypeAliasedValueParameterTypesAReverse {
<!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: UserKlassB)<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: SameUserKlassB)<!>
}
class TestMultipleTypeAliasedValueParameterTypesB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: UserKlassB)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg1: SameUserKlassA, arg2: SameUserKlassB)<!>
}
class TestMultipleTypeAliasedValueParameterTypesBReverse {
<!CONFLICTING_OVERLOADS!>constructor(arg1: UserKlassA, arg2: UserKlassB)<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg1: SameUserKlassA, arg2: SameUserKlassB)<!>
}
class TestValueParameterWithIdenticalDefaultArguments {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgument)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgument)<!>
}
class TestDifferencesInValueParameterDefaultArgumentsPresence {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgument)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass)<!>
}
class TestDifferencesInValueParameterDefaultArgumentsPresenceReverse {
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgument)<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass)<!>
}
class TestValueParameterWithDifferentDefaultArguments {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgumentA)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgumentB)<!>
}
class TestValueParameterWithAliasedDefaultArguments {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgument)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = sameDefaultArgument)<!>
}
class TestValueParameterWithAliasedDefaultArgumentsReverse {
<!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = defaultArgument)<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: UserKlass = sameDefaultArgument)<!>
}
class TestIdenticalTypeParametersA<T> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!>
<!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestIdenticalTypeParametersB<T> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
}
class TestIdenticalTypeParametersC<T> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
}
class TestMultipleIdenticalTypeParameters<T1, T2> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!>
<!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestTypeParameterWithIdenticalUpperBoundsA<T: UserInterface> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!>
<!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestTypeParameterWithIdenticalUpperBoundsB<T: UserInterface> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
}
class TestTypeParameterWithIdenticalUpperBoundsC<T: UserInterface> {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
}
class TestTypeParameterWithMultipleIdenticalUpperBoundsAA<T> where T: UserInterfaceA, T: UserInterfaceB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!>
<!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestTypeParameterWithMultipleIdenticalUpperBoundsAB<T> where T: UserInterfaceA, T: UserInterfaceB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
}
class TestTypeParameterWithMultipleIdenticalUpperBoundsAC<T> where T: UserInterfaceA, T: UserInterfaceB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
}
class TestTypeParameterWithMultipleIdenticalUpperBoundsBA<T: UserInterfaceA> where T: UserInterfaceB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor()<!>
<!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestTypeParameterWithMultipleIdenticalUpperBoundsBB<T: UserInterfaceA> where T: UserInterfaceB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: T)<!>
}
class TestTypeParameterWithMultipleIdenticalUpperBoundsBC<T: UserInterfaceA> where T: UserInterfaceB {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) <!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
<!CONFLICTING_OVERLOADS!>constructor(arg: Invariant<T>)<!>
}
class TestIdenticalPrivateVisibility {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) private <!CONFLICTING_OVERLOADS!>constructor()<!>
private <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestIdenticalInternalVisibility {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) internal <!CONFLICTING_OVERLOADS!>constructor()<!>
internal <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestIdenticalProtectedVisibility {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) protected <!CONFLICTING_OVERLOADS!>constructor()<!>
protected <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestDifferencesInPrivateAndPublicVisibilities {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) private <!CONFLICTING_OVERLOADS!>constructor()<!>
public <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestDifferencesInPrivateAndPublicVisibilitiesReverse {
private <!CONFLICTING_OVERLOADS!>constructor()<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) public <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestDifferencesInInternalAndPublicVisibilities {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) internal <!CONFLICTING_OVERLOADS!>constructor()<!>
public <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestDifferencesInInternalAndPublicVisibilitiesReverse {
internal <!CONFLICTING_OVERLOADS!>constructor()<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) public <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestDifferencesInProtectedAndPublicVisibilities {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) protected <!CONFLICTING_OVERLOADS!>constructor()<!>
public <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestDifferencesInProtectedAndPublicVisibilitiesReverse {
protected <!CONFLICTING_OVERLOADS!>constructor()<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) public <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestDifferencesInPrivateAndInternalVisibilities {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) private <!CONFLICTING_OVERLOADS!>constructor()<!>
internal <!CONFLICTING_OVERLOADS!>constructor()<!>
}
class TestDifferencesInPrivateAndInternalVisibilitiesReverse {
private <!CONFLICTING_OVERLOADS!>constructor()<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) internal <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestDifferencesInProtectedAndPrivateVisibilities {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) protected <!CONFLICTING_OVERLOADS!>constructor()<!>
private <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestDifferencesInProtectedAndPrivateVisibilitiesReverse {
protected <!CONFLICTING_OVERLOADS!>constructor()<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) private <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestDifferencesInProtectedAndInternalVisibilities {
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) protected <!CONFLICTING_OVERLOADS!>constructor()<!>
internal <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class TestDifferencesInProtectedAndInternalVisibilitiesReverse {
protected <!CONFLICTING_OVERLOADS!>constructor()<!>
@Deprecated(message = "", level = DeprecationLevel.HIDDEN) internal <!CONFLICTING_OVERLOADS!>constructor()<!>
}
open class Invariant<T>
class UserKlass
class UserKlassA
class UserKlassB
typealias SameUserKlass = UserKlass
typealias SameUserKlassA = UserKlassA
typealias SameUserKlassB = UserKlassB
val defaultArgument = UserKlass()
val defaultArgumentA = UserKlass()
val defaultArgumentB = UserKlass()
val sameDefaultArgument = defaultArgument
interface UserInterface
interface UserInterfaceA
interface UserInterfaceB