public void visitAnyRefConstant(Clazz clazz, RefConstant refConstant) { dataOutput.writeShort(refConstant.u2classIndex); dataOutput.writeShort(refConstant.u2nameAndTypeIndex); }
public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute) { // Write the exceptions. dataOutput.writeShort(exceptionsAttribute.u2exceptionIndexTableLength); for (int index = 0; index < exceptionsAttribute.u2exceptionIndexTableLength; index++) { dataOutput.writeShort(exceptionsAttribute.u2exceptionIndexTable[index]); } }
public void visitNameAndTypeConstant(Clazz clazz, NameAndTypeConstant nameAndTypeConstant) { dataOutput.writeShort(nameAndTypeConstant.u2nameIndex); dataOutput.writeShort(nameAndTypeConstant.u2descriptorIndex); } }
public void visitLocalVariableInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableInfo localVariableInfo) { dataOutput.writeShort(localVariableInfo.u2startPC); dataOutput.writeShort(localVariableInfo.u2length); dataOutput.writeShort(localVariableInfo.u2nameIndex); dataOutput.writeShort(localVariableInfo.u2descriptorIndex); dataOutput.writeShort(localVariableInfo.u2index); }
public void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo) { dataOutput.writeShort(exceptionInfo.u2startPC); dataOutput.writeShort(exceptionInfo.u2endPC); dataOutput.writeShort(exceptionInfo.u2handlerPC); dataOutput.writeShort(exceptionInfo.u2catchType); }
public void visitLineNumberInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberInfo lineNumberInfo) { dataOutput.writeShort(lineNumberInfo.u2startPC); dataOutput.writeShort(lineNumberInfo.u2lineNumber); }
public void visitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue) { dataOutput.writeShort(enumConstantElementValue.u2typeNameIndex); dataOutput.writeShort(enumConstantElementValue.u2constantNameIndex); }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Write the general method information. dataOutput.writeShort(programMethod.u2accessFlags); dataOutput.writeShort(programMethod.u2nameIndex); dataOutput.writeShort(programMethod.u2descriptorIndex); // Write the method attributes. dataOutput.writeShort(programMethod.u2attributesCount); programMethod.attributesAccept(programClass, this); }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Write the general field information. dataOutput.writeShort(programField.u2accessFlags); dataOutput.writeShort(programField.u2nameIndex); dataOutput.writeShort(programField.u2descriptorIndex); // Write the field attributes. dataOutput.writeShort(programField.u2attributesCount); programField.attributesAccept(programClass, this); }
public void visitAnnotation(Clazz clazz, Annotation annotation) { // Write the annotation type. dataOutput.writeShort(annotation.u2typeIndex); // Write the element value pairs. dataOutput.writeShort(annotation.u2elementValuesCount); annotation.elementValuesAccept(clazz, this); }
public void visitFullFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, FullFrame fullFrame) { dataOutput.writeShort(fullFrame.u2offsetDelta); // Write the verification types of the local variables. dataOutput.writeShort(fullFrame.variablesCount); fullFrame.variablesAccept(clazz, method, codeAttribute, offset, this); // Write the verification types of the stack entries. dataOutput.writeShort(fullFrame.stackCount); fullFrame.stackAccept(clazz, method, codeAttribute, offset, this); }
public void visitMoreZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, MoreZeroFrame moreZeroFrame) { dataOutput.writeShort(moreZeroFrame.u2offsetDelta); // Write the verification types of the additional local variables. moreZeroFrame.additionalVariablesAccept(clazz, method, codeAttribute, offset, this); }
public void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue) { // Write the element values. dataOutput.writeShort(arrayElementValue.u2elementValuesCount); arrayElementValue.elementValuesAccept(clazz, annotation, attributeBodyWriter); } }
public void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute) { // Write the stack map frames (only full frames, without tag). dataOutput.writeShort(stackMapAttribute.u2stackMapFramesCount); stackMapAttribute.stackMapFramesAccept(clazz, method, codeAttribute, stackMapFrameBodyWriter); }
public void visitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute) { // Write the annotations. dataOutput.writeShort(annotationsAttribute.u2annotationsCount); annotationsAttribute.annotationsAccept(clazz, this); }
public void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute) { // Write the stack map frames. dataOutput.writeShort(stackMapTableAttribute.u2stackMapFramesCount); stackMapTableAttribute.stackMapFramesAccept(clazz, method, codeAttribute, this); }
public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute) { // Write the inner classes. dataOutput.writeShort(innerClassesAttribute.u2classesCount); innerClassesAttribute.innerClassEntriesAccept(clazz, this); }
public void visitSameZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameZeroFrame sameZeroFrame) { if (sameZeroFrame.getTag() == StackMapFrame.SAME_ZERO_FRAME_EXTENDED) { dataOutput.writeShort(sameZeroFrame.u2offsetDelta); } }
public void visitSameOneFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameOneFrame sameOneFrame) { if (sameOneFrame.getTag() == StackMapFrame.SAME_ONE_FRAME_EXTENDED) { dataOutput.writeShort(sameOneFrame.u2offsetDelta); } // Write the verification type of the stack entry. sameOneFrame.stackItemAccept(clazz, method, codeAttribute, offset, this); }
public void visitUtf8Constant(Clazz clazz, Utf8Constant utf8Constant) { byte[] bytes = utf8Constant.getBytes(); dataOutput.writeShort(bytes.length); dataOutput.write(bytes); }