public void visitLocalVariableInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableInfo localVariableInfo) { markConstant(clazz, localVariableInfo.u2nameIndex); markConstant(clazz, localVariableInfo.u2descriptorIndex); }
public void visitLocalVariableTypeInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeInfo localVariableTypeInfo) { markConstant(clazz, localVariableTypeInfo.u2nameIndex); markConstant(clazz, localVariableTypeInfo.u2signatureIndex); }
public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute) { markAsUsed(enclosingMethodAttribute); markConstant(clazz, enclosingMethodAttribute.u2attributeNameIndex); markConstant(clazz, enclosingMethodAttribute.u2classIndex); if (enclosingMethodAttribute.u2nameAndTypeIndex != 0) { markConstant(clazz, enclosingMethodAttribute.u2nameAndTypeIndex); } }
public void visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute) { markAsUsed(constantValueAttribute); markConstant(clazz, constantValueAttribute.u2attributeNameIndex); markConstant(clazz, constantValueAttribute.u2constantValueIndex); }
public void visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute) { markAsUsed(sourceFileAttribute); markConstant(clazz, sourceFileAttribute.u2attributeNameIndex); markConstant(clazz, sourceFileAttribute.u2sourceFileIndex); }
public void visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute) { markAsUsed(sourceDirAttribute); markConstant(clazz, sourceDirAttribute.u2attributeNameIndex); markConstant(clazz, sourceDirAttribute.u2sourceDirIndex); }
public void visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute) { markAsUsed(lineNumberTableAttribute); markConstant(clazz, lineNumberTableAttribute.u2attributeNameIndex); }
public void visitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute) { // This is the best we can do for unknown attributes. markAsUsed(unknownAttribute); markConstant(clazz, unknownAttribute.u2attributeNameIndex); }
public void visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute) { markAsUsed(deprecatedAttribute); markConstant(clazz, deprecatedAttribute.u2attributeNameIndex); }
public void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo) { markAsUsed(exceptionInfo); if (exceptionInfo.u2catchType != 0) { markConstant(clazz, exceptionInfo.u2catchType); } }
protected void markProgramFieldBody(ProgramClass programClass, ProgramField programField) { // Mark the name and descriptor. markConstant(programClass, programField.u2nameIndex); markConstant(programClass, programField.u2descriptorIndex); // Mark the attributes. programField.attributesAccept(programClass, this); // Mark the classes referenced in the descriptor string. programField.referencedClassesAccept(this); }
public void visitNameAndTypeConstant(Clazz clazz, NameAndTypeConstant nameAndTypeConstant) { if (shouldBeMarkedAsUsed(nameAndTypeConstant)) { markAsUsed(nameAndTypeConstant); markConstant(clazz, nameAndTypeConstant.u2nameIndex); markConstant(clazz, nameAndTypeConstant.u2descriptorIndex); } }
public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute) { markAsUsed(exceptionsAttribute); markConstant(clazz, exceptionsAttribute.u2attributeNameIndex); // Mark the constant pool entries referenced by the exceptions. exceptionsAttribute.exceptionEntriesAccept((ProgramClass)clazz, this); }
public void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute) { markAsUsed(stackMapTableAttribute); markConstant(clazz, stackMapTableAttribute.u2attributeNameIndex); // Mark the constant pool entries referenced by the stack map frames. stackMapTableAttribute.stackMapFramesAccept(clazz, method, codeAttribute, this); }
public void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute) { markAsUsed(localVariableTableAttribute); markConstant(clazz, localVariableTableAttribute.u2attributeNameIndex); // Mark the constant pool entries referenced by the local variables. localVariableTableAttribute.localVariablesAccept(clazz, method, codeAttribute, this); }
public void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute) { markAsUsed(localVariableTypeTableAttribute); markConstant(clazz, localVariableTypeTableAttribute.u2attributeNameIndex); // Mark the constant pool entries referenced by the local variable types. localVariableTypeTableAttribute.localVariablesAccept(clazz, method, codeAttribute, this); }
public void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute) { markAsUsed(stackMapAttribute); markConstant(clazz, stackMapAttribute.u2attributeNameIndex); // Mark the constant pool entries referenced by the stack map frames. stackMapAttribute.stackMapFramesAccept(clazz, method, codeAttribute, this); }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { if (shouldBeMarkedAsUsed(classConstant)) { markAsUsed(classConstant); markConstant(clazz, classConstant.u2nameIndex); // Mark the referenced class itself. classConstant.referencedClassAccept(this); } }
public void visitMethodTypeConstant(Clazz clazz, MethodTypeConstant methodTypeConstant) { if (shouldBeMarkedAsUsed(methodTypeConstant)) { markAsUsed(methodTypeConstant); markConstant(clazz, methodTypeConstant.u2descriptorIndex); // Mark the referenced descriptor classes. methodTypeConstant.referencedClassesAccept(this); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { markAsUsed(codeAttribute); markConstant(clazz, codeAttribute.u2attributeNameIndex); // Mark the constant pool entries referenced by the instructions, // by the exceptions, and by the attributes. codeAttribute.instructionsAccept(clazz, method, this); codeAttribute.exceptionsAccept(clazz, method, this); codeAttribute.attributesAccept(clazz, method, this); }