本文整理汇总了Java中org.jf.dexlib2.util.AnnotatedBytes.annotate方法的典型用法代码示例。如果您正苦于以下问题:Java AnnotatedBytes.annotate方法的具体用法?Java AnnotatedBytes.annotate怎么用?Java AnnotatedBytes.annotate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jf.dexlib2.util.AnnotatedBytes
的用法示例。
在下文中一共展示了AnnotatedBytes.annotate方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "annotation_set_item";
}
@Override
public void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int size = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "size = %d", size);
for (int i=0; i<size; i++) {
int annotationOffset = dexFile.readSmallUint(out.getCursor());
out.annotate(4, AnnotationItem.getReferenceAnnotation(dexFile, annotationOffset));
}
}
@Override public int getItemAlignment() {
return 4;
}
};
}
示例2: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "proto_id_item";
}
@Override
protected void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int shortyIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "shorty_idx = %s", StringIdItem.getReferenceAnnotation(dexFile, shortyIndex));
int returnTypeIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "return_type_idx = %s", TypeIdItem.getReferenceAnnotation(dexFile, returnTypeIndex));
int parametersOffset = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "parameters_off = %s", TypeListItem.getReferenceAnnotation(dexFile, parametersOffset));
}
};
}
示例3: annotateSectionInner
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
protected void annotateSectionInner(@Nonnull AnnotatedBytes out, int itemCount) {
String itemName = getItemName();
int itemAlignment = getItemAlignment();
if (itemCount > 0) {
out.annotate(0, "");
out.annotate(0, "-----------------------------");
out.annotate(0, "%s section", itemName);
out.annotate(0, "-----------------------------");
out.annotate(0, "");
for (int i=0; i<itemCount; i++) {
out.moveTo(AlignmentUtils.alignOffset(out.getCursor(), itemAlignment));
String itemIdentity = getItemIdentity(out.getCursor());
if (itemIdentity != null) {
out.annotate(0, "[%d] %s: %s", i, itemName, itemIdentity);
} else {
out.annotate(0, "[%d] %s", i, itemName);
}
out.indent();
annotateItem(out, i, itemIdentity);
out.deindent();
}
}
}
示例4: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "annotation_set_ref_list";
}
@Override
protected void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int size = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "size = %d", size);
for (int i=0; i<size; i++) {
int annotationSetOffset = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "annotation_set_item[0x%x]", annotationSetOffset);
}
}
@Override public int getItemAlignment() {
return 4;
}
};
}
示例5: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "string_id_item";
}
@Override
public void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int stringDataOffset = dexFile.readSmallUint(out.getCursor());
try {
String stringValue = dexFile.getString(itemIndex);
out.annotate(4, "string_data_item[0x%x]: \"%s\"", stringDataOffset,
StringUtils.escapeString(stringValue));
return;
} catch (Exception ex) {
System.err.print("Error while resolving string value at index: ");
System.err.print(itemIndex);
ex.printStackTrace(System.err);
}
out.annotate(4, "string_id_item[0x%x]", stringDataOffset);
}
};
}
示例6: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "method_id_item";
}
@Override
public void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int classIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, "class_idx = %s", TypeIdItem.getReferenceAnnotation(dexFile, classIndex));
int protoIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, "proto_idx = %s", ProtoIdItem.getReferenceAnnotation(dexFile, protoIndex));
int nameIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "name_idx = %s", StringIdItem.getReferenceAnnotation(dexFile, nameIndex));
}
};
}
示例7: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "type_list";
}
@Override
protected void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int size = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "size: %d", size);
for (int i=0; i<size; i++) {
int typeIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, TypeIdItem.getReferenceAnnotation(dexFile, typeIndex));
}
}
@Override public int getItemAlignment() {
return 4;
}
};
}
示例8: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "field_id_item";
}
@Override
protected void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int classIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, "class_idx = %s", TypeIdItem.getReferenceAnnotation(dexFile, classIndex));
int typeIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, "return_type_idx = %s", TypeIdItem.getReferenceAnnotation(dexFile, typeIndex));
int nameIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "name_idx = %s", StringIdItem.getReferenceAnnotation(dexFile, nameIndex));
}
};
}
示例9: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
@Nonnull
public static SectionAnnotator makeAnnotator(@Nonnull DexAnnotator annotator, @Nonnull MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Nonnull @Override public String getItemName() {
return "annotation_item";
}
@Override
protected void annotateItem(@Nonnull AnnotatedBytes out, int itemIndex, @Nullable String itemIdentity) {
int visibility = dexFile.readUbyte(out.getCursor());
out.annotate(1, "visibility = %d: %s", visibility, getAnnotationVisibility(visibility));
DexReader reader = dexFile.readerAt(out.getCursor());
EncodedValue.annotateEncodedAnnotation(out, reader);
}
};
}
示例10: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
public static SectionAnnotator makeAnnotator( DexAnnotator annotator, MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Override public String getItemName() {
return "annotation_set_item";
}
@Override
public void annotateItem( AnnotatedBytes out, int itemIndex, String itemIdentity) {
int size = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "size = %d", size);
for (int i=0; i<size; i++) {
int annotationOffset = dexFile.readSmallUint(out.getCursor());
out.annotate(4, AnnotationItem.getReferenceAnnotation(dexFile, annotationOffset));
}
}
@Override public int getItemAlignment() {
return 4;
}
};
}
示例11: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
public static SectionAnnotator makeAnnotator( DexAnnotator annotator, MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Override public String getItemName() {
return "proto_id_item";
}
@Override
protected void annotateItem( AnnotatedBytes out, int itemIndex, String itemIdentity) {
int shortyIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "shorty_idx = %s", StringIdItem.getReferenceAnnotation(dexFile, shortyIndex));
int returnTypeIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "return_type_idx = %s", TypeIdItem.getReferenceAnnotation(dexFile, returnTypeIndex));
int parametersOffset = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "parameters_off = %s", TypeListItem.getReferenceAnnotation(dexFile, parametersOffset));
}
};
}
示例12: annotateSectionInner
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
protected void annotateSectionInner( AnnotatedBytes out, int itemCount) {
String itemName = getItemName();
int itemAlignment = getItemAlignment();
if (itemCount > 0) {
out.annotate(0, "");
out.annotate(0, "-----------------------------");
out.annotate(0, "%s section", itemName);
out.annotate(0, "-----------------------------");
out.annotate(0, "");
for (int i=0; i<itemCount; i++) {
out.moveTo(AlignmentUtils.alignOffset(out.getCursor(), itemAlignment));
String itemIdentity = getItemIdentity(out.getCursor());
if (itemIdentity != null) {
out.annotate(0, "[%d] %s: %s", i, itemName, itemIdentity);
} else {
out.annotate(0, "[%d] %s", i, itemName);
}
out.indent();
annotateItem(out, i, itemIdentity);
out.deindent();
}
}
}
示例13: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
public static SectionAnnotator makeAnnotator( DexAnnotator annotator, MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Override public String getItemName() {
return "string_id_item";
}
@Override
public void annotateItem( AnnotatedBytes out, int itemIndex, String itemIdentity) {
int stringDataOffset = dexFile.readSmallUint(out.getCursor());
try {
String stringValue = dexFile.getString(itemIndex);
out.annotate(4, "string_data_item[0x%x]: \"%s\"", stringDataOffset,
StringUtils.escapeString(stringValue));
return;
} catch (Exception ex) {
System.err.print("Error while resolving string value at index: ");
System.err.print(itemIndex);
ex.printStackTrace(System.err);
}
out.annotate(4, "string_id_item[0x%x]", stringDataOffset);
}
};
}
示例14: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
public static SectionAnnotator makeAnnotator( DexAnnotator annotator, MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Override public String getItemName() {
return "method_id_item";
}
@Override
public void annotateItem( AnnotatedBytes out, int itemIndex, String itemIdentity) {
int classIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, "class_idx = %s", TypeIdItem.getReferenceAnnotation(dexFile, classIndex));
int protoIndex = dexFile.readUshort(out.getCursor());
out.annotate(2, "proto_idx = %s", ProtoIdItem.getReferenceAnnotation(dexFile, protoIndex));
int nameIndex = dexFile.readSmallUint(out.getCursor());
out.annotate(4, "name_idx = %s", StringIdItem.getReferenceAnnotation(dexFile, nameIndex));
}
};
}
示例15: makeAnnotator
import org.jf.dexlib2.util.AnnotatedBytes; //导入方法依赖的package包/类
public static SectionAnnotator makeAnnotator( DexAnnotator annotator, MapItem mapItem) {
return new SectionAnnotator(annotator, mapItem) {
@Override public String getItemName() {
return "annotation_item";
}
@Override
protected void annotateItem( AnnotatedBytes out, int itemIndex, String itemIdentity) {
int visibility = dexFile.readUbyte(out.getCursor());
out.annotate(1, "visibility = %d: %s", visibility, getAnnotationVisibility(visibility));
DexReader reader = dexFile.readerAt(out.getCursor());
EncodedValue.annotateEncodedAnnotation(out, reader);
}
};
}