import org.checkerframework.common.reflection.qual.ClassVal; public class ClassNameTest { void test() throws Exception { @ClassVal("Class$Inner") Object o; @ClassVal("java.lang.String") Object o1; @ClassVal("java.lang.String[]") Object o2; @ClassVal("java.lang.String[][][]") Object o3; @ClassVal("Class$Inner._") Object o8; //:: error: (illegal.classname) @ClassVal("java.lang.String[][]]") Object o4; //:: error: (illegal.classname) @ClassVal("java.lang.String[][][") Object o5; //:: error: (illegal.classname) @ClassVal("java.lang.String[][][]s") Object o6; //:: error: (illegal.classname) @ClassVal("java.lang.String[][][].") Object o7; //:: error: (illegal.classname) @ClassVal("java.lang..String") Object o9; } }