本文整理汇总了Java中org.objectweb.asm.ClassReader.getItemCount方法的典型用法代码示例。如果您正苦于以下问题:Java ClassReader.getItemCount方法的具体用法?Java ClassReader.getItemCount怎么用?Java ClassReader.getItemCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.objectweb.asm.ClassReader
的用法示例。
在下文中一共展示了ClassReader.getItemCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getClassDependencies
import org.objectweb.asm.ClassReader; //导入方法依赖的package包/类
private Set<String> getClassDependencies(ClassRelevancyFilter filter, ClassReader reader) {
Set<String> out = new HashSet<String>();
char[] charBuffer = new char[reader.getMaxStringLength()];
for (int i = 1; i < reader.getItemCount(); i++) {
int itemOffset = reader.getItem(i);
if (itemOffset > 0 && reader.readByte(itemOffset - 1) == 7) {
// A CONSTANT_Class entry, read the class descriptor
String classDescriptor = reader.readUTF8(itemOffset, charBuffer);
Type type = Type.getObjectType(classDescriptor);
while (type.getSort() == Type.ARRAY) {
type = type.getElementType();
}
if (type.getSort() != Type.OBJECT) {
// A primitive type
continue;
}
String name = type.getClassName();
if (filter.isRelevant(name)) {
out.add(name);
}
}
}
return out;
}