• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 The JSpecify Authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 import org.jspecify.annotations.NullMarked;
17 import org.jspecify.annotations.Nullable;
18 import org.jspecify.annotations.NullnessUnspecified;
19 
20 @NullMarked
21 class TypeVariableUnionNullToObject<
22     Never1T,
23     ChildOfNever1T extends Never1T,
24     UnspecChildOfNever1T extends @NullnessUnspecified Never1T,
25     NullChildOfNever1T extends @Nullable Never1T,
26     //
27     Never2T extends Object,
28     ChildOfNever2T extends Never2T,
29     UnspecChildOfNever2T extends @NullnessUnspecified Never2T,
30     NullChildOfNever2T extends @Nullable Never2T,
31     //
32     UnspecT extends @NullnessUnspecified Object,
33     ChildOfUnspecT extends UnspecT,
34     UnspecChildOfUnspecT extends @NullnessUnspecified UnspecT,
35     NullChildOfUnspecT extends @Nullable UnspecT,
36     //
37     ParametricT extends @Nullable Object,
38     ChildOfParametricT extends ParametricT,
39     UnspecChildOfParametricT extends @NullnessUnspecified ParametricT,
40     NullChildOfParametricT extends @Nullable ParametricT,
41     //
42     UnusedT> {
x0(@ullable Never1T x)43   Object x0(@Nullable Never1T x) {
44     // jspecify_nullness_mismatch
45     return x;
46   }
47 
x1(@ullable ChildOfNever1T x)48   Object x1(@Nullable ChildOfNever1T x) {
49     // jspecify_nullness_mismatch
50     return x;
51   }
52 
x2(@ullable UnspecChildOfNever1T x)53   Object x2(@Nullable UnspecChildOfNever1T x) {
54     // jspecify_nullness_mismatch
55     return x;
56   }
57 
x3(@ullable NullChildOfNever1T x)58   Object x3(@Nullable NullChildOfNever1T x) {
59     // jspecify_nullness_mismatch
60     return x;
61   }
62 
x4(@ullable Never2T x)63   Object x4(@Nullable Never2T x) {
64     // jspecify_nullness_mismatch
65     return x;
66   }
67 
x5(@ullable ChildOfNever2T x)68   Object x5(@Nullable ChildOfNever2T x) {
69     // jspecify_nullness_mismatch
70     return x;
71   }
72 
x6(@ullable UnspecChildOfNever2T x)73   Object x6(@Nullable UnspecChildOfNever2T x) {
74     // jspecify_nullness_mismatch
75     return x;
76   }
77 
x7(@ullable NullChildOfNever2T x)78   Object x7(@Nullable NullChildOfNever2T x) {
79     // jspecify_nullness_mismatch
80     return x;
81   }
82 
x8(@ullable UnspecT x)83   Object x8(@Nullable UnspecT x) {
84     // jspecify_nullness_mismatch
85     return x;
86   }
87 
x9(@ullable ChildOfUnspecT x)88   Object x9(@Nullable ChildOfUnspecT x) {
89     // jspecify_nullness_mismatch
90     return x;
91   }
92 
x10(@ullable UnspecChildOfUnspecT x)93   Object x10(@Nullable UnspecChildOfUnspecT x) {
94     // jspecify_nullness_mismatch
95     return x;
96   }
97 
x11(@ullable NullChildOfUnspecT x)98   Object x11(@Nullable NullChildOfUnspecT x) {
99     // jspecify_nullness_mismatch
100     return x;
101   }
102 
x12(@ullable ParametricT x)103   Object x12(@Nullable ParametricT x) {
104     // jspecify_nullness_mismatch
105     return x;
106   }
107 
x13(@ullable ChildOfParametricT x)108   Object x13(@Nullable ChildOfParametricT x) {
109     // jspecify_nullness_mismatch
110     return x;
111   }
112 
x14(@ullable UnspecChildOfParametricT x)113   Object x14(@Nullable UnspecChildOfParametricT x) {
114     // jspecify_nullness_mismatch
115     return x;
116   }
117 
x15(@ullable NullChildOfParametricT x)118   Object x15(@Nullable NullChildOfParametricT x) {
119     // jspecify_nullness_mismatch
120     return x;
121   }
122 }
123