AbstractType (InternedString descr) { final DependencyContext context = descr.getContext(); final Type t = Type.getType(descr.asString()); switch (t.getSort()) { case Type.OBJECT: return context.getType(new ClassType(context.get(t.getClassName().replace('.', '/')))); case Type.ARRAY: return context.getType(new ArrayType(getType(context, t.getElementType()))); default: return context.getType(new PrimitiveType(descr.asInt())); } }