11package graphql ;
22
3+ import org .jspecify .annotations .NullMarked ;
4+ import org .jspecify .annotations .Nullable ;
5+
36import java .util .Collection ;
47import java .util .function .Supplier ;
58import java .util .regex .Pattern ;
811
912@ SuppressWarnings ("TypeParameterUnusedInFormals" )
1013@ Internal
14+ @ NullMarked
1115public class Assert {
1216
1317 public static <T > T assertNotNullWithNPE (T object , Supplier <String > msg ) {
@@ -17,71 +21,82 @@ public static <T> T assertNotNullWithNPE(T object, Supplier<String> msg) {
1721 throw new NullPointerException (msg .get ());
1822 }
1923
20- public static <T > T assertNotNull (T object ) {
24+ @ Contract ("null -> fail" )
25+ public static <T > T assertNotNull (@ Nullable T object ) {
2126 if (object != null ) {
2227 return object ;
2328 }
2429 return throwAssert ("Object required to be not null" );
2530 }
2631
27- public static <T > T assertNotNull (T object , Supplier <String > msg ) {
32+ @ Contract ("null,_ -> fail" )
33+ public static <T > T assertNotNull (@ Nullable T object , Supplier <String > msg ) {
2834 if (object != null ) {
2935 return object ;
3036 }
3137 return throwAssert (msg .get ());
3238 }
3339
34- public static <T > T assertNotNull (T object , String constantMsg ) {
40+ @ Contract ("null,_ -> fail" )
41+ public static <T > T assertNotNull (@ Nullable T object , String constantMsg ) {
3542 if (object != null ) {
3643 return object ;
3744 }
3845 return throwAssert (constantMsg );
3946 }
4047
41- public static <T > T assertNotNull (T object , String msgFmt , Object arg1 ) {
48+ @ Contract ("null,_,_ -> fail" )
49+ public static <T > T assertNotNull (@ Nullable T object , String msgFmt , Object arg1 ) {
4250 if (object != null ) {
4351 return object ;
4452 }
4553 return throwAssert (msgFmt , arg1 );
4654 }
4755
48- public static <T > T assertNotNull (T object , String msgFmt , Object arg1 , Object arg2 ) {
56+ @ Contract ("null,_,_,_ -> fail" )
57+ public static <T > T assertNotNull (@ Nullable T object , String msgFmt , Object arg1 , Object arg2 ) {
4958 if (object != null ) {
5059 return object ;
5160 }
5261 return throwAssert (msgFmt , arg1 , arg2 );
5362 }
5463
55- public static <T > T assertNotNull (T object , String msgFmt , Object arg1 , Object arg2 , Object arg3 ) {
64+ @ Contract ("null,_,_,_,_ -> fail" )
65+ public static <T > T assertNotNull (@ Nullable T object , String msgFmt , Object arg1 , Object arg2 , Object arg3 ) {
5666 if (object != null ) {
5767 return object ;
5868 }
5969 return throwAssert (msgFmt , arg1 , arg2 , arg3 );
6070 }
6171
6272
63- public static <T > void assertNull (T object , Supplier <String > msg ) {
73+ @ Contract ("!null,_ -> fail" )
74+ public static <T > void assertNull (@ Nullable T object , Supplier <String > msg ) {
6475 if (object == null ) {
6576 return ;
6677 }
6778 throwAssert (msg .get ());
6879 }
6980
70- public static <T > void assertNull (T object ) {
81+ @ Contract ("!null -> fail" )
82+ public static <T > void assertNull (@ Nullable Object object ) {
7183 if (object == null ) {
7284 return ;
7385 }
7486 throwAssert ("Object required to be null" );
7587 }
7688
89+ @ Contract ("-> fail" )
7790 public static <T > T assertNeverCalled () {
7891 return throwAssert ("Should never been called" );
7992 }
8093
94+ @ Contract ("_,_-> fail" )
8195 public static <T > T assertShouldNeverHappen (String format , Object ... args ) {
8296 return throwAssert ("Internal error: should never happen: %s" , format (format , args ));
8397 }
8498
99+ @ Contract ("-> fail" )
85100 public static <T > T assertShouldNeverHappen () {
86101 return throwAssert ("Internal error: should never happen" );
87102 }
@@ -93,6 +108,7 @@ public static <T> Collection<T> assertNotEmpty(Collection<T> collection) {
93108 return collection ;
94109 }
95110
111+ // @Contract("null,_-> fail")
96112 public static <T > Collection <T > assertNotEmpty (Collection <T > collection , Supplier <String > msg ) {
97113 if (collection == null || collection .isEmpty ()) {
98114 throwAssert (msg .get ());
0 commit comments