/** * {@inheritDoc} */ public String getSimpleName() { String internalName = getInternalName(); TypeDescription enclosingType = getEnclosingType(); int simpleNameIndex; if (enclosingType != null && internalName.startsWith(enclosingType.getInternalName() + "$")) { simpleNameIndex = enclosingType.getInternalName().length() + 1; } else { simpleNameIndex = internalName.lastIndexOf('/'); if (simpleNameIndex == -1) { return internalName; } } while (simpleNameIndex < internalName.length() && !Character.isLetter(internalName.charAt(simpleNameIndex))) { simpleNameIndex += 1; } return internalName.substring(simpleNameIndex); }
/** * {@inheritDoc} */ public String getCanonicalName() { if (isAnonymousType() || isLocalType()) { return NO_NAME; } String internalName = getInternalName(); TypeDescription enclosingType = getEnclosingType(); if (enclosingType != null && internalName.startsWith(enclosingType.getInternalName() + "$")) { return enclosingType.getCanonicalName() + "." + internalName.substring(enclosingType.getInternalName().length() + 1); } else { return getName(); } }
/** * {@inheritDoc} */ public String getDescriptor() { return "L" + getInternalName() + ";"; }