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");
}