/** * Given that name[start:start+length] is a Type name in JVM format, parse it for the package * * @return an ImmutableByteArray that represents the package, or null if it's the unnamed package * @throws IllegalArgumentException if name is null */ public static ImmutableByteArray parseForPackage(ImmutableByteArray name) { if (name == null) { throw new IllegalArgumentException("name is null"); } return parseForPackage(name, 0, name.length()); }
/** * Given that name[start:start+length] is a Type name in JVM format, parse it for the package * * @return an ImmutableByteArray that represents the package, or null if it's the unnamed package * @throws IllegalArgumentException if name is null */ public static ImmutableByteArray parseForPackage(ImmutableByteArray name) { if (name == null) { throw new IllegalArgumentException("name is null"); } return parseForPackage(name, 0, name.length()); }
if (parseForPackage(name, start, length) == null) { while (isTypeCodeChar(name, start)) { start++;
if (parseForPackage(name, start, length) == null) { while (isTypeCodeChar(name, start)) { start++;
public static TypeName findOrCreate(ImmutableByteArray name, int start, int length) throws IllegalArgumentException { Atom className = Atom.findOrCreate(StringStuff.parseForClass(name, start, length)); ImmutableByteArray p = StringStuff.parseForPackage(name, start, length); Atom packageName = (p == null) ? null : Atom.findOrCreate(p); int dim = StringStuff.parseForArrayDimensionality(name, start, length); boolean innermostPrimitive = StringStuff.classIsPrimitive(name, start, length); if (innermostPrimitive) { if (dim == 0) { dim = -1; } else { dim <<= ElementBits; dim |= PrimitiveMask; } } TypeNameKey t = new TypeNameKey(packageName, className, dim); return findOrCreate(t); }
public static TypeName findOrCreate(ImmutableByteArray name, int start, int length) throws IllegalArgumentException { Atom className = Atom.findOrCreate(StringStuff.parseForClass(name, start, length)); ImmutableByteArray p = StringStuff.parseForPackage(name, start, length); Atom packageName = (p == null) ? null : Atom.findOrCreate(p); int dim = StringStuff.parseForArrayDimensionality(name, start, length); boolean innermostPrimitive = StringStuff.classIsPrimitive(name, start, length); if (innermostPrimitive) { if (dim == 0) { dim = -1; } else { dim <<= ElementBits; dim |= PrimitiveMask; } } TypeNameKey t = new TypeNameKey(packageName, className, dim); return findOrCreate(t); }