Type(String descriptor) { this.descriptor = descriptor; }
public final String getDescriptor() { return descriptor; }
public int hashCode() { return descriptor.hashCode(); }
Type(String descriptor) { this.descriptor = descriptor; }
public final String getDescriptor() { return descriptor; }
public int hashCode() { return descriptor.hashCode(); }
public static Type arrayType(Type base) { return arrayType(base,1); }
public static Type arrayType(Type base, int dim) {
public static Type arrayType(Type base) { return arrayType(base,1); }
public static Type arrayType(Type base, int dim) {
if(!s.startsWith("L") || !s.endsWith(";")) s = "L" + s.replace('.','/') + ";";
if(!validDescriptorString(s)) throw new IllegalArgumentException("invalid descriptor string");
if(!s.startsWith("L") || !s.endsWith(";")) s = "L" + s.replace('.','/') + ";";
if(!validDescriptorString(s)) throw new IllegalArgumentException("invalid descriptor string");
public String[] components() {
StringTokenizer st = new StringTokenizer(descriptor.substring(1,descriptor.length()-1),"/");
String[] a = new String[st.countTokens()];
public String[] components() {
StringTokenizer st = new StringTokenizer(descriptor.substring(1,descriptor.length()-1),"/");
String[] a = new String[st.countTokens()];
public String internalForm() { return descriptor.substring(1,descriptor.length()-1); }
// FEATURE: Do a proper check here (invalid chars, etc)
public String internalForm() { return descriptor.substring(1,descriptor.length()-1); }
// FEATURE: Do a proper check here (invalid chars, etc)