|
3 | 3 | import com.google.errorprone.VisitorState; |
4 | 4 | import com.sun.tools.javac.code.Type; |
5 | 5 | import com.sun.tools.javac.code.Types; |
| 6 | +import com.uber.nullaway.Config; |
6 | 7 | import java.util.List; |
7 | 8 | import javax.lang.model.type.NullType; |
8 | 9 | import javax.lang.model.type.TypeKind; |
|
14 | 15 | */ |
15 | 16 | public class CheckIdenticalNullabilityVisitor extends Types.DefaultTypeVisitor<Boolean, Type> { |
16 | 17 | private final VisitorState state; |
| 18 | + private final Config config; |
17 | 19 |
|
18 | | - CheckIdenticalNullabilityVisitor(VisitorState state) { |
| 20 | + CheckIdenticalNullabilityVisitor(VisitorState state, Config config) { |
19 | 21 | this.state = state; |
| 22 | + this.config = config; |
20 | 23 | } |
21 | 24 |
|
22 | 25 | @Override |
@@ -60,8 +63,8 @@ public Boolean visitClassType(Type.ClassType lhsType, Type rhsType) { |
60 | 63 | // TODO Handle wildcard types |
61 | 64 | continue; |
62 | 65 | } |
63 | | - boolean isLHSNullableAnnotated = GenericsChecks.isNullableAnnotated(lhsTypeArgument, state); |
64 | | - boolean isRHSNullableAnnotated = GenericsChecks.isNullableAnnotated(rhsTypeArgument, state); |
| 66 | + boolean isLHSNullableAnnotated = GenericsChecks.isNullableAnnotated(lhsTypeArgument, config); |
| 67 | + boolean isRHSNullableAnnotated = GenericsChecks.isNullableAnnotated(rhsTypeArgument, config); |
65 | 68 | if (isLHSNullableAnnotated != isRHSNullableAnnotated) { |
66 | 69 | return false; |
67 | 70 | } |
@@ -91,8 +94,8 @@ public Boolean visitArrayType(Type.ArrayType lhsType, Type rhsType) { |
91 | 94 | Type.ArrayType arrRhsType = (Type.ArrayType) rhsType; |
92 | 95 | Type lhsComponentType = lhsType.getComponentType(); |
93 | 96 | Type rhsComponentType = arrRhsType.getComponentType(); |
94 | | - boolean isLHSNullableAnnotated = GenericsChecks.isNullableAnnotated(lhsComponentType, state); |
95 | | - boolean isRHSNullableAnnotated = GenericsChecks.isNullableAnnotated(rhsComponentType, state); |
| 97 | + boolean isLHSNullableAnnotated = GenericsChecks.isNullableAnnotated(lhsComponentType, config); |
| 98 | + boolean isRHSNullableAnnotated = GenericsChecks.isNullableAnnotated(rhsComponentType, config); |
96 | 99 | if (isRHSNullableAnnotated != isLHSNullableAnnotated) { |
97 | 100 | return false; |
98 | 101 | } |
|
0 commit comments