Skip to content

Commit

Permalink
Add simple test for nullability warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
mcimadamore committed Aug 23, 2024
1 parent dbf4f49 commit 43e5a7e
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* @test /nodynamiccopyright/
* @summary Smoke test for nullability warnings
* @enablePreview
* @compile/fail/ref=NullabilityWarningsTest.out -XDrawDiagnostics -Werror -Xlint:null NullabilityWarningsTest.java
*/

public class NullabilityWarningsTest {
static class Box<T> {
T t;
Box(T t) {
this.t = t;
}
T get() { return t; }
void set(T t) { this.t = t; }
}

void test() {
String? s_null = null;
String! s_nonnull = "";
String s_unknown = null;
s_null = s_nonnull;
s_nonnull = s_null; //warn
s_unknown = s_null;
s_unknown = s_nonnull;

Box<String?> bs_null = null;
Box<String!> bs_nonnull = null;
Box<String> bs_unknown = null;
bs_null = bs_nonnull; //warn
bs_nonnull = bs_null; //warn
bs_unknown = bs_null;
bs_unknown = bs_nonnull;

Box<? super String?> bss_null = null;
Box<? super String!> bss_nonnull = null;
Box<? super String!> bss_unknown = null;

bss_nonnull = bss_null;
bss_null = bss_nonnull; //warn
bss_unknown = bss_null;
bss_unknown = bss_nonnull;

Box<? extends String?> bes_null = null;
Box<? extends String!> bes_nonnull = null;
Box<? extends String> bes_unknown = null;

bes_nonnull = bes_null; //warn
bes_null = bes_nonnull;
bes_unknown = bes_null;
bes_unknown = bes_nonnull;
}
}
10 changes: 10 additions & 0 deletions test/langtools/tools/javac/nullability/NullabilityWarningsTest.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
NullabilityWarningsTest.java:23:21: compiler.warn.unchecked.nullness.conversion
NullabilityWarningsTest.java:30:19: compiler.warn.unchecked.nullness.conversion
NullabilityWarningsTest.java:31:22: compiler.warn.unchecked.nullness.conversion
NullabilityWarningsTest.java:40:20: compiler.warn.unchecked.nullness.conversion
NullabilityWarningsTest.java:48:23: compiler.warn.unchecked.nullness.conversion
- compiler.err.warnings.and.werror
- compiler.note.preview.filename: NullabilityWarningsTest.java, DEFAULT
- compiler.note.preview.recompile
1 error
5 warnings

0 comments on commit 43e5a7e

Please sign in to comment.