@Documented @Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(value=SignatureUnknown.class) @QualifierForLiterals(stringPatterns="^\\[*([BCDFIJSZ]|L[A-Za-z_][A-Za-z_0-9]*(/[A-Za-z_][A-Za-z_0-9]*)*(\\$[A-Za-z_0-9]+)*;)$") public @interface FieldDescriptor
For example, in
package org.checkerframework.checker.signature; public class SignatureChecker { private class Inner {} }the field descriptors for the two types are Lorg/checkerframework/checker/signature/SignatureChecker; and Lorg/checkerframework/checker/signature/SignatureChecker$Inner; .