• 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 TypeVariableUnspecToParentUnspec<
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(@ullnessUnspecified ChildOfNever1T x)43   @NullnessUnspecified Never1T x0(@NullnessUnspecified ChildOfNever1T x) {
44     // jspecify_nullness_not_enough_information
45     return x;
46   }
47 
x1(@ullnessUnspecified UnspecChildOfNever1T x)48   @NullnessUnspecified Never1T x1(@NullnessUnspecified UnspecChildOfNever1T x) {
49     // jspecify_nullness_not_enough_information
50     return x;
51   }
52 
x2(@ullnessUnspecified NullChildOfNever1T x)53   @NullnessUnspecified Never1T x2(@NullnessUnspecified NullChildOfNever1T x) {
54     // jspecify_nullness_not_enough_information
55     return x;
56   }
57 
x3(@ullnessUnspecified ChildOfNever2T x)58   @NullnessUnspecified Never2T x3(@NullnessUnspecified ChildOfNever2T x) {
59     // jspecify_nullness_not_enough_information
60     return x;
61   }
62 
x4(@ullnessUnspecified UnspecChildOfNever2T x)63   @NullnessUnspecified Never2T x4(@NullnessUnspecified UnspecChildOfNever2T x) {
64     // jspecify_nullness_not_enough_information
65     return x;
66   }
67 
x5(@ullnessUnspecified NullChildOfNever2T x)68   @NullnessUnspecified Never2T x5(@NullnessUnspecified NullChildOfNever2T x) {
69     // jspecify_nullness_not_enough_information
70     return x;
71   }
72 
x6(@ullnessUnspecified ChildOfUnspecT x)73   @NullnessUnspecified UnspecT x6(@NullnessUnspecified ChildOfUnspecT x) {
74     // jspecify_nullness_not_enough_information
75     return x;
76   }
77 
x7(@ullnessUnspecified UnspecChildOfUnspecT x)78   @NullnessUnspecified UnspecT x7(@NullnessUnspecified UnspecChildOfUnspecT x) {
79     // jspecify_nullness_not_enough_information
80     return x;
81   }
82 
x8(@ullnessUnspecified NullChildOfUnspecT x)83   @NullnessUnspecified UnspecT x8(@NullnessUnspecified NullChildOfUnspecT x) {
84     // jspecify_nullness_not_enough_information
85     return x;
86   }
87 
x9(@ullnessUnspecified ChildOfParametricT x)88   @NullnessUnspecified ParametricT x9(@NullnessUnspecified ChildOfParametricT x) {
89     // jspecify_nullness_not_enough_information
90     return x;
91   }
92 
x10(@ullnessUnspecified UnspecChildOfParametricT x)93   @NullnessUnspecified ParametricT x10(@NullnessUnspecified UnspecChildOfParametricT x) {
94     // jspecify_nullness_not_enough_information
95     return x;
96   }
97 
x11(@ullnessUnspecified NullChildOfParametricT x)98   @NullnessUnspecified ParametricT x11(@NullnessUnspecified NullChildOfParametricT x) {
99     // jspecify_nullness_not_enough_information
100     return x;
101   }
102 }
103