Use proper applicability for constraint warnings
^KT-47316 Fixed
This commit is contained in:
committed by
TeamCityServer
parent
1224d28deb
commit
c3a5a7754d
+6
@@ -12485,6 +12485,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt46515.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt6175.kt")
|
||||
public void testKt6175() throws Exception {
|
||||
|
||||
+6
@@ -12485,6 +12485,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt46515.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt6175.kt")
|
||||
public void testKt6175() throws Exception {
|
||||
|
||||
+6
@@ -17618,6 +17618,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
||||
runTest("compiler/testData/codegen/box/inference/kt42130.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithStarReturn.kt")
|
||||
public void testLambdaWithStarReturn() throws Exception {
|
||||
|
||||
+19
-19
@@ -344,17 +344,18 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
)
|
||||
}
|
||||
|
||||
private fun reportConstraintErrorByPosition(error: NewConstraintError, position: ConstraintPosition) {
|
||||
val argument = when (position) {
|
||||
is ArgumentConstraintPositionImpl -> position.argument
|
||||
is ReceiverConstraintPositionImpl -> position.argument
|
||||
is LHSArgumentConstraintPositionImpl -> position.argument
|
||||
is LambdaArgumentConstraintPositionImpl -> position.lambda.atom
|
||||
else -> null
|
||||
}
|
||||
val typeMismatchDiagnostic = if (error.isWarning) TYPE_MISMATCH_WARNING else TYPE_MISMATCH
|
||||
val report = if (error.isWarning) trace::reportDiagnosticOnce else trace::report
|
||||
|
||||
private fun reportConstraintErrorByPosition(error: NewConstraintMismatch, position: ConstraintPosition) {
|
||||
val argument =
|
||||
when (position) {
|
||||
is ArgumentConstraintPositionImpl -> position.argument
|
||||
is ReceiverConstraintPositionImpl -> position.argument
|
||||
is LHSArgumentConstraintPositionImpl -> position.argument
|
||||
is LambdaArgumentConstraintPositionImpl -> position.lambda.atom
|
||||
else -> null
|
||||
}
|
||||
val isWarning = error is NewConstraintWarning
|
||||
val typeMismatchDiagnostic = if (isWarning) TYPE_MISMATCH_WARNING else TYPE_MISMATCH
|
||||
val report = if (isWarning) trace::reportDiagnosticOnce else trace::report
|
||||
argument?.let {
|
||||
it.safeAs<LambdaKotlinCallArgument>()?.let lambda@{ lambda ->
|
||||
val parameterTypes = lambda.parametersTypes?.toList() ?: return@lambda
|
||||
@@ -362,7 +363,7 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
val lambdaExpression = lambda.psiExpression as? KtLambdaExpression ?: return@lambda
|
||||
val parameter = lambdaExpression.valueParameters.getOrNull(index) ?: return@lambda
|
||||
val diagnosticFactory =
|
||||
if (error.isWarning) EXPECTED_PARAMETER_TYPE_MISMATCH_WARNING else EXPECTED_PARAMETER_TYPE_MISMATCH
|
||||
if (isWarning) EXPECTED_PARAMETER_TYPE_MISMATCH_WARNING else EXPECTED_PARAMETER_TYPE_MISMATCH
|
||||
report(diagnosticFactory.on(parameter, error.upperKotlinType))
|
||||
return
|
||||
}
|
||||
@@ -406,7 +407,7 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
|
||||
(position as? ExplicitTypeParameterConstraintPositionImpl)?.let {
|
||||
val typeArgumentReference = (it.typeArgument as SimpleTypeArgumentImpl).typeReference
|
||||
val diagnosticFactory = if (error.isWarning) UPPER_BOUND_VIOLATED_WARNING else UPPER_BOUND_VIOLATED
|
||||
val diagnosticFactory = if (isWarning) UPPER_BOUND_VIOLATED_WARNING else UPPER_BOUND_VIOLATED
|
||||
report(diagnosticFactory.on(typeArgumentReference, error.upperKotlinType, error.lowerKotlinType))
|
||||
}
|
||||
|
||||
@@ -426,9 +427,8 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
|
||||
override fun constraintError(error: ConstraintSystemError) {
|
||||
when (error.javaClass) {
|
||||
NewConstraintError::class.java -> {
|
||||
error as NewConstraintError
|
||||
reportConstraintErrorByPosition(error, error.position.from)
|
||||
NewConstraintError::class.java, NewConstraintWarning::class.java -> {
|
||||
reportConstraintErrorByPosition(error as NewConstraintMismatch, error.position.from)
|
||||
}
|
||||
|
||||
CapturedTypeFromSubtyping::class.java -> {
|
||||
@@ -585,7 +585,7 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
}
|
||||
}
|
||||
|
||||
private fun reportConstantTypeMismatch(constraintError: NewConstraintError, expression: KtExpression): Boolean {
|
||||
private fun reportConstantTypeMismatch(constraintError: NewConstraintMismatch, expression: KtExpression): Boolean {
|
||||
if (expression is KtConstantExpression) {
|
||||
val module = context.scope.ownerDescriptor.module
|
||||
val constantValue = constantExpressionEvaluator.evaluateToConstantValue(expression, trace, context.expectedType)
|
||||
@@ -598,5 +598,5 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
|
||||
}
|
||||
|
||||
val NewConstraintError.upperKotlinType get() = upperType as KotlinType
|
||||
val NewConstraintError.lowerKotlinType get() = lowerType as KotlinType
|
||||
val NewConstraintMismatch.upperKotlinType get() = upperType as KotlinType
|
||||
val NewConstraintMismatch.lowerKotlinType get() = lowerType as KotlinType
|
||||
|
||||
+18
-6
@@ -91,12 +91,24 @@ object SimpleConstraintSystemConstraintPosition : ConstraintPosition()
|
||||
|
||||
sealed class ConstraintSystemError(val applicability: CandidateApplicability)
|
||||
|
||||
sealed interface NewConstraintMismatch {
|
||||
val lowerType: KotlinTypeMarker
|
||||
val upperType: KotlinTypeMarker
|
||||
val position: IncorporationConstraintPosition
|
||||
}
|
||||
|
||||
class NewConstraintError(
|
||||
val lowerType: KotlinTypeMarker,
|
||||
val upperType: KotlinTypeMarker,
|
||||
val position: IncorporationConstraintPosition,
|
||||
val isWarning: Boolean = false
|
||||
) : ConstraintSystemError(if (position.from is ReceiverConstraintPosition<*>) INAPPLICABLE_WRONG_RECEIVER else INAPPLICABLE)
|
||||
override val lowerType: KotlinTypeMarker,
|
||||
override val upperType: KotlinTypeMarker,
|
||||
override val position: IncorporationConstraintPosition,
|
||||
) : ConstraintSystemError(if (position.from is ReceiverConstraintPosition<*>) INAPPLICABLE_WRONG_RECEIVER else INAPPLICABLE),
|
||||
NewConstraintMismatch
|
||||
|
||||
class NewConstraintWarning(
|
||||
override val lowerType: KotlinTypeMarker,
|
||||
override val upperType: KotlinTypeMarker,
|
||||
override val position: IncorporationConstraintPosition,
|
||||
) : ConstraintSystemError(RESOLVED), NewConstraintMismatch
|
||||
|
||||
class CapturedTypeFromSubtyping(
|
||||
val typeVariable: TypeVariableMarker,
|
||||
@@ -122,4 +134,4 @@ object LowerPriorityToPreserveCompatibility : ConstraintSystemError(RESOLVED_NEE
|
||||
fun Constraint.isExpectedTypePosition() =
|
||||
position.from is ExpectedTypeConstraintPosition<*> || position.from is DelegatedPropertyConstraintPosition<*>
|
||||
|
||||
fun NewConstraintError.transformToWarning() = NewConstraintError(lowerType, upperType, position, isWarning = true)
|
||||
fun NewConstraintError.transformToWarning() = NewConstraintWarning(lowerType, upperType, position)
|
||||
|
||||
+1
-1
@@ -386,7 +386,7 @@ class NewConstraintSystemImpl(
|
||||
}
|
||||
val constraintErrors = constraintSystem.errors.filterIsInstance<NewConstraintError>()
|
||||
// Don't report warning if an error on the same call has already been reported
|
||||
if (constraintErrors.isEmpty() || constraintErrors.all { it.isWarning }) {
|
||||
if (constraintErrors.isEmpty()) {
|
||||
errorsByMissedConstraints.forEach {
|
||||
constraintSystem.addError(it.transformToWarning())
|
||||
}
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||
import org.jetbrains.kotlin.resolve.calls.components.CallableReferenceCandidate
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintSystemError
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintError
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintWarning
|
||||
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability
|
||||
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability.*
|
||||
import org.jetbrains.kotlin.types.TypeConstructor
|
||||
@@ -282,4 +282,4 @@ fun ConstraintSystemError.asDiagnostic(): KotlinConstraintSystemDiagnostic = Kot
|
||||
fun Collection<ConstraintSystemError>.asDiagnostics(): List<KotlinConstraintSystemDiagnostic> = map(ConstraintSystemError::asDiagnostic)
|
||||
|
||||
fun List<KotlinCallDiagnostic>.filterErrorDiagnostics() =
|
||||
filter { it !is KotlinConstraintSystemDiagnostic || (it.error as? NewConstraintError)?.isWarning != true }
|
||||
filter { it !is KotlinConstraintSystemDiagnostic || it.error !is NewConstraintWarning }
|
||||
|
||||
@@ -248,10 +248,13 @@ sealed class CallResolutionResult(
|
||||
fun completedDiagnostic(substitutor: NewTypeSubstitutor): List<KotlinCallDiagnostic> {
|
||||
return diagnostics.map {
|
||||
val error = it.constraintSystemError ?: return@map it
|
||||
if (error !is NewConstraintError) return@map it
|
||||
if (error !is NewConstraintMismatch) return@map it
|
||||
val lowerType = error.lowerType.safeAs<KotlinType>()?.unwrap() ?: return@map it
|
||||
val newLowerType = substitutor.safeSubstitute(lowerType.unCapture())
|
||||
NewConstraintError(newLowerType, error.upperType, error.position, error.isWarning).asDiagnostic()
|
||||
when (error) {
|
||||
is NewConstraintError -> NewConstraintError(newLowerType, error.upperType, error.position).asDiagnostic()
|
||||
is NewConstraintWarning -> NewConstraintWarning(newLowerType, error.upperType, error.position).asDiagnostic()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
sealed class Subtype<A1, B1> {
|
||||
abstract fun cast(value: A1): B1
|
||||
class Trivial<A2 : B2, B2> : Subtype<A2, B2>() {
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
// FILE: GoBuildingRunningState.java
|
||||
public abstract class GoBuildingRunningState<T extends GoBuildingRunConfiguration<? extends GoBuildingRunningState<T>>> implements RunProfileState {
|
||||
public String getBuildingWorkingDirectory() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: GoBuildingRunConfiguration.java
|
||||
public abstract class GoBuildingRunConfiguration<RunningState extends GoBuildingRunningState<? extends GoBuildingRunConfiguration<RunningState>>> { }
|
||||
|
||||
// FILE: RunProfileState.java
|
||||
public interface RunProfileState {
|
||||
}
|
||||
|
||||
// FILE: Test.java
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class Test {
|
||||
@Nullable
|
||||
public RunProfileState getState() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun String.asFsdAddress(): String {
|
||||
return ""
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val state = Test().state
|
||||
if (state is GoBuildingRunningState<*>) {
|
||||
state.buildingWorkingDirectory.asFsdAddress()
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
fun <E : Enum<E>> createMap(enumClass: Class<E>) {}
|
||||
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
Fir is not initialized for FirRegularClassSymbol GoBuildingRunConfiguration
|
||||
java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol GoBuildingRunConfiguration
|
||||
at org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol.getFir(AbstractFirBasedSymbol.kt:16)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeForFlexibleBound(JavaUtils.kt:408)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeForFlexibleBound$default(JavaUtils.kt:363)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement(JavaUtils.kt:243)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement$default(JavaUtils.kt:235)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement(JavaUtils.kt:146)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement$default(JavaUtils.kt:137)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeProjectionWithoutEnhancement(JavaUtils.kt:613)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeForFlexibleBound(JavaUtils.kt:413)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeForFlexibleBound$default(JavaUtils.kt:363)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement(JavaUtils.kt:243)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement$default(JavaUtils.kt:235)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toFirResolvedTypeRef(JavaUtils.kt:129)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.addBounds(JavaSymbolProvider.kt:121)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.toFirTypeParameter(JavaSymbolProvider.kt:112)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.convertTypeParameters(JavaSymbolProvider.kt:136)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.createFirJavaClass(JavaSymbolProvider.kt:253)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.convertJavaClassToFir(JavaSymbolProvider.kt:202)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.access$convertJavaClassToFir(JavaSymbolProvider.kt:46)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider$classCache$2.invoke(JavaSymbolProvider.kt:61)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider$classCache$2.invoke(JavaSymbolProvider.kt:59)
|
||||
at org.jetbrains.kotlin.fir.caches.FirThreadUnsafeCacheWithPostCompute.getValue(FirThreadUnsafeCachesFactory.kt:47)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getFirJavaClass(JavaSymbolProvider.kt:150)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getFirJavaClass$default(JavaSymbolProvider.kt:148)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getClassLikeSymbolByFqName(JavaSymbolProvider.kt:142)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getClassLikeSymbolByFqName(JavaSymbolProvider.kt:46)
|
||||
at org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider.getClassLikeSymbolByFqName(FirCompositeSymbolProvider.kt:51)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeForFlexibleBound(JavaUtils.kt:393)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeForFlexibleBound$default(JavaUtils.kt:363)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement(JavaUtils.kt:243)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toConeKotlinTypeWithoutEnhancement$default(JavaUtils.kt:235)
|
||||
at org.jetbrains.kotlin.fir.java.JavaUtilsKt.toFirResolvedTypeRef(JavaUtils.kt:129)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.addBounds(JavaSymbolProvider.kt:121)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.toFirTypeParameter(JavaSymbolProvider.kt:112)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.convertTypeParameters(JavaSymbolProvider.kt:136)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.createFirJavaClass(JavaSymbolProvider.kt:253)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.convertJavaClassToFir(JavaSymbolProvider.kt:202)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.access$convertJavaClassToFir(JavaSymbolProvider.kt:46)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider$classCache$2.invoke(JavaSymbolProvider.kt:61)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider$classCache$2.invoke(JavaSymbolProvider.kt:59)
|
||||
at org.jetbrains.kotlin.fir.caches.FirThreadUnsafeCacheWithPostCompute.getValue(FirThreadUnsafeCachesFactory.kt:47)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getFirJavaClass(JavaSymbolProvider.kt:150)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getFirJavaClass$default(JavaSymbolProvider.kt:148)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getClassLikeSymbolByFqName(JavaSymbolProvider.kt:142)
|
||||
at org.jetbrains.kotlin.fir.java.JavaSymbolProvider.getClassLikeSymbolByFqName(JavaSymbolProvider.kt:46)
|
||||
at org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider.getClassLikeSymbolByFqName(FirCompositeSymbolProvider.kt:51)
|
||||
at org.jetbrains.kotlin.fir.scopes.impl.FirPackageMemberScope.processClassifiersByNameWithSubstitution(FirPackageMemberScope.kt:36)
|
||||
at org.jetbrains.kotlin.fir.scopes.FirCompositeScope.processClassifiersByNameWithSubstitution(FirCompositeScope.kt:21)
|
||||
at org.jetbrains.kotlin.fir.resolve.providers.impl.FirTypeResolverImpl.resolveToSymbol(FirTypeResolverImpl.kt:63)
|
||||
at org.jetbrains.kotlin.fir.resolve.providers.impl.FirTypeResolverImpl.resolveType(FirTypeResolverImpl.kt:180)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.FirSpecificTypeResolverTransformer.transformTypeRef(FirSpecificTypeResolverTransformer.kt:59)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformTypeRef(FirBodyResolveTransformer.kt:68)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformTypeRef(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer.transformTypeRefWithNullability(FirDefaultTransformer.kt:28)
|
||||
at org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer.transformUserTypeRef(FirDefaultTransformer.kt:40)
|
||||
at org.jetbrains.kotlin.fir.types.FirUserTypeRef.transform(FirUserTypeRef.kt:29)
|
||||
at org.jetbrains.kotlin.fir.expressions.impl.FirTypeOperatorCallImpl.transformConversionTypeRef(FirTypeOperatorCallImpl.kt:50)
|
||||
at org.jetbrains.kotlin.fir.expressions.impl.FirTypeOperatorCallImpl.transformConversionTypeRef(FirTypeOperatorCallImpl.kt:22)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformTypeOperatorCall(FirExpressionsResolveTransformer.kt:578)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformTypeOperatorCall(FirBodyResolveTransformer.kt:143)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformTypeOperatorCall(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.expressions.FirTypeOperatorCall.transform(FirTypeOperatorCall.kt:30)
|
||||
at org.jetbrains.kotlin.fir.expressions.impl.FirWhenBranchImpl.transformCondition(FirWhenBranchImpl.kt:37)
|
||||
at org.jetbrains.kotlin.fir.expressions.impl.FirWhenBranchImpl.transformCondition(FirWhenBranchImpl.kt:19)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirControlFlowStatementsResolveTransformer.transformWhenBranch(FirControlFlowStatementsResolveTransformer.kt:113)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformWhenBranch(FirBodyResolveTransformer.kt:332)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformWhenBranch(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.expressions.FirWhenBranch.transform(FirWhenBranch.kt:27)
|
||||
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19)
|
||||
at org.jetbrains.kotlin.fir.expressions.impl.FirWhenExpressionImpl.transformBranches(FirWhenExpressionImpl.kt:77)
|
||||
at org.jetbrains.kotlin.fir.expressions.impl.FirWhenExpressionImpl.transformBranches(FirWhenExpressionImpl.kt:24)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirControlFlowStatementsResolveTransformer$transformWhenExpression$2.invoke(FirControlFlowStatementsResolveTransformer.kt:70)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirControlFlowStatementsResolveTransformer$transformWhenExpression$2.invoke(FirControlFlowStatementsResolveTransformer.kt:63)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withWhenExpression(BodyResolveContext.kt:714)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirControlFlowStatementsResolveTransformer.transformWhenExpression(FirControlFlowStatementsResolveTransformer.kt:63)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformWhenExpression(FirBodyResolveTransformer.kt:328)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformWhenExpression(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.expressions.FirWhenExpression.transform(FirWhenExpression.kt:35)
|
||||
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:140)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
|
||||
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99)
|
||||
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75)
|
||||
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52)
|
||||
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19)
|
||||
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61)
|
||||
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46)
|
||||
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27)
|
||||
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23)
|
||||
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29)
|
||||
at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23)
|
||||
at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69)
|
||||
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75)
|
||||
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26)
|
||||
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36)
|
||||
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25)
|
||||
at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125)
|
||||
at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66)
|
||||
at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20)
|
||||
at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18)
|
||||
at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80)
|
||||
at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference.testKt47316(FirOldFrontendDiagnosticsTestGenerated.java:12407)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||
at java.lang.reflect.Method.invoke(Method.java:498)
|
||||
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
|
||||
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
|
||||
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
|
||||
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
|
||||
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
|
||||
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
|
||||
at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
|
||||
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
|
||||
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
|
||||
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
|
||||
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
|
||||
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
|
||||
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
|
||||
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
|
||||
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
|
||||
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
|
||||
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
|
||||
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
|
||||
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
|
||||
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
// FILE: GoBuildingRunningState.java
|
||||
public abstract class GoBuildingRunningState<T extends GoBuildingRunConfiguration<? extends GoBuildingRunningState<T>>> implements RunProfileState {
|
||||
public String getBuildingWorkingDirectory() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: GoBuildingRunConfiguration.java
|
||||
public abstract class GoBuildingRunConfiguration<RunningState extends GoBuildingRunningState<? extends GoBuildingRunConfiguration<RunningState>>> { }
|
||||
|
||||
// FILE: RunProfileState.java
|
||||
public interface RunProfileState {
|
||||
}
|
||||
|
||||
// FILE: Test.java
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class Test {
|
||||
@Nullable
|
||||
public RunProfileState getState() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun String.asFsdAddress(): String {
|
||||
return ""
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val state = Test().state
|
||||
if (state is GoBuildingRunningState<*>) {
|
||||
state.buildingWorkingDirectory.asFsdAddress()
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
// FILE: GoBuildingRunningState.java
|
||||
public abstract class GoBuildingRunningState<T extends GoBuildingRunConfiguration<? extends GoBuildingRunningState<T>>> implements RunProfileState {
|
||||
public String getBuildingWorkingDirectory() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: GoBuildingRunConfiguration.java
|
||||
public abstract class GoBuildingRunConfiguration<RunningState extends GoBuildingRunningState<? extends GoBuildingRunConfiguration<RunningState>>> { }
|
||||
|
||||
// FILE: RunProfileState.java
|
||||
public interface RunProfileState {
|
||||
}
|
||||
|
||||
// FILE: Test.java
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class Test {
|
||||
@Nullable
|
||||
public RunProfileState getState() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun String.asFsdAddress(): String {
|
||||
return ""
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val state = Test().state
|
||||
if (state is GoBuildingRunningState<*>) {
|
||||
<!DEBUG_INFO_SMARTCAST, TYPE_MISMATCH_WARNING!>state<!>.buildingWorkingDirectory.asFsdAddress()
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package
|
||||
|
||||
public fun box(): kotlin.String
|
||||
public fun kotlin.String.asFsdAddress(): kotlin.String
|
||||
|
||||
public abstract class GoBuildingRunConfiguration</*0*/ RunningState : GoBuildingRunningState<out GoBuildingRunConfiguration<RunningState!>!>!> {
|
||||
public constructor GoBuildingRunConfiguration</*0*/ RunningState : GoBuildingRunningState<out GoBuildingRunConfiguration<RunningState!>!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class GoBuildingRunningState</*0*/ T : GoBuildingRunConfiguration<out GoBuildingRunningState<T!>!>!> : RunProfileState {
|
||||
public constructor GoBuildingRunningState</*0*/ T : GoBuildingRunConfiguration<out GoBuildingRunningState<T!>!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open fun getBuildingWorkingDirectory(): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface RunProfileState {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class Test {
|
||||
public constructor Test()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@org.jetbrains.annotations.Nullable public open fun getState(): RunProfileState?
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+1
-1
@@ -6,5 +6,5 @@ fun <E : Enum<E>> createMap(enumClass: Class<E>) {}
|
||||
|
||||
fun reproduce() {
|
||||
val enumClass: Class<Enum<*>> = "any" as Class<Enum<*>>
|
||||
<!NEW_INFERENCE_ERROR!>createMap(enumClass)<!>
|
||||
createMap(enumClass)
|
||||
}
|
||||
|
||||
@@ -6,6 +6,6 @@ sealed class Subtype<A1, B1> {
|
||||
}
|
||||
|
||||
fun <A, B> unsafeCast(value: A): B {
|
||||
val proof: Subtype<A, B> = <!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>Subtype.Trivial()<!>
|
||||
val proof: Subtype<A, B> = Subtype.Trivial()
|
||||
return proof.cast(value)
|
||||
}
|
||||
|
||||
Generated
+6
@@ -12491,6 +12491,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt46515.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt6175.kt")
|
||||
public void testKt6175() throws Exception {
|
||||
|
||||
+6
@@ -17588,6 +17588,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/inference/kt42130.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithStarReturn.kt")
|
||||
public void testLambdaWithStarReturn() throws Exception {
|
||||
|
||||
+6
@@ -17618,6 +17618,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/inference/kt42130.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithStarReturn.kt")
|
||||
public void testLambdaWithStarReturn() throws Exception {
|
||||
|
||||
+5
@@ -14557,6 +14557,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/inference/kt42130.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("lambdaWithStarReturn.kt")
|
||||
public void testLambdaWithStarReturn() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inference/lambdaWithStarReturn.kt");
|
||||
|
||||
+6
@@ -12485,6 +12485,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt46515.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt47316.kt")
|
||||
public void testKt47316() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt47316.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt6175.kt")
|
||||
public void testKt6175() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user