(WildcardType fromWildcardType)
| 127 | } |
| 128 | |
| 129 | @Override |
| 130 | void visitWildcardType(WildcardType fromWildcardType) { |
| 131 | if (!(to instanceof WildcardType)) { |
| 132 | return; // okay to say <?> is anything |
| 133 | } |
| 134 | WildcardType toWildcardType = (WildcardType) to; |
| 135 | Type[] fromUpperBounds = fromWildcardType.getUpperBounds(); |
| 136 | Type[] toUpperBounds = toWildcardType.getUpperBounds(); |
| 137 | Type[] fromLowerBounds = fromWildcardType.getLowerBounds(); |
| 138 | Type[] toLowerBounds = toWildcardType.getLowerBounds(); |
| 139 | checkArgument(fromUpperBounds.length == toUpperBounds.length |
| 140 | && fromLowerBounds.length == toLowerBounds.length, |
| 141 | "Incompatible type: %s vs. %s", |
| 142 | fromWildcardType, |
| 143 | to); |
| 144 | for (int i = 0; i < fromUpperBounds.length; i++) { |
| 145 | populateTypeMappings(mappings, fromUpperBounds[i], toUpperBounds[i]); |
| 146 | } |
| 147 | for (int i = 0; i < fromLowerBounds.length; i++) { |
| 148 | populateTypeMappings(mappings, fromLowerBounds[i], toLowerBounds[i]); |
| 149 | } |
| 150 | } |
| 151 | |
| 152 | @Override |
| 153 | void visitParameterizedType(ParameterizedType fromParameterizedType) { |
nothing calls this directly
no test coverage detected