readShort();
if (!(ci instanceof ConstantInterfaceMethodInfo)) {
error(opcode, "Invalid constant type for method invocation: " + ci);
break;
}
ConstantInterfaceMethodInfo method = (ConstantInterfaceMethodInfo)ci;
className = method.getParentClass().getType().getFullName();
nameAndType = method.getNameAndType();
} else if (opcode == Opcode.INVOKEDYNAMIC) {
// Read and ignore extra bytes.
readShort();
ConstantInterfaceMethodInfo method = (ConstantInterfaceMethodInfo)ci;
className = method.getParentClass().getType().getFullName();
nameAndType = method.getNameAndType();
System.out.println(nameAndType);
} else {
if (!(ci instanceof ConstantMethodInfo)) {
error(opcode, "Invalid constant type for method invocation: " + ci);
break;
}
ConstantMethodInfo method = (ConstantMethodInfo)ci;
className = method.getParentClass().getType().getFullName();
if (mEnclosingClassName.equals(className)) {
className = null;
}
nameAndType = method.getNameAndType();
}
String methodName = nameAndType.getName();
desc = nameAndType.getType();
if (!(desc instanceof MethodDesc)) {