本文整理汇总了Java中com.sun.tools.classfile.Annotation.element_value_pair方法的典型用法代码示例。如果您正苦于以下问题:Java Annotation.element_value_pair方法的具体用法?Java Annotation.element_value_pair怎么用?Java Annotation.element_value_pair使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.tools.classfile.Annotation
的用法示例。
在下文中一共展示了Annotation.element_value_pair方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseAnnotation
import com.sun.tools.classfile.Annotation; //导入方法依赖的package包/类
private void parseAnnotation(Annotation anno, Element p) {
Element ea = new Element("Annotation");
ea.setAttr("name", "" + x.getCpString(anno.type_index));
for (Annotation.element_value_pair evp : anno.element_value_pairs) {
Element evpe = new Element("Element");
evpe.setAttr("tag", "" + evp.value.tag);
evpe.setAttr("value", x.getCpString(evp.element_name_index));
Element child = aev.visit(evp.value, evpe);
if (child != null) {
evpe.add(child);
}
ea.add(evpe);
}
ea.trimToSize();
p.add(ea);
}
示例2: testAnnotation
import com.sun.tools.classfile.Annotation; //导入方法依赖的package包/类
public void testAnnotation(TestResult testResult, ClassFile classFile, Annotation annotation)
throws ConstantPoolException {
testResult.checkEquals(classFile.constant_pool.getUTF8Value(annotation.type_index),
String.format("L%s;", annotationName), "Testing annotation name : " + annotationName);
testResult.checkEquals(annotation.num_element_value_pairs,
elementValues.size(), "Number of element values");
if (!testResult.checkEquals(annotation.num_element_value_pairs, elementValues.size(),
"Number of element value pairs")) {
return;
}
for (int i = 0; i < annotation.num_element_value_pairs; ++i) {
Annotation.element_value_pair pair = annotation.element_value_pairs[i];
testResult.checkEquals(classFile.constant_pool.getUTF8Value(pair.element_name_index),
elementValues.get(i).elementName, "element_name_index : " + elementValues.get(i).elementName);
elementValues.get(i).elementValue.testElementValue(testResult, classFile, pair.value);
}
}
示例3: testElementValue
import com.sun.tools.classfile.Annotation; //导入方法依赖的package包/类
@Override
public void testElementValue(
TestResult testResult,
ClassFile classFile,
Annotation.element_value element_value)
throws ConstantPoolException {
testTag(testResult, element_value.tag);
Annotation ev = ((Annotation.Annotation_element_value) element_value).annotation_value;
testResult.checkEquals(
classFile.constant_pool.getUTF8Info(ev.type_index).value,
String.format("L%s;", annotationName),
"type_index");
for (int i = 0; i < ev.num_element_value_pairs; ++i) {
Annotation.element_value_pair pair = ev.element_value_pairs[i];
Pair expectedPair = annotation.elementValues.get(i);
expectedPair.elementValue.testElementValue(testResult, classFile, pair.value);
testResult.checkEquals(
classFile.constant_pool.getUTF8Info(pair.element_name_index).value,
expectedPair.elementName,
"element_name_index");
}
}
示例4: visitAnnotation
import com.sun.tools.classfile.Annotation; //导入方法依赖的package包/类
@Override
public Element visitAnnotation(Annotation_element_value a, Element p) {
Element el = new Element("Annotation");
Annotation anno = a.annotation_value;
for (Annotation.element_value_pair evp : anno.element_value_pairs) {
Element child = visit(evp.value, el);
if (child != null) {
el.add(child);
}
}
el.trimToSize();
return el;
}
示例5: scanAnnotation
import com.sun.tools.classfile.Annotation; //导入方法依赖的package包/类
private void scanAnnotation(Annotation annotation,
Set<Integer> utf8Descriptors) throws Exception {
utf8Descriptors.add(annotation.type_index);
for (Annotation.element_value_pair evp : annotation.element_value_pairs) {
utf8Descriptors.add(evp.element_name_index);
scanElementValue(evp.value, utf8Descriptors);
}
}
示例6: write
import com.sun.tools.classfile.Annotation; //导入方法依赖的package包/类
public void write(Annotation.element_value_pair pair) {
write(pair, false);
}