33
33
import org .apache .calcite .linq4j .function .Predicate1 ;
34
34
import org .apache .calcite .linq4j .function .Predicate2 ;
35
35
36
- import org .checkerframework .checker .nullness .qual .NonNull ;
37
36
import org .checkerframework .checker .nullness .qual .Nullable ;
37
+ import org .checkerframework .checker .nullness .qual .PolyNull ;
38
38
39
39
import java .math .BigDecimal ;
40
40
import java .util .Collection ;
54
54
*
55
55
* @param <T> Element type
56
56
*/
57
- public abstract class DefaultEnumerable <T > implements OrderedEnumerable <T > {
57
+ public abstract class DefaultEnumerable <T extends @ Nullable Object > implements OrderedEnumerable <T > {
58
58
59
59
/**
60
60
* Derived classes might wish to override this method to return the "outer"
@@ -92,12 +92,12 @@ protected OrderedQueryable<T> asOrderedQueryable() {
92
92
return EnumerableDefaults .asOrderedQueryable (this );
93
93
}
94
94
95
- public T aggregate (Function2 <T , T , T > func ) {
95
+ public @ Nullable T aggregate (Function2 <@ Nullable T , T , T > func ) {
96
96
return EnumerableDefaults .aggregate (getThis (), func );
97
97
}
98
98
99
- public <TAccumulate > TAccumulate aggregate (TAccumulate seed ,
100
- Function2 <TAccumulate , T , TAccumulate > func ) {
99
+ public <TAccumulate > @ PolyNull TAccumulate aggregate (@ PolyNull TAccumulate seed ,
100
+ Function2 <@ PolyNull TAccumulate , T , TAccumulate > func ) {
101
101
return EnumerableDefaults .aggregate (getThis (), seed , func );
102
102
}
103
103
@@ -194,11 +194,11 @@ public <TKey> OrderedEnumerable<T> createOrderedEnumerable(
194
194
keySelector , comparator , descending );
195
195
}
196
196
197
- public Enumerable <T > defaultIfEmpty () {
197
+ public Enumerable <@ Nullable T > defaultIfEmpty () {
198
198
return EnumerableDefaults .defaultIfEmpty (getThis ());
199
199
}
200
200
201
- public Enumerable <T > defaultIfEmpty (T value ) {
201
+ public Enumerable <@ PolyNull T > defaultIfEmpty (@ PolyNull T value ) {
202
202
return EnumerableDefaults .defaultIfEmpty (getThis (), value );
203
203
}
204
204
@@ -214,7 +214,7 @@ public T elementAt(int index) {
214
214
return EnumerableDefaults .elementAt (getThis (), index );
215
215
}
216
216
217
- public T elementAtOrDefault (int index ) {
217
+ public @ Nullable T elementAtOrDefault (int index ) {
218
218
return EnumerableDefaults .elementAtOrDefault (getThis (), index );
219
219
}
220
220
@@ -248,7 +248,7 @@ public T first(Predicate1<T> predicate) {
248
248
return EnumerableDefaults .firstOrDefault (getThis ());
249
249
}
250
250
251
- public T firstOrDefault (Predicate1 <T > predicate ) {
251
+ public @ Nullable T firstOrDefault (Predicate1 <T > predicate ) {
252
252
return EnumerableDefaults .firstOrDefault (getThis (), predicate );
253
253
}
254
254
@@ -431,11 +431,11 @@ public T last(Predicate1<T> predicate) {
431
431
return EnumerableDefaults .last (getThis (), predicate );
432
432
}
433
433
434
- public T lastOrDefault () {
434
+ public @ Nullable T lastOrDefault () {
435
435
return EnumerableDefaults .lastOrDefault (getThis ());
436
436
}
437
437
438
- public T lastOrDefault (Predicate1 <T > predicate ) {
438
+ public @ Nullable T lastOrDefault (Predicate1 <T > predicate ) {
439
439
return EnumerableDefaults .lastOrDefault (getThis (), predicate );
440
440
}
441
441
@@ -624,11 +624,11 @@ public T single(Predicate1<T> predicate) {
624
624
return EnumerableDefaults .single (getThis (), predicate );
625
625
}
626
626
627
- public T singleOrDefault () {
627
+ public @ Nullable T singleOrDefault () {
628
628
return EnumerableDefaults .singleOrDefault (getThis ());
629
629
}
630
630
631
- public T singleOrDefault (Predicate1 <T > predicate ) {
631
+ public @ Nullable T singleOrDefault (Predicate1 <T > predicate ) {
632
632
return EnumerableDefaults .singleOrDefault (getThis (), predicate );
633
633
}
634
634
0 commit comments