diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/Renderers.kt b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/Renderers.kt index 2a1061b0c49..46879fbc1b0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/Renderers.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/Renderers.kt @@ -369,7 +369,7 @@ public object Renderers { val renderBound = { bound: Bound -> val arrow = if (bound.kind == LOWER_BOUND) ">: " else if (bound.kind == UPPER_BOUND) "<: " else ":= " val renderer = if (short) DescriptorRenderer.SHORT_NAMES_IN_TYPES else DescriptorRenderer.FQ_NAMES_IN_TYPES - val renderedBound = arrow + renderer.renderType(bound.constrainingType) + val renderedBound = arrow + renderer.renderType(bound.constrainingType) + if (!bound.isProper) "*" else "" if (short) renderedBound else renderedBound + '(' + bound.position + ')' } val typeVariableName = typeBounds.typeVariable.getName() diff --git a/compiler/testData/constraintSystem/declarations/declarations.kt b/compiler/testData/constraintSystem/declarations/declarations.kt index 832e99dd7f9..43edc7fdd90 100644 --- a/compiler/testData/constraintSystem/declarations/declarations.kt +++ b/compiler/testData/constraintSystem/declarations/declarations.kt @@ -1,4 +1,4 @@ -fun foo() = 42 +fun foo() = 42 interface A interface B : A @@ -7,4 +7,7 @@ interface C : B interface Consumer interface Producer -interface My \ No newline at end of file +interface My +interface Successor : My + +interface Two \ No newline at end of file diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.bounds new file mode 100644 index 00000000000..8024f737d4f --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +EQUAL P Consumer + +type parameter bounds: +T := Int +P := Consumer*, := Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.constraints new file mode 100644 index 00000000000..e0751422bfb --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +EQUAL P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.bounds new file mode 100644 index 00000000000..c2fc7ab00de --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +SUBTYPE P Consumer + +type parameter bounds: +T := Int +P <: Consumer*, <: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.constraints new file mode 100644 index 00000000000..75fcfd4c9ff --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +SUBTYPE P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.bounds new file mode 100644 index 00000000000..0b0061363ab --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +SUPERTYPE P Consumer + +type parameter bounds: +T := Int +P >: Consumer*, >: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.constraints new file mode 100644 index 00000000000..7a1aec72d51 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +SUPERTYPE P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.bounds new file mode 100644 index 00000000000..6f65f248bfa --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL P Consumer + +type parameter bounds: +T <: Int +P := Consumer*, >: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.constraints new file mode 100644 index 00000000000..656c4453f9b --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.bounds new file mode 100644 index 00000000000..36a2e0520dc --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P Consumer + +type parameter bounds: +T <: Int +P <: Consumer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.constraints new file mode 100644 index 00000000000..2350a783ecd --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.bounds new file mode 100644 index 00000000000..39f56ee5890 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUPERTYPE P Consumer + +type parameter bounds: +T <: Int +P >: Consumer*, >: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.constraints new file mode 100644 index 00000000000..9aecf5e8d88 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUPERTYPE P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.bounds new file mode 100644 index 00000000000..4834575e0ad --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +EQUAL P Consumer + +type parameter bounds: +T >: Int +P := Consumer*, <: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.constraints new file mode 100644 index 00000000000..cbfda275da8 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +EQUAL P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.bounds new file mode 100644 index 00000000000..0a23d492e16 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +SUBTYPE P Consumer + +type parameter bounds: +T >: Int +P <: Consumer*, <: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.constraints new file mode 100644 index 00000000000..568af53e3ad --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +SUBTYPE P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.bounds new file mode 100644 index 00000000000..4f3044bf3b6 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +SUPERTYPE P Consumer + +type parameter bounds: +T >: Int +P >: Consumer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.constraints new file mode 100644 index 00000000000..8b0dfe5cacc --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +SUPERTYPE P Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.bounds new file mode 100644 index 00000000000..97cfc9021cc --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +EQUAL P Producer + +type parameter bounds: +T := Int +P := Producer*, := Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.constraints new file mode 100644 index 00000000000..2746dec14a2 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +EQUAL P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.bounds new file mode 100644 index 00000000000..a64e6b35110 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +SUBTYPE P Producer + +type parameter bounds: +T := Int +P <: Producer*, <: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.constraints new file mode 100644 index 00000000000..bbf66b8dc5c --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +SUBTYPE P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.bounds new file mode 100644 index 00000000000..a7d277e6d78 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +SUPERTYPE P Producer + +type parameter bounds: +T := Int +P >: Producer*, >: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.constraints new file mode 100644 index 00000000000..bf14baf3586 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +SUPERTYPE P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.bounds new file mode 100644 index 00000000000..2e6d9556f28 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL P Producer + +type parameter bounds: +T <: Int +P := Producer*, <: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.constraints new file mode 100644 index 00000000000..ffb31352379 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.bounds new file mode 100644 index 00000000000..361dc47e8f3 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P Producer + +type parameter bounds: +T <: Int +P <: Producer*, <: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.constraints new file mode 100644 index 00000000000..6393295827d --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.bounds new file mode 100644 index 00000000000..8639d321f5e --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUPERTYPE P Producer + +type parameter bounds: +T <: Int +P >: Producer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.constraints new file mode 100644 index 00000000000..b5020891ab8 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUPERTYPE P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.bounds new file mode 100644 index 00000000000..23c0cb99974 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +EQUAL P Producer + +type parameter bounds: +T >: Int +P := Producer*, >: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.constraints new file mode 100644 index 00000000000..879c938ebd8 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +EQUAL P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.bounds new file mode 100644 index 00000000000..415a1a067ac --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +SUBTYPE P Producer + +type parameter bounds: +T >: Int +P <: Producer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.constraints new file mode 100644 index 00000000000..f433623b950 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +SUBTYPE P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.bounds new file mode 100644 index 00000000000..4fa524d6a8b --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +SUPERTYPE P Producer + +type parameter bounds: +T >: Int +P >: Producer*, >: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.constraints new file mode 100644 index 00000000000..8138eb7582f --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +SUPERTYPE P Producer diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.bounds new file mode 100644 index 00000000000..e44ed01c3c5 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +EQUAL P My + +type parameter bounds: +T := Int +P := My*, := My + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.constraints new file mode 100644 index 00000000000..a422162d64a --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +EQUAL P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.bounds new file mode 100644 index 00000000000..5db77f8abf4 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +SUBTYPE P My + +type parameter bounds: +T := Int +P <: My*, <: My + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.constraints new file mode 100644 index 00000000000..b04f0ca41a0 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +SUBTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.bounds new file mode 100644 index 00000000000..2607d61fdeb --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T Int +SUPERTYPE P My + +type parameter bounds: +T := Int +P >: My*, >: My + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.constraints new file mode 100644 index 00000000000..3b0b9ae47e3 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T Int +SUPERTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.bounds new file mode 100644 index 00000000000..882513d21b3 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL P My + +type parameter bounds: +T <: Int +P := My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.constraints new file mode 100644 index 00000000000..877c4529d1b --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.bounds new file mode 100644 index 00000000000..d9bcc3cf734 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P My + +type parameter bounds: +T <: Int +P <: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.constraints new file mode 100644 index 00000000000..90ae60529e4 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.bounds new file mode 100644 index 00000000000..981743dc98c --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUPERTYPE P My + +type parameter bounds: +T <: Int +P >: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.constraints new file mode 100644 index 00000000000..d51ee811788 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUPERTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.bounds new file mode 100644 index 00000000000..e15e5a52141 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +EQUAL P My + +type parameter bounds: +T >: Int +P := My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.constraints new file mode 100644 index 00000000000..785f2d53719 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +EQUAL P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.bounds new file mode 100644 index 00000000000..a83b3d88707 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +SUBTYPE P My + +type parameter bounds: +T >: Int +P <: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.constraints new file mode 100644 index 00000000000..9d1ebe0beac --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +SUBTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.bounds new file mode 100644 index 00000000000..0b14956e976 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE T Int +SUPERTYPE P My + +type parameter bounds: +T >: Int +P >: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.constraints new file mode 100644 index 00000000000..e5f1c829e43 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE T Int +SUPERTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.bounds b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.bounds new file mode 100644 index 00000000000..c1fc7b01a62 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.bounds @@ -0,0 +1,27 @@ +VARIABLES T P E +FIX_VARIABLES + +SUBTYPE P My +SUBTYPE Successor P +SUBTYPE Int T + +type parameter bounds: +T := T*, := E*, >: Int, := Int +P <: My*, >: Successor*, >: Successor*, <: My*, <: My, >: Successor, := Successor +E := T*, := E*, >: Int, := Int + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Successor +E=Int diff --git a/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.constraints b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.constraints new file mode 100644 index 00000000000..2652dc43ebc --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.constraints @@ -0,0 +1,6 @@ +VARIABLES T P E +FIX_VARIABLES + +SUBTYPE P My +SUBTYPE Successor P +SUBTYPE Int T diff --git a/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.bounds b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.bounds new file mode 100644 index 00000000000..35b97462777 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.bounds @@ -0,0 +1,27 @@ +VARIABLES T P E +FIX_VARIABLES + +SUBTYPE P My +SUBTYPE Int T +SUBTYPE Successor P + +type parameter bounds: +T >: Int, := T*, := E*, := Int +P <: My*, >: Successor*, >: Successor*, <: My*, <: My, >: Successor, := Successor +E := T*, >: Int, := E*, := Int + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Successor +E=Int diff --git a/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.constraints b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.constraints new file mode 100644 index 00000000000..3ca6e06e52a --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.constraints @@ -0,0 +1,6 @@ +VARIABLES T P E +FIX_VARIABLES + +SUBTYPE P My +SUBTYPE Int T +SUBTYPE Successor P diff --git a/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.bounds b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.bounds new file mode 100644 index 00000000000..4cfdbef528f --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.bounds @@ -0,0 +1,27 @@ +VARIABLES T P E +FIX_VARIABLES + +SUBTYPE Int T +SUBTYPE Successor P +SUBTYPE P My + +type parameter bounds: +T >: Int, := T*, := E*, := Int +P >: Successor*, <: My*, >: Successor*, <: My*, <: My, >: Successor, := Successor +E := T*, >: Int, := E*, := Int + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Successor +E=Int diff --git a/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.constraints b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.constraints new file mode 100644 index 00000000000..f97c8a922fe --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.constraints @@ -0,0 +1,6 @@ +VARIABLES T P E +FIX_VARIABLES + +SUBTYPE Int T +SUBTYPE Successor P +SUBTYPE P My diff --git a/compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.bounds b/compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.bounds new file mode 100644 index 00000000000..ba87365ac36 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL T My

+EQUAL P Two + +type parameter bounds: +T := My

* +P := Two* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=??? +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.constraints b/compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.constraints new file mode 100644 index 00000000000..67356268c6e --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL T My

+EQUAL P Two diff --git a/compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.bounds b/compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.bounds new file mode 100644 index 00000000000..ec71b874753 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.bounds @@ -0,0 +1,21 @@ +VARIABLES T + +EQUAL T Int +EQUAL T My + +type parameter bounds: +T := Int, := My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: true +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: true +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int diff --git a/compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.constraints b/compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.constraints new file mode 100644 index 00000000000..855ddd3e6d8 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.constraints @@ -0,0 +1,4 @@ +VARIABLES T + +EQUAL T Int +EQUAL T My diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.bounds new file mode 100644 index 00000000000..2bd66db1772 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P Consumer +EQUAL T Int + +type parameter bounds: +T := Int +P := Consumer*, := Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.constraints new file mode 100644 index 00000000000..8d549c39c52 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P Consumer +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.bounds new file mode 100644 index 00000000000..afa3652f02f --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P Consumer +EQUAL T Int + +type parameter bounds: +T := Int +P <: Consumer*, <: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.constraints new file mode 100644 index 00000000000..ec2fdfb23cf --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P Consumer +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.bounds new file mode 100644 index 00000000000..c6d316d75d2 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P Consumer +EQUAL T Int + +type parameter bounds: +T := Int +P >: Consumer*, >: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.constraints new file mode 100644 index 00000000000..988014d00a0 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P Consumer +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.bounds new file mode 100644 index 00000000000..89a9dcf5f2e --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P Consumer +SUBTYPE T Int + +type parameter bounds: +T <: Int +P := Consumer*, >: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.constraints new file mode 100644 index 00000000000..1108481bcc7 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P Consumer +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.bounds new file mode 100644 index 00000000000..8c13f889136 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P Consumer +SUBTYPE T Int + +type parameter bounds: +T <: Int +P <: Consumer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.constraints new file mode 100644 index 00000000000..f6b480df105 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P Consumer +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.bounds new file mode 100644 index 00000000000..59dc38abb16 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P Consumer +SUBTYPE T Int + +type parameter bounds: +T <: Int +P >: Consumer*, >: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.constraints new file mode 100644 index 00000000000..ba5d75b2383 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P Consumer +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.bounds new file mode 100644 index 00000000000..9c49f3eef8c --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P Consumer +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P := Consumer*, <: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.constraints new file mode 100644 index 00000000000..987c65f823a --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P Consumer +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.bounds new file mode 100644 index 00000000000..984211dd519 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P Consumer +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P <: Consumer*, <: Consumer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Consumer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.constraints new file mode 100644 index 00000000000..6cd684ec46d --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P Consumer +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.bounds new file mode 100644 index 00000000000..3303bd7f335 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P Consumer +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P >: Consumer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.constraints new file mode 100644 index 00000000000..39ed31fc197 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P Consumer +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.bounds new file mode 100644 index 00000000000..2a54eaf7bef --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P Producer +EQUAL T Int + +type parameter bounds: +T := Int +P := Producer*, := Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.constraints new file mode 100644 index 00000000000..bf63226aebd --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P Producer +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.bounds new file mode 100644 index 00000000000..a2fedd419a4 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P Producer +EQUAL T Int + +type parameter bounds: +T := Int +P <: Producer*, <: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.constraints new file mode 100644 index 00000000000..dfe4439d966 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P Producer +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.bounds new file mode 100644 index 00000000000..6ef6d2c6a5d --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P Producer +EQUAL T Int + +type parameter bounds: +T := Int +P >: Producer*, >: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.constraints new file mode 100644 index 00000000000..40fe9f33785 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P Producer +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.bounds new file mode 100644 index 00000000000..33f852ef188 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P Producer +SUBTYPE T Int + +type parameter bounds: +T <: Int +P := Producer*, <: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.constraints new file mode 100644 index 00000000000..f36cf11bb11 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P Producer +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.bounds new file mode 100644 index 00000000000..8511989ba6b --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P Producer +SUBTYPE T Int + +type parameter bounds: +T <: Int +P <: Producer*, <: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.constraints new file mode 100644 index 00000000000..adfb3431ffd --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P Producer +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.bounds new file mode 100644 index 00000000000..894de55e226 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P Producer +SUBTYPE T Int + +type parameter bounds: +T <: Int +P >: Producer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.constraints new file mode 100644 index 00000000000..5d73d96277c --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P Producer +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.bounds new file mode 100644 index 00000000000..c52306a9b47 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P Producer +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P := Producer*, >: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.constraints new file mode 100644 index 00000000000..aee017d21bc --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P Producer +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.bounds new file mode 100644 index 00000000000..6788c3c5227 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P Producer +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P <: Producer* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.constraints new file mode 100644 index 00000000000..ee18e2cfff3 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P Producer +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.bounds new file mode 100644 index 00000000000..0b499eab01c --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P Producer +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P >: Producer*, >: Producer + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Producer diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.constraints new file mode 100644 index 00000000000..154bc6eccfb --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P Producer +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.bounds new file mode 100644 index 00000000000..121d0523caa --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P My +EQUAL T Int + +type parameter bounds: +T := Int +P := My*, := My + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=My diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.constraints new file mode 100644 index 00000000000..2ab72319604 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P My +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.bounds new file mode 100644 index 00000000000..dc29c6058dc --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P My +EQUAL T Int + +type parameter bounds: +T := Int +P <: My*, <: My + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=My diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.constraints new file mode 100644 index 00000000000..0e4e6decd53 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P My +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.bounds new file mode 100644 index 00000000000..edd7c9937c2 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P My +EQUAL T Int + +type parameter bounds: +T := Int +P >: My*, >: My + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=My diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.constraints new file mode 100644 index 00000000000..ff801041f1a --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P My +EQUAL T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.bounds new file mode 100644 index 00000000000..8fa34297795 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P My +SUBTYPE T Int + +type parameter bounds: +T <: Int +P := My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.constraints new file mode 100644 index 00000000000..cc25624bebb --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P My +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.bounds new file mode 100644 index 00000000000..910cc6da5c6 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P My +SUBTYPE T Int + +type parameter bounds: +T <: Int +P <: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.constraints new file mode 100644 index 00000000000..8d20982d465 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P My +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.bounds new file mode 100644 index 00000000000..8388ad7a2ad --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P My +SUBTYPE T Int + +type parameter bounds: +T <: Int +P >: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.constraints new file mode 100644 index 00000000000..58df9d3ee81 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P My +SUBTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.bounds new file mode 100644 index 00000000000..632b3f91681 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +EQUAL P My +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P := My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.constraints new file mode 100644 index 00000000000..21247db3972 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +EQUAL P My +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.bounds new file mode 100644 index 00000000000..7e3aa9c5a0e --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE P My +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P <: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.constraints new file mode 100644 index 00000000000..35025b0d1b7 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE P My +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.bounds b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.bounds new file mode 100644 index 00000000000..0cfdde90f94 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUPERTYPE P My +SUPERTYPE T Int + +type parameter bounds: +T >: Int +P >: My* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.constraints b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.constraints new file mode 100644 index 00000000000..8679f0410bf --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUPERTYPE P My +SUPERTYPE T Int diff --git a/compiler/testData/constraintSystem/severalVariables/simpleDependency.bounds b/compiler/testData/constraintSystem/severalVariables/simpleDependency.bounds index b00387cb86b..31d0bbe9090 100644 --- a/compiler/testData/constraintSystem/severalVariables/simpleDependency.bounds +++ b/compiler/testData/constraintSystem/severalVariables/simpleDependency.bounds @@ -3,8 +3,8 @@ VARIABLES T P SUBTYPE T Int type parameter bounds: -T >: P, <: Int -P <: T, <: Int +T <: Int +P status: -hasCannotCaptureTypesError: false @@ -13,10 +13,10 @@ status: -hasErrorInConstrainingTypes: false -hasTypeConstructorMismatch: false -hasTypeInferenceIncorporationError: false --hasUnknownParameters: false +-hasUnknownParameters: true -hasViolatedUpperBound: false --isSuccessful: true +-isSuccessful: false result: T=Int -P=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/simpleEquality.bounds b/compiler/testData/constraintSystem/severalVariables/simpleEquality.bounds new file mode 100644 index 00000000000..e17af150262 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleEquality.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL T P + +type parameter bounds: +T <: Int, := P* +P <: Int, := T* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Int diff --git a/compiler/testData/constraintSystem/severalVariables/simpleEquality.constraints b/compiler/testData/constraintSystem/severalVariables/simpleEquality.constraints new file mode 100644 index 00000000000..b34fd87f315 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleEquality.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +EQUAL T P diff --git a/compiler/testData/constraintSystem/severalVariables/simpleEquality1.bounds b/compiler/testData/constraintSystem/severalVariables/simpleEquality1.bounds new file mode 100644 index 00000000000..31d1e7cf1ad --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleEquality1.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE Int T +EQUAL T P + +type parameter bounds: +T >: Int, := P* +P >: Int, := T* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Int diff --git a/compiler/testData/constraintSystem/severalVariables/simpleEquality1.constraints b/compiler/testData/constraintSystem/severalVariables/simpleEquality1.constraints new file mode 100644 index 00000000000..e395d91e7d8 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleEquality1.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE Int T +EQUAL T P diff --git a/compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.bounds b/compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.bounds new file mode 100644 index 00000000000..0e05381bf41 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE T P + +type parameter bounds: +T <: Int, <: P* +P >: T* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: true +-hasViolatedUpperBound: false +-isSuccessful: false + +result: +T=Int +P=??? diff --git a/compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.constraints b/compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.constraints new file mode 100644 index 00000000000..6823743fa36 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE T P diff --git a/compiler/testData/constraintSystem/severalVariables/simpleSubtype.bounds b/compiler/testData/constraintSystem/severalVariables/simpleSubtype.bounds new file mode 100644 index 00000000000..53e9e8a7941 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleSubtype.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P T + +type parameter bounds: +T <: Int, >: P* +P <: T*, <: Int + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Int diff --git a/compiler/testData/constraintSystem/severalVariables/simpleSubtype.constraints b/compiler/testData/constraintSystem/severalVariables/simpleSubtype.constraints new file mode 100644 index 00000000000..902c73f7a6a --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleSubtype.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE T Int +SUBTYPE P T diff --git a/compiler/testData/constraintSystem/severalVariables/simpleSubtype1.bounds b/compiler/testData/constraintSystem/severalVariables/simpleSubtype1.bounds new file mode 100644 index 00000000000..8580fda0452 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleSubtype1.bounds @@ -0,0 +1,23 @@ +VARIABLES T P + +SUBTYPE Int T +SUBTYPE T P + +type parameter bounds: +T >: Int, <: P* +P >: Int, >: T* + +status: +-hasCannotCaptureTypesError: false +-hasConflictingConstraints: false +-hasContradiction: false +-hasErrorInConstrainingTypes: false +-hasTypeConstructorMismatch: false +-hasTypeInferenceIncorporationError: false +-hasUnknownParameters: false +-hasViolatedUpperBound: false +-isSuccessful: true + +result: +T=Int +P=Int diff --git a/compiler/testData/constraintSystem/severalVariables/simpleSubtype1.constraints b/compiler/testData/constraintSystem/severalVariables/simpleSubtype1.constraints new file mode 100644 index 00000000000..68687efd421 --- /dev/null +++ b/compiler/testData/constraintSystem/severalVariables/simpleSubtype1.constraints @@ -0,0 +1,4 @@ +VARIABLES T P + +SUBTYPE Int T +SUBTYPE T P diff --git a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/ConstraintSystemTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/ConstraintSystemTestGenerated.java index dd7ff89021f..8186137e300 100644 --- a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/ConstraintSystemTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/ConstraintSystemTestGenerated.java @@ -177,6 +177,480 @@ public class ConstraintSystemTestGenerated extends AbstractConstraintSystemTest String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/simpleDependency.constraints"); doTest(fileName); } + + @TestMetadata("simpleEquality.constraints") + public void testSimpleEquality() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/simpleEquality.constraints"); + doTest(fileName); + } + + @TestMetadata("simpleEquality1.constraints") + public void testSimpleEquality1() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/simpleEquality1.constraints"); + doTest(fileName); + } + + @TestMetadata("simpleReversedDependency.constraints") + public void testSimpleReversedDependency() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/simpleReversedDependency.constraints"); + doTest(fileName); + } + + @TestMetadata("simpleSubtype.constraints") + public void testSimpleSubtype() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/simpleSubtype.constraints"); + doTest(fileName); + } + + @TestMetadata("simpleSubtype1.constraints") + public void testSimpleSubtype1() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/simpleSubtype1.constraints"); + doTest(fileName); + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/direct") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Direct extends AbstractConstraintSystemTest { + public void testAllFilesPresentInDirect() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/direct"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Contravariant extends AbstractConstraintSystemTest { + public void testAllFilesPresentInContravariant() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/direct/contravariant"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("varEqDepEq.constraints") + public void testVarEqDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSub.constraints") + public void testVarEqDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSuper.constraints") + public void testVarEqDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varEqDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepEq.constraints") + public void testVarSubDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSub.constraints") + public void testVarSubDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSuper.constraints") + public void testVarSubDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSubDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepEq.constraints") + public void testVarSuperDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSub.constraints") + public void testVarSuperDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSuper.constraints") + public void testVarSuperDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/contravariant/varSuperDepSuper.constraints"); + doTest(fileName); + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Covariant extends AbstractConstraintSystemTest { + public void testAllFilesPresentInCovariant() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/direct/covariant"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("varEqDepEq.constraints") + public void testVarEqDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSub.constraints") + public void testVarEqDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSuper.constraints") + public void testVarEqDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varEqDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepEq.constraints") + public void testVarSubDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSub.constraints") + public void testVarSubDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSuper.constraints") + public void testVarSubDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varSubDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepEq.constraints") + public void testVarSuperDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSub.constraints") + public void testVarSuperDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSuper.constraints") + public void testVarSuperDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/covariant/varSuperDepSuper.constraints"); + doTest(fileName); + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Invariant extends AbstractConstraintSystemTest { + public void testAllFilesPresentInInvariant() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/direct/invariant"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("varEqDepEq.constraints") + public void testVarEqDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSub.constraints") + public void testVarEqDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSuper.constraints") + public void testVarEqDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varEqDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepEq.constraints") + public void testVarSubDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSub.constraints") + public void testVarSubDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSuper.constraints") + public void testVarSubDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varSubDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepEq.constraints") + public void testVarSuperDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSub.constraints") + public void testVarSuperDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSuper.constraints") + public void testVarSuperDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/direct/invariant/varSuperDepSuper.constraints"); + doTest(fileName); + } + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/interdependency") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Interdependency extends AbstractConstraintSystemTest { + public void testAllFilesPresentInInterdependency() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/interdependency"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("interdependency1.constraints") + public void testInterdependency1() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/interdependency/interdependency1.constraints"); + doTest(fileName); + } + + @TestMetadata("interdependency2.constraints") + public void testInterdependency2() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/interdependency/interdependency2.constraints"); + doTest(fileName); + } + + @TestMetadata("interdependency3.constraints") + public void testInterdependency3() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/interdependency/interdependency3.constraints"); + doTest(fileName); + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/recursive") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Recursive extends AbstractConstraintSystemTest { + public void testAllFilesPresentInRecursive() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/recursive"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("mutuallyRecursive.constraints") + public void testMutuallyRecursive() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/recursive/mutuallyRecursive.constraints"); + doTest(fileName); + } + + @TestMetadata("simpleRecursive.constraints") + public void testSimpleRecursive() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/recursive/simpleRecursive.constraints"); + doTest(fileName); + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/reversed") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Reversed extends AbstractConstraintSystemTest { + public void testAllFilesPresentInReversed() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/reversed"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Contravariant extends AbstractConstraintSystemTest { + public void testAllFilesPresentInContravariant() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/reversed/contravariant"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("varEqDepEq.constraints") + public void testVarEqDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSub.constraints") + public void testVarEqDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSuper.constraints") + public void testVarEqDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varEqDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepEq.constraints") + public void testVarSubDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSub.constraints") + public void testVarSubDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSuper.constraints") + public void testVarSubDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSubDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepEq.constraints") + public void testVarSuperDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSub.constraints") + public void testVarSuperDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSuper.constraints") + public void testVarSuperDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/contravariant/varSuperDepSuper.constraints"); + doTest(fileName); + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Covariant extends AbstractConstraintSystemTest { + public void testAllFilesPresentInCovariant() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/reversed/covariant"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("varEqDepEq.constraints") + public void testVarEqDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSub.constraints") + public void testVarEqDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSuper.constraints") + public void testVarEqDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varEqDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepEq.constraints") + public void testVarSubDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSub.constraints") + public void testVarSubDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSuper.constraints") + public void testVarSubDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSubDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepEq.constraints") + public void testVarSuperDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSub.constraints") + public void testVarSuperDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSuper.constraints") + public void testVarSuperDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/covariant/varSuperDepSuper.constraints"); + doTest(fileName); + } + } + + @TestMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Invariant extends AbstractConstraintSystemTest { + public void testAllFilesPresentInInvariant() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/constraintSystem/severalVariables/reversed/invariant"), Pattern.compile("^(.+)\\.constraints$"), true); + } + + @TestMetadata("varEqDepEq.constraints") + public void testVarEqDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSub.constraints") + public void testVarEqDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varEqDepSuper.constraints") + public void testVarEqDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varEqDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepEq.constraints") + public void testVarSubDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSub.constraints") + public void testVarSubDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSubDepSuper.constraints") + public void testVarSubDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSubDepSuper.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepEq.constraints") + public void testVarSuperDepEq() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepEq.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSub.constraints") + public void testVarSuperDepSub() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSub.constraints"); + doTest(fileName); + } + + @TestMetadata("varSuperDepSuper.constraints") + public void testVarSuperDepSuper() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/constraintSystem/severalVariables/reversed/invariant/varSuperDepSuper.constraints"); + doTest(fileName); + } + } + } } @TestMetadata("compiler/testData/constraintSystem/variance")