diff --git a/build.gradle b/build.gradle index 799ca4f..2e6ea81 100644 --- a/build.gradle +++ b/build.gradle @@ -113,6 +113,16 @@ test { ]) } + // Conformance tests on samples + inputs.files("${projectDir}/src/test/resources/jspecify-conformance-test-on-samples-report.txt") + + doFirst { + systemProperties([ + "ConformanceTest.samples.inputs": "${buildDir}/jspecify-conformance-tests/samples", + "ConformanceTest.samples.report": "${projectDir}/src/test/resources/jspecify-conformance-test-on-samples-report.txt", + ]) + } + testLogging { showStackTraces = false showStandardStreams = true diff --git a/src/test/java/conformance/NullnessJSpecifyConformanceTest.java b/src/test/java/conformance/NullnessJSpecifyConformanceTest.java index a4c59d2..6aac5f2 100644 --- a/src/test/java/conformance/NullnessJSpecifyConformanceTest.java +++ b/src/test/java/conformance/NullnessJSpecifyConformanceTest.java @@ -31,6 +31,12 @@ public final class NullnessJSpecifyConformanceTest { /** Location of the report. */ private final Path reportPath; + /** Directory of the JSpecify Conformance Tests for samples. */ + private final Path testDirSamples; + + /** Location of the report for samples. */ + private final Path reportPathSamples; + /** JSpecify conformance test dependencies. */ private final ImmutableList deps; @@ -42,6 +48,8 @@ public final class NullnessJSpecifyConformanceTest { public NullnessJSpecifyConformanceTest() { this.testDir = getSystemPropertyPath("ConformanceTest.inputs"); this.reportPath = getSystemPropertyPath("ConformanceTest.report"); + this.testDirSamples = getSystemPropertyPath("ConformanceTest.samples.inputs"); + this.reportPathSamples = getSystemPropertyPath("ConformanceTest.samples.report"); this.deps = Splitter.on(":").splitToList(System.getProperty("ConformanceTest.deps")).stream() .map(dep -> Paths.get(dep)) @@ -69,6 +77,14 @@ public void conformanceTests() throws IOException { runner.checkConformance(testDir, deps, reportPath); } + /** Run the conformance tests on the samples. */ + @Test + public void conformanceTestsOnSamples() throws IOException { + ConformanceTestRunner runner = + new ConformanceTestRunner(NullnessJSpecifyConformanceTest::analyze); + runner.checkConformance(testDirSamples, deps, reportPathSamples); + } + /** * Analyze the conformance tests by comparing reported facts against expected facts. * diff --git a/src/test/resources/jspecify-conformance-test-on-samples-report.txt b/src/test/resources/jspecify-conformance-test-on-samples-report.txt new file mode 100644 index 0000000..f59c1f4 --- /dev/null +++ b/src/test/resources/jspecify-conformance-test-on-samples-report.txt @@ -0,0 +1,574 @@ +# 215 pass; 358 fail; 573 total; 37.5% score +PASS: AnnotatedInnerOfNonParameterized.java: no unexpected facts +PASS: AnnotatedInnerOfParameterized.java: no unexpected facts +PASS: AnnotatedReceiver.java: no unexpected facts +PASS: AnnotatedTypeParameter.java: no unexpected facts +PASS: AnnotatedTypeParameterUnspec.java: no unexpected facts +PASS: AnnotatedWildcard.java: no unexpected facts +PASS: AnnotatedWildcardUnspec.java: no unexpected facts +FAIL: ArraySameType.java:35:jspecify_nullness_mismatch +FAIL: ArraySameType.java:49:jspecify_nullness_mismatch +PASS: ArraySameType.java: no unexpected facts +FAIL: ArraySubtype.java:44:jspecify_nullness_mismatch +PASS: ArraySubtype.java: no unexpected facts +PASS: AssignmentAsExpression.java: no unexpected facts +FAIL: AugmentedInferenceAgreesWithBaseInference.java:35:jspecify_nullness_mismatch +PASS: AugmentedInferenceAgreesWithBaseInference.java: no unexpected facts +FAIL: BoundedTypeVariableReturn.java:27:jspecify_nullness_mismatch +FAIL: BoundedTypeVariableReturn.java:32:jspecify_nullness_mismatch +PASS: BoundedTypeVariableReturn.java: no unexpected facts +FAIL: CaptureAsInferredTypeArgument.java:51:jspecify_nullness_mismatch +FAIL: CaptureAsInferredTypeArgument.java:53:jspecify_nullness_mismatch +FAIL: CaptureAsInferredTypeArgument.java:61:jspecify_nullness_mismatch +FAIL: CaptureAsInferredTypeArgument.java:63:jspecify_nullness_mismatch +PASS: CaptureAsInferredTypeArgument.java: no unexpected facts +PASS: CaptureConversionForSubtyping.java: no unexpected facts +FAIL: CaptureConvertedToObject.java:71:jspecify_nullness_mismatch +PASS: CaptureConvertedToObject.java: no unexpected facts +PASS: CaptureConvertedToObjectUnionNull.java: no unexpected facts +PASS: CaptureConvertedToObjectUnspec.java: no unexpected facts +FAIL: CaptureConvertedToOther.java:71:jspecify_nullness_mismatch +PASS: CaptureConvertedToOther.java: no unexpected facts +PASS: CaptureConvertedToOtherUnionNull.java: no unexpected facts +PASS: CaptureConvertedToOtherUnspec.java: no unexpected facts +FAIL: CaptureConvertedUnionNullToObject.java:24:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:29:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:34:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:39:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:44:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:49:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:54:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:59:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:64:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:69:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:74:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToObject.java:79:jspecify_nullness_mismatch +PASS: CaptureConvertedUnionNullToObject.java: no unexpected facts +PASS: CaptureConvertedUnionNullToObjectUnionNull.java: no unexpected facts +PASS: CaptureConvertedUnionNullToObjectUnspec.java: no unexpected facts +FAIL: CaptureConvertedUnionNullToOther.java:24:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:29:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:34:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:39:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:44:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:49:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:54:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:59:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:64:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:69:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:74:jspecify_nullness_mismatch +FAIL: CaptureConvertedUnionNullToOther.java:79:jspecify_nullness_mismatch +PASS: CaptureConvertedUnionNullToOther.java: no unexpected facts +PASS: CaptureConvertedUnionNullToOtherUnionNull.java: no unexpected facts +PASS: CaptureConvertedUnionNullToOtherUnspec.java: no unexpected facts +FAIL: CaptureConvertedUnspecToObject.java:79:jspecify_nullness_mismatch +PASS: CaptureConvertedUnspecToObject.java: no unexpected facts +PASS: CaptureConvertedUnspecToObjectUnionNull.java: no unexpected facts +PASS: CaptureConvertedUnspecToObjectUnspec.java: no unexpected facts +FAIL: CaptureConvertedUnspecToOther.java:79:jspecify_nullness_mismatch +PASS: CaptureConvertedUnspecToOther.java: no unexpected facts +PASS: CaptureConvertedUnspecToOtherUnionNull.java: no unexpected facts +PASS: CaptureConvertedUnspecToOtherUnspec.java: no unexpected facts +PASS: CastOfCaptureOfNotNullMarkedUnboundedWildcardForObjectBoundedTypeParameter.java: no unexpected facts +PASS: CastOfCaptureOfUnboundedWildcardForNotNullMarkedObjectBoundedTypeParameter.java: no unexpected facts +PASS: CastOfCaptureOfUnboundedWildcardForObjectBoundedTypeParameter.java: no unexpected facts +FAIL: CastToPrimitive.java:33:jspecify_nullness_mismatch +PASS: CastToPrimitive.java: no unexpected facts +FAIL: CastWildcardToTypeVariable.java:23:jspecify_nullness_mismatch +PASS: CastWildcardToTypeVariable.java: no unexpected facts +PASS: Catch.java: no unexpected facts +PASS: ClassLiteral.java: no unexpected facts +FAIL: ClassToObject.java:33:jspecify_nullness_mismatch +PASS: ClassToObject.java: no unexpected facts +FAIL: ClassToSelf.java:33:jspecify_nullness_mismatch +PASS: ClassToSelf.java: no unexpected facts +FAIL: ComplexParametric.java:58:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:72:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:76:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:92:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:106:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:110:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:126:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:140:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:144:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:160:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:174:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:178:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:204:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:218:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:222:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:238:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:240:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:245:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:248:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:259:jspecify_nullness_mismatch +FAIL: ComplexParametric.java:263:jspecify_nullness_mismatch +PASS: ComplexParametric.java: no unexpected facts +PASS: ConcatResult.java: no unexpected facts +PASS: ConflictingAnnotations.java: no unexpected facts +PASS: Constants.java: no unexpected facts +FAIL: ContainmentExtends.java:29:jspecify_nullness_mismatch +PASS: ContainmentExtends.java: no unexpected facts +PASS: ContainmentExtendsBounded.java: no unexpected facts +FAIL: ContainmentSuper.java:38:jspecify_nullness_mismatch +PASS: ContainmentSuper.java: no unexpected facts +FAIL: ContainmentSuperVsExtends.java:24:jspecify_nullness_mismatch +PASS: ContainmentSuperVsExtends.java: no unexpected facts +FAIL: ContainmentSuperVsExtendsSameType.java:23:jspecify_nullness_mismatch +PASS: ContainmentSuperVsExtendsSameType.java: no unexpected facts +FAIL: ContravariantReturns.java:30:jspecify_nullness_mismatch +FAIL: ContravariantReturns.java:34:jspecify_nullness_mismatch +FAIL: ContravariantReturns.java:38:jspecify_nullness_mismatch +PASS: ContravariantReturns.java: no unexpected facts +PASS: CovariantReturns.java: no unexpected facts +FAIL: DereferenceClass.java:33:jspecify_nullness_mismatch +PASS: DereferenceClass.java: no unexpected facts +FAIL: DereferenceIntersection.java:82:jspecify_nullness_mismatch +PASS: DereferenceIntersection.java: no unexpected facts +FAIL: DereferenceTernary.java:23:jspecify_nullness_mismatch +PASS: DereferenceTernary.java: no unexpected facts +FAIL: DereferenceTypeVariable.java:61:jspecify_nullness_mismatch +FAIL: DereferenceTypeVariable.java:83:jspecify_nullness_mismatch +FAIL: DereferenceTypeVariable.java:107:jspecify_nullness_mismatch +FAIL: DereferenceTypeVariable.java:113:jspecify_nullness_mismatch +FAIL: DereferenceTypeVariable.java:119:jspecify_nullness_mismatch +FAIL: DereferenceTypeVariable.java:125:jspecify_nullness_mismatch +FAIL: DereferenceTypeVariable.java:131:jspecify_nullness_mismatch +PASS: DereferenceTypeVariable.java: no unexpected facts +PASS: EnumAnnotations.java: no unexpected facts +FAIL: ExtendsSameType.java:39:jspecify_nullness_mismatch +FAIL: ExtendsSameType.java:53:jspecify_nullness_mismatch +PASS: ExtendsSameType.java: no unexpected facts +FAIL: ExtendsTypeVariableImplementedForNullableTypeArgument.java:30:jspecify_nullness_mismatch +FAIL: ExtendsTypeVariableImplementedForNullableTypeArgument.java:35:jspecify_nullness_mismatch +PASS: ExtendsTypeVariableImplementedForNullableTypeArgument.java: no unexpected facts +FAIL: ExtendsVsExtendsNullable.java:42:jspecify_nullness_mismatch +PASS: ExtendsVsExtendsNullable.java: no unexpected facts +FAIL: IfCondition.java:45:jspecify_nullness_mismatch +PASS: IfCondition.java: no unexpected facts +PASS: InferenceChoosesNullableTypeVariable.java: no unexpected facts +FAIL: InstanceOfCheck.java:44:jspecify_nullness_mismatch +PASS: InstanceOfCheck.java: no unexpected facts +FAIL: IntersectionSupertype.java:74:jspecify_nullness_mismatch +FAIL: IntersectionSupertype.java:76:jspecify_nullness_mismatch +FAIL: IntersectionSupertype.java:78:jspecify_nullness_mismatch +FAIL: IntersectionSupertype.java:80:jspecify_nullness_mismatch +FAIL: IntersectionSupertype.java:86:jspecify_nullness_mismatch +PASS: IntersectionSupertype.java: no unexpected facts +FAIL: LocalVariable.java:44:jspecify_nullness_mismatch +PASS: LocalVariable.java: no unexpected facts +FAIL: MultiBoundTypeVariableToObject.java:59:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableToObject.java: no unexpected facts +PASS: MultiBoundTypeVariableToObjectUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableToObjectUnspec.java: no unexpected facts +FAIL: MultiBoundTypeVariableToOther.java:59:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableToOther.java: no unexpected facts +PASS: MultiBoundTypeVariableToOtherUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableToOtherUnspec.java: no unexpected facts +PASS: MultiBoundTypeVariableToSelf.java: no unexpected facts +PASS: MultiBoundTypeVariableToSelfUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableToSelfUnspec.java: no unexpected facts +FAIL: MultiBoundTypeVariableUnionNullToObject.java:24:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:29:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:34:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:39:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:44:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:49:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:54:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:59:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToObject.java:64:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableUnionNullToObject.java: no unexpected facts +PASS: MultiBoundTypeVariableUnionNullToObjectUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableUnionNullToObjectUnspec.java: no unexpected facts +FAIL: MultiBoundTypeVariableUnionNullToOther.java:24:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:29:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:34:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:39:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:44:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:49:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:54:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:59:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToOther.java:64:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableUnionNullToOther.java: no unexpected facts +PASS: MultiBoundTypeVariableUnionNullToOtherUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableUnionNullToOtherUnspec.java: no unexpected facts +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:24:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:29:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:34:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:39:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:44:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:49:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:54:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:59:jspecify_nullness_mismatch +FAIL: MultiBoundTypeVariableUnionNullToSelf.java:64:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableUnionNullToSelf.java: no unexpected facts +PASS: MultiBoundTypeVariableUnionNullToSelfUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableUnionNullToSelfUnspec.java: no unexpected facts +FAIL: MultiBoundTypeVariableUnspecToObject.java:65:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableUnspecToObject.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToObjectUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToObjectUnspec.java: no unexpected facts +FAIL: MultiBoundTypeVariableUnspecToOther.java:65:jspecify_nullness_mismatch +PASS: MultiBoundTypeVariableUnspecToOther.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToOtherUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToOtherUnspec.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToSelf.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToSelfUnionNull.java: no unexpected facts +PASS: MultiBoundTypeVariableUnspecToSelfUnspec.java: no unexpected facts +FAIL: MultiplePathsToTypeVariable.java:71:jspecify_nullness_mismatch +PASS: MultiplePathsToTypeVariable.java: no unexpected facts +PASS: NoPathToTypeVariableMinusNull.java: no unexpected facts +PASS: NonConstantPrimitives.java: no unexpected facts +FAIL: NonNullProjection.java:24:jspecify_nullness_mismatch +PASS: NonNullProjection.java: no unexpected facts +FAIL: NonNullSimple.java:22:jspecify_nullness_mismatch +PASS: NonNullSimple.java: no unexpected facts +PASS: NotNullMarkedAnnotatedInnerOfNonParameterized.java: no unexpected facts +PASS: NotNullMarkedAnnotatedInnerOfParameterized.java: no unexpected facts +PASS: NotNullMarkedAnnotatedTypeParameter.java: no unexpected facts +PASS: NotNullMarkedAnnotatedTypeParameterUnspec.java: no unexpected facts +PASS: NotNullMarkedAnnotatedWildcard.java: no unexpected facts +PASS: NotNullMarkedAnnotatedWildcardUnspec.java: no unexpected facts +PASS: NotNullMarkedClassToSelf.java: no unexpected facts +PASS: NotNullMarkedConcatResult.java: no unexpected facts +PASS: NotNullMarkedContainmentExtends.java: no unexpected facts +PASS: NotNullMarkedContainmentSuper.java: no unexpected facts +PASS: NotNullMarkedContainmentSuperVsExtends.java: no unexpected facts +FAIL: NotNullMarkedIfCondition.java:44:jspecify_nullness_mismatch +PASS: NotNullMarkedIfCondition.java: no unexpected facts +PASS: NotNullMarkedInferenceChoosesNullableTypeVariable.java: no unexpected facts +FAIL: NotNullMarkedLocalVariable.java:44:jspecify_nullness_mismatch +PASS: NotNullMarkedLocalVariable.java: no unexpected facts +PASS: NotNullMarkedOverrides.java: no unexpected facts +FAIL: NotNullMarkedTypeVariableBound.java:68:jspecify_nullness_mismatch +PASS: NotNullMarkedTypeVariableBound.java: no unexpected facts +FAIL: NotNullMarkedUnboxing.java:42:jspecify_nullness_mismatch +FAIL: NotNullMarkedUnboxing.java:56:jspecify_nullness_mismatch +PASS: NotNullMarkedUnboxing.java: no unexpected facts +FAIL: NotNullMarkedUseOfTypeVariable.java:48:jspecify_nullness_mismatch +FAIL: NotNullMarkedUseOfTypeVariable.java:63:jspecify_nullness_mismatch +FAIL: NotNullMarkedUseOfTypeVariable.java:78:jspecify_nullness_mismatch +FAIL: NotNullMarkedUseOfTypeVariable.java:83:jspecify_nullness_mismatch +PASS: NotNullMarkedUseOfTypeVariable.java: no unexpected facts +FAIL: NotNullMarkedUseOfTypeVariableAsTypeArgument.java:51:jspecify_nullness_mismatch +FAIL: NotNullMarkedUseOfTypeVariableAsTypeArgument.java:66:jspecify_nullness_mismatch +FAIL: NotNullMarkedUseOfTypeVariableAsTypeArgument.java:81:jspecify_nullness_mismatch +FAIL: NotNullMarkedUseOfTypeVariableAsTypeArgument.java:86:jspecify_nullness_mismatch +PASS: NotNullMarkedUseOfTypeVariableAsTypeArgument.java: no unexpected facts +PASS: NotNullMarkedUseOfWildcardAsTypeArgument.java: no unexpected facts +FAIL: NullCheck.java:28:jspecify_nullness_mismatch +FAIL: NullCheck.java:37:jspecify_nullness_mismatch +FAIL: NullCheck.java:44:jspecify_nullness_mismatch +FAIL: NullCheck.java:53:jspecify_nullness_mismatch +PASS: NullCheck.java: no unexpected facts +FAIL: NullCheckTypeVariable.java:27:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariable.java:36:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariable.java:43:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariable.java:52:jspecify_nullness_mismatch +PASS: NullCheckTypeVariable.java: no unexpected facts +FAIL: NullCheckTypeVariableUnionNullBound.java:27:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnionNullBound.java:36:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnionNullBound.java:45:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnionNullBound.java:52:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnionNullBound.java:61:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnionNullBound.java:70:jspecify_nullness_mismatch +PASS: NullCheckTypeVariableUnionNullBound.java: no unexpected facts +FAIL: NullCheckTypeVariableUnspecBound.java:27:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnspecBound.java:36:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnspecBound.java:45:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnspecBound.java:52:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnspecBound.java:61:jspecify_nullness_mismatch +FAIL: NullCheckTypeVariableUnspecBound.java:70:jspecify_nullness_mismatch +PASS: NullCheckTypeVariableUnspecBound.java: no unexpected facts +FAIL: NullLiteralToClass.java:24:jspecify_nullness_mismatch +PASS: NullLiteralToClass.java: no unexpected facts +FAIL: NullLiteralToTypeVariable.java:45:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:50:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:55:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:60:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:65:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:70:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:75:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:80:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:85:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:90:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:95:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:100:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:105:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:110:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:115:jspecify_nullness_mismatch +FAIL: NullLiteralToTypeVariable.java:120:jspecify_nullness_mismatch +PASS: NullLiteralToTypeVariable.java: no unexpected facts +PASS: NullLiteralToTypeVariableUnionNull.java: no unexpected facts +PASS: NullLiteralToTypeVariableUnspec.java: no unexpected facts +PASS: NullMarkedDirectUseOfNotNullMarkedBoundedTypeVariable.java: no unexpected facts +PASS: NullUnmarkedUndoesNullMarked.java: no unexpected facts +PASS: NullUnmarkedUndoesNullMarkedForWildcards.java: no unexpected facts +FAIL: NullnessDoesNotAffectOverloadSelection.java:23:jspecify_nullness_mismatch +PASS: NullnessDoesNotAffectOverloadSelection.java: no unexpected facts +FAIL: ObjectAsSuperOfTypeVariable.java:35:jspecify_nullness_mismatch +PASS: ObjectAsSuperOfTypeVariable.java: no unexpected facts +FAIL: OutOfBoundsTypeVariable.java:23:jspecify_nullness_mismatch +PASS: OutOfBoundsTypeVariable.java: no unexpected facts +FAIL: OverrideParameters.java:48:jspecify_nullness_mismatch +FAIL: OverrideParameters.java:68:jspecify_nullness_mismatch +PASS: OverrideParameters.java: no unexpected facts +PASS: OverrideParametersThatAreTypeVariables.java: no unexpected facts +FAIL: OverrideReturns.java:57:jspecify_nullness_mismatch +PASS: OverrideReturns.java: no unexpected facts +PASS: ParameterizedWithTypeVariableArgumentToSelf.java: no unexpected facts +PASS: PrimitiveAnnotations.java: no unexpected facts +PASS: PrimitiveAnnotationsUnspec.java: no unexpected facts +FAIL: SameTypeObject.java:33:jspecify_nullness_mismatch +FAIL: SameTypeObject.java:53:jspecify_nullness_mismatch +PASS: SameTypeObject.java: no unexpected facts +FAIL: SameTypeTypeVariable.java:33:jspecify_nullness_mismatch +FAIL: SameTypeTypeVariable.java:53:jspecify_nullness_mismatch +PASS: SameTypeTypeVariable.java: no unexpected facts +FAIL: SuperNullableForNonNullableTypeParameter.java:29:jspecify_nullness_mismatch +PASS: SuperNullableForNonNullableTypeParameter.java: no unexpected facts +FAIL: SuperObject.java:33:jspecify_nullness_mismatch +PASS: SuperObject.java: no unexpected facts +PASS: SuperObjectUnionNull.java: no unexpected facts +PASS: SuperObjectUnspec.java: no unexpected facts +FAIL: SuperSameType.java:39:jspecify_nullness_mismatch +FAIL: SuperSameType.java:53:jspecify_nullness_mismatch +PASS: SuperSameType.java: no unexpected facts +FAIL: SuperTypeVariable.java:30:jspecify_nullness_mismatch +FAIL: SuperTypeVariable.java:59:jspecify_nullness_mismatch +FAIL: SuperTypeVariable.java:88:jspecify_nullness_mismatch +FAIL: SuperTypeVariable.java:117:jspecify_nullness_mismatch +PASS: SuperTypeVariable.java: no unexpected facts +PASS: SuperTypeVariableUnionNull.java: no unexpected facts +PASS: SuperTypeVariableUnspec.java: no unexpected facts +FAIL: SuperVsObject.java:26:jspecify_nullness_mismatch +PASS: SuperVsObject.java: no unexpected facts +FAIL: SuperVsSuperNullable.java:31:jspecify_nullness_mismatch +PASS: SuperVsSuperNullable.java: no unexpected facts +FAIL: Ternary.java:33:jspecify_nullness_mismatch +FAIL: Ternary.java:43:jspecify_nullness_mismatch +FAIL: Ternary.java:48:jspecify_nullness_mismatch +FAIL: Ternary.java:57:jspecify_nullness_mismatch +FAIL: Ternary.java:61:jspecify_nullness_mismatch +PASS: Ternary.java: no unexpected facts +FAIL: TypeArgumentOfTypeVariableBound.java:37:jspecify_nullness_mismatch +FAIL: TypeArgumentOfTypeVariableBound.java:57:jspecify_nullness_mismatch +PASS: TypeArgumentOfTypeVariableBound.java: no unexpected facts +FAIL: TypeArgumentOfWildcardBound.java:37:jspecify_nullness_mismatch +FAIL: TypeArgumentOfWildcardBound.java:58:jspecify_nullness_mismatch +PASS: TypeArgumentOfWildcardBound.java: no unexpected facts +FAIL: TypeVariableMinusNullVsTypeVariable.java:30:jspecify_nullness_mismatch +FAIL: TypeVariableMinusNullVsTypeVariable.java:32:jspecify_nullness_mismatch +FAIL: TypeVariableMinusNullVsTypeVariable.java:52:jspecify_nullness_mismatch +PASS: TypeVariableMinusNullVsTypeVariable.java: no unexpected facts +FAIL: TypeVariableToObject.java:58:jspecify_nullness_mismatch +FAIL: TypeVariableToObject.java:76:jspecify_nullness_mismatch +FAIL: TypeVariableToObject.java:96:jspecify_nullness_mismatch +FAIL: TypeVariableToObject.java:101:jspecify_nullness_mismatch +FAIL: TypeVariableToObject.java:106:jspecify_nullness_mismatch +FAIL: TypeVariableToObject.java:111:jspecify_nullness_mismatch +FAIL: TypeVariableToObject.java:116:jspecify_nullness_mismatch +PASS: TypeVariableToObject.java: no unexpected facts +PASS: TypeVariableToObjectUnionNull.java: no unexpected facts +PASS: TypeVariableToObjectUnspec.java: no unexpected facts +FAIL: TypeVariableToParent.java:54:jspecify_nullness_mismatch +FAIL: TypeVariableToParent.java:68:jspecify_nullness_mismatch +FAIL: TypeVariableToParent.java:82:jspecify_nullness_mismatch +FAIL: TypeVariableToParent.java:96:jspecify_nullness_mismatch +PASS: TypeVariableToParent.java: no unexpected facts +PASS: TypeVariableToParentUnionNull.java: no unexpected facts +PASS: TypeVariableToParentUnspec.java: no unexpected facts +PASS: TypeVariableToSelf.java: no unexpected facts +PASS: TypeVariableToSelfUnionNull.java: no unexpected facts +PASS: TypeVariableToSelfUnspec.java: no unexpected facts +FAIL: TypeVariableUnionNullToObject.java:45:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:50:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:55:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:60:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:65:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:70:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:75:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:80:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:85:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:90:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:95:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:100:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:105:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:110:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:115:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToObject.java:120:jspecify_nullness_mismatch +PASS: TypeVariableUnionNullToObject.java: no unexpected facts +PASS: TypeVariableUnionNullToObjectUnionNull.java: no unexpected facts +PASS: TypeVariableUnionNullToObjectUnspec.java: no unexpected facts +FAIL: TypeVariableUnionNullToParent.java:45:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:50:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:55:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:60:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:65:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:70:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:75:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:80:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:85:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:90:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:95:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToParent.java:100:jspecify_nullness_mismatch +PASS: TypeVariableUnionNullToParent.java: no unexpected facts +PASS: TypeVariableUnionNullToParentUnionNull.java: no unexpected facts +PASS: TypeVariableUnionNullToParentUnspec.java: no unexpected facts +FAIL: TypeVariableUnionNullToSelf.java:45:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:50:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:55:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:60:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:65:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:70:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:75:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:80:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:85:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:90:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:95:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:100:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:105:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:110:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:115:jspecify_nullness_mismatch +FAIL: TypeVariableUnionNullToSelf.java:120:jspecify_nullness_mismatch +PASS: TypeVariableUnionNullToSelf.java: no unexpected facts +PASS: TypeVariableUnionNullToSelfUnionNull.java: no unexpected facts +PASS: TypeVariableUnionNullToSelfUnspec.java: no unexpected facts +FAIL: TypeVariableUnspecToObject.java:60:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToObject.java:80:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToObject.java:100:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToObject.java:105:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToObject.java:110:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToObject.java:115:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToObject.java:120:jspecify_nullness_mismatch +PASS: TypeVariableUnspecToObject.java: no unexpected facts +PASS: TypeVariableUnspecToObjectUnionNull.java: no unexpected facts +PASS: TypeVariableUnspecToObjectUnspec.java: no unexpected facts +FAIL: TypeVariableUnspecToParent.java:55:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToParent.java:70:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToParent.java:85:jspecify_nullness_mismatch +FAIL: TypeVariableUnspecToParent.java:100:jspecify_nullness_mismatch +PASS: TypeVariableUnspecToParent.java: no unexpected facts +PASS: TypeVariableUnspecToParentUnionNull.java: no unexpected facts +PASS: TypeVariableUnspecToParentUnspec.java: no unexpected facts +PASS: TypeVariableUnspecToSelf.java: no unexpected facts +PASS: TypeVariableUnspecToSelfUnionNull.java: no unexpected facts +PASS: TypeVariableUnspecToSelfUnspec.java: no unexpected facts +FAIL: Unboxing.java:33:jspecify_nullness_mismatch +FAIL: Unboxing.java:47:jspecify_nullness_mismatch +PASS: Unboxing.java: no unexpected facts +FAIL: UninitializedField.java:23:jspecify_nullness_mismatch +FAIL: UninitializedField.java:31:jspecify_nullness_mismatch +PASS: UninitializedField.java: no unexpected facts +FAIL: UnionTypeArgumentWithUseSite.java:73:jspecify_nullness_mismatch +FAIL: UnionTypeArgumentWithUseSite.java:87:jspecify_nullness_mismatch +FAIL: UnionTypeArgumentWithUseSite.java:93:jspecify_nullness_mismatch +FAIL: UnionTypeArgumentWithUseSite.java:97:jspecify_nullness_mismatch +FAIL: UnionTypeArgumentWithUseSite.java:101:jspecify_nullness_mismatch +PASS: UnionTypeArgumentWithUseSite.java: no unexpected facts +PASS: UnrecognizedLocationsMisc.java: no unexpected facts +FAIL: UnspecifiedClassTypeArgumentForNonNullableParameter.java:28:jspecify_nullness_mismatch +PASS: UnspecifiedClassTypeArgumentForNonNullableParameter.java: no unexpected facts +PASS: UnspecifiedTypeArgumentForNonNullableParameter.java: no unexpected facts +PASS: UnspecifiedTypeArgumentForNonNullableParameterRepeatedSubstitution.java: no unexpected facts +PASS: UnspecifiedTypeArgumentForNonNullableParameterUseUnspec.java: no unexpected facts +FAIL: UnspecifiedTypeVariableTypeArgumentForNonNullableParameter.java:28:jspecify_nullness_mismatch +PASS: UnspecifiedTypeVariableTypeArgumentForNonNullableParameter.java: no unexpected facts +FAIL: UseOfTypeVariableAsTypeArgument.java:46:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableAsTypeArgument.java:60:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableAsTypeArgument.java:74:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableAsTypeArgument.java:79:jspecify_nullness_mismatch +PASS: UseOfTypeVariableAsTypeArgument.java: no unexpected facts +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:37:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:42:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:47:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:52:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:57:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:62:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:67:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:72:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:77:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnionNullAsTypeArgument.java:82:jspecify_nullness_mismatch +PASS: UseOfTypeVariableUnionNullAsTypeArgument.java: no unexpected facts +FAIL: UseOfTypeVariableUnspecAsTypeArgument.java:47:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnspecAsTypeArgument.java:62:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnspecAsTypeArgument.java:77:jspecify_nullness_mismatch +FAIL: UseOfTypeVariableUnspecAsTypeArgument.java:82:jspecify_nullness_mismatch +PASS: UseOfTypeVariableUnspecAsTypeArgument.java: no unexpected facts +FAIL: WildcardBoundWithAnnotations.java:44:jspecify_nullness_mismatch +PASS: WildcardBoundWithAnnotations.java: no unexpected facts +FAIL: WildcardCapturesToBoundOfTypeParameterNotToTypeVariableItself.java:26:jspecify_nullness_mismatch +PASS: WildcardCapturesToBoundOfTypeParameterNotToTypeVariableItself.java: no unexpected facts +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:76:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:78:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:89:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:91:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:93:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:95:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:106:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:108:jspecify_nullness_mismatch +FAIL: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java:110:jspecify_nullness_mismatch +PASS: annotatedBoundsOfWildcard/annotatedboundsofwildcard/AnnotatedBoundsOfWildcard.java: no unexpected facts +FAIL: defaults/defaults/Defaults.java:25:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:30:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:48:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:71:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:75:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:81:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:83:jspecify_nullness_mismatch +FAIL: defaults/defaults/Defaults.java:92:jspecify_nullness_mismatch +PASS: defaults/defaults/Defaults.java: no unexpected facts +PASS: fullyQualified/fullyqualified/sub/Annotation.java: no unexpected facts +PASS: fullyQualified/fullyqualified/sub/Caller.java: no unexpected facts +PASS: fullyQualified/fullyqualified/sub/Clazz.java: no unexpected facts +PASS: fullyQualified/fullyqualified/sub/Enumeration.java: no unexpected facts +PASS: fullyQualified/fullyqualified/sub/Interface.java: no unexpected facts +FAIL: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java:32:jspecify_nullness_mismatch +FAIL: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java:63:jspecify_nullness_mismatch +FAIL: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java:65:jspecify_nullness_mismatch +FAIL: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java:68:jspecify_nullness_mismatch +FAIL: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java:71:jspecify_nullness_mismatch +FAIL: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java:75:jspecify_nullness_mismatch +PASS: ignoreAnnotations/ignoreannotations/IgnoreAnnotations.java: no unexpected facts +PASS: implementWithNullableTypeArgument/implementwithnullabletypeargument/MyFunction.java: no unexpected facts +PASS: implementWithNullableTypeArgument/implementwithnullabletypeargument/SuperFunction.java: no unexpected facts +PASS: implementWithNullableTypeArgument/implementwithnullabletypeargument/User.java: no unexpected facts +PASS: memberSelectNonExpression/memberselectnonexpression/MemberSelectNonExpressions.java: no unexpected facts +PASS: nonPlatformTypeParameter/nonplatformtypeparameter/NonPlatformTypeParameter.java: no unexpected facts +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:35:jspecify_nullness_mismatch +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:43:jspecify_nullness_mismatch +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:47:jspecify_nullness_mismatch +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:51:jspecify_nullness_mismatch +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:53:jspecify_nullness_mismatch +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:57:jspecify_nullness_mismatch +FAIL: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java:59:jspecify_nullness_mismatch +PASS: nullnessUnspecifiedTypeParameter/nullnessunspecifiedtypeparameter/NullnessUnspecifiedTypeParameter.java: no unexpected facts +FAIL: packageDefault/packagedefault/Bar.java:23:test:cannot-convert:Object? to Object! +PASS: packageDefault/packagedefault/Bar.java: no unexpected facts +PASS: packageDefault/packagedefault/package-info.java: no unexpected facts +FAIL: selfType/selftype/SelfType.java:36:test:cannot-convert:AK? to SelfType! +FAIL: selfType/selftype/SelfType.java:45:test:cannot-convert:CK? to C! +FAIL: selfType/selftype/SelfType.java:61:test:cannot-convert:null? to AK! +FAIL: selfType/selftype/SelfType.java:64:test:cannot-convert:null? to AK! +FAIL: selfType/selftype/SelfType.java:68:test:cannot-convert:null? to B! +FAIL: selfType/selftype/SelfType.java:72:test:cannot-convert:null? to CK! +FAIL: selfType/selftype/SelfType.java:75:test:cannot-convert:null? to CK! +PASS: selfType/selftype/SelfType.java: no unexpected facts +FAIL: simple/simple/Simple.java:32:jspecify_nullness_mismatch +FAIL: simple/simple/Simple.java:46:jspecify_nullness_mismatch +FAIL: simple/simple/Simple.java:48:jspecify_nullness_mismatch +FAIL: simple/simple/Simple.java:53:jspecify_nullness_mismatch +PASS: simple/simple/Simple.java: no unexpected facts +FAIL: typeArgumentsFromParameterBounds/typeargumentsfromparameterbounds/TypeArgumentsFromParameterBounds.java:51:jspecify_nullness_mismatch +FAIL: typeArgumentsFromParameterBounds/typeargumentsfromparameterbounds/TypeArgumentsFromParameterBounds.java:53:jspecify_nullness_mismatch +FAIL: typeArgumentsFromParameterBounds/typeargumentsfromparameterbounds/TypeArgumentsFromParameterBounds.java:55:jspecify_nullness_mismatch +PASS: typeArgumentsFromParameterBounds/typeargumentsfromparameterbounds/TypeArgumentsFromParameterBounds.java: no unexpected facts +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:42:jspecify_nullness_mismatch +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:45:jspecify_nullness_mismatch +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:51:jspecify_nullness_mismatch +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:55:jspecify_nullness_mismatch +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:57:jspecify_nullness_mismatch +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:61:jspecify_nullness_mismatch +FAIL: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java:63:jspecify_nullness_mismatch +PASS: typeParameterBounds/typeparameterbounds/TypeParameterBounds.java: no unexpected facts +PASS: wildcardsWithDefault/wildcardswithdefault/WildcardsWithDefault.java: no unexpected facts