本文整理汇总了Java中org.objectweb.asm.attrs.StackMapType.ITEM_Uninitialized方法的典型用法代码示例。如果您正苦于以下问题:Java StackMapType.ITEM_Uninitialized方法的具体用法?Java StackMapType.ITEM_Uninitialized怎么用?Java StackMapType.ITEM_Uninitialized使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.objectweb.asm.attrs.StackMapType
的用法示例。
在下文中一共展示了StackMapType.ITEM_Uninitialized方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: traceTypeInfo
import org.objectweb.asm.attrs.StackMapType; //导入方法依赖的package包/类
private void traceTypeInfo(StringBuffer buf, Map labelNames, List infos) {
String sep = "";
for (int i = 0; i < infos.size(); i++) {
StackMapType t = (StackMapType) infos.get(i);
buf.append(sep).append(StackMapType.ITEM_NAMES[t.getType()]);
sep = ", ";
if (t.getType() == StackMapType.ITEM_Object) {
buf.append(":").append(t.getObject());
}
if (t.getType() == StackMapType.ITEM_Uninitialized) {
buf.append(":");
appendLabel(buf, labelNames, t.getLabel());
}
}
}
示例2: asmifyTypeInfo
import org.objectweb.asm.attrs.StackMapType; //导入方法依赖的package包/类
void asmifyTypeInfo(
StringBuffer buf,
String varName,
Map labelNames,
List infos,
String field)
{
if (infos.size() == 0) {
buf.append("List ")
.append(field)
.append(" = Collections.EMPTY_LIST;\n");
} else {
buf.append("List ").append(field).append(" = new ArrayList();\n");
buf.append("{\n");
for (int i = 0; i < infos.size(); i++) {
StackMapType typeInfo = (StackMapType) infos.get(i);
String localName = varName + "Info" + i;
int type = typeInfo.getType();
buf.append("StackMapType ")
.append(localName)
.append(" = StackMapType.getTypeInfo( StackMapType.ITEM_")
.append(StackMapType.ITEM_NAMES[type])
.append(");\n");
switch (type) {
case StackMapType.ITEM_Object: //
buf.append(localName)
.append(".setObject(\"")
.append(typeInfo.getObject())
.append("\");\n");
break;
case StackMapType.ITEM_Uninitialized: //
declareLabel(buf, labelNames, typeInfo.getLabel());
buf.append(localName)
.append(".setLabel(")
.append(labelNames.get(typeInfo.getLabel()))
.append(");\n");
break;
}
buf.append(field)
.append(".add(")
.append(localName)
.append(");\n");
}
buf.append("}\n");
}
}
示例3: asmifyTypeInfo
import org.objectweb.asm.attrs.StackMapType; //导入方法依赖的package包/类
void asmifyTypeInfo(
StringBuffer buf,
String varName,
Map labelNames,
List infos,
String field)
{
if (infos.size() > 0) {
buf.append("{\n");
for (int i = 0; i < infos.size(); i++) {
StackMapType typeInfo = (StackMapType) infos.get(i);
String localName = varName + "Info" + i;
int type = typeInfo.getType();
buf.append("StackMapType ")
.append(localName)
.append(" = StackMapType.getTypeInfo( StackMapType.ITEM_")
.append(StackMapType.ITEM_NAMES[type])
.append(");\n");
switch (type) {
case StackMapType.ITEM_Object: //
buf.append(localName)
.append(".setObject(\"")
.append(typeInfo.getObject())
.append("\");\n");
break;
case StackMapType.ITEM_Uninitialized: //
declareLabel(buf, labelNames, typeInfo.getLabel());
buf.append(localName)
.append(".setLabel(")
.append(labelNames.get(typeInfo.getLabel()))
.append(");\n");
break;
}
buf.append(varName)
.append(".")
.append(field)
.append(".add(")
.append(localName)
.append(");\n");
}
buf.append("}\n");
}
}