@SubtypeOf(value=SignatureUnknown.class) @Target(value={TYPE_USE,TYPE_PARAMETER}) public @interface FullyQualifiedName
For example, in
package org.checkerframework.checker.signature;
public class SignatureChecker {
private class Inner {}
}
the fully-qualified names for the two types are
org.checkerframework.checker.signature.SignatureChecker and
org.checkerframework.checker.signature.SignatureChecker.Inner.
Fully-qualified names and binary names are the same for top-level classes and only differ by a '.' vs. '$' for inner classes.