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

290 lines
11 KiB
Kotlin
Vendored

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