Rework jspecify tests

1) Add Java use sites which are similar to Kotlin use sites;
2) Use the new test format: separated Java and Kotlin sources (Java declarations + use sites and Kotlin corresponding use sites), Java declarations + use sites will be a sharable test suite;
3) Remove any dependencies from Java sources except `Object` and jspecify annotations;
4) Introduce a new test runner which compiles Java and Kotlin sources together and dumps all descriptors.
This commit is contained in:
Victor Petukhov
2020-09-15 17:21:26 +03:00
parent a271c27351
commit 307cfea0f7
74 changed files with 765 additions and 1336 deletions

View File

@@ -0,0 +1,15 @@
import org.jspecify.annotations.*;
@DefaultNotNull
public class DefaultsA {
static class Test {
public Test foo() { return null; }
}
public Test defaultField = null;
@Nullable public Test field = null;
public Test everythingNotNullable(Test x) { return null; }
public Test explicitlyNullnessUnspecified(@NullnessUnspecified Test x) { return null; }
}