1 package com.puppycrawl.tools.checkstyle.grammar; 2 import java.lang.reflect.ParameterizedType; 3 import java.lang.reflect.WildcardType; 4 import java.util.List; 5 6 public class InputMultiDimensionalArraysInGenerics { 7 8 @SuppressWarnings("unused") 9 void withUpperBound(List<? extends int[][]> list) {} 10 11 @SuppressWarnings("unused") 12 void withLowerBound(List<? super String[][]> list) {} 13 14 @SuppressWarnings("unused") 15 void withLowerBound2(List<? super String[][][]> list) {} 16 17 static WildcardType getWildcardType(String methodName) throws Exception { 18 ParameterizedType parameterType = (ParameterizedType) 19 WildcardType.class 20 .getDeclaredMethod(methodName, List.class) 21 .getGenericParameterTypes()[0]; 22 return (WildcardType) parameterType.getActualTypeArguments()[0]; 23 } 24 25 }