Top Description Fields Constructors Methods
org.apache.commons.compress.harmony.unpack200.bytecode.forms

public abstract Class ReferenceForm

extends ByteCodeForm
Class Inheritance
Known Direct Subclasses
org.apache.commons.compress.harmony.unpack200.bytecode.forms.SingleByteReferenceForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.ClassRefForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.ClassSpecificReferenceForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.DoubleForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.FieldRefForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.IMethodRefForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.LongForm, org.apache.commons.compress.harmony.unpack200.bytecode.forms.MethodRefForm
Imports
java.util.Objects, org.apache.commons.compress.harmony.pack200.Pack200Exception, org.apache.commons.compress.harmony.unpack200.SegmentConstantPool, org.apache.commons.compress.harmony.unpack200.bytecode.ByteCode, .ClassFileEntry, .OperandManager

Abstract class of all ByteCodeForms which add a nested entry from the globalConstantPool.

Field Summary

Inherited from org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm:
byteCodeArraybyteCodesByNameWIDENED

Constructor Summary

AccessConstructor and Description
public
ReferenceForm(final int opcode, final String name, final int[] rewrite)

Method Summary

Modifier and TypeMethod and Description
protected abstract int
getOffset(OperandManager operandManager)

protected abstract int
public void
setByteCodeOperands(final ByteCode
ByteCode to be updated (!)
byteCode
,
final OperandManager
OperandTable from which to draw info
operandManager
,
final int
Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating padding for some variable-length bytecodes (such as lookupswitch, tableswitch).
codeLength
)

Implements abstract org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm.setByteCodeOperands.

When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.
protected void
setNestedEntries(final ByteCode byteCode, final OperandManager operandManager, final int offset)

Inherited from org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm:
calculateOperandPositionfirstOperandIndexfixUpByteCodeTargetsgetgetNamegetOpcodegetRewritegetRewriteCopyhasMultipleByteCodeshasNoOperandnestedMustStartClassPooloperandLengthtoString

Constructor Detail

ReferenceFormback to summary
public ReferenceForm(final int opcode, final String name, final int[] rewrite)

Method Detail

getOffsetback to summary
protected abstract int getOffset(OperandManager operandManager)
getPoolIDback to summary
protected abstract int getPoolID()
setByteCodeOperandsback to summary
public void setByteCodeOperands(final ByteCode byteCode, final OperandManager operandManager, final int codeLength)

Implements abstract org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm.setByteCodeOperands.

Doc from org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm.setByteCodeOperands.

When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.

Parameters
byteCode:ByteCode

ByteCode to be updated (!)

operandManager:OperandManager

OperandTable from which to draw info

codeLength:int

Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating padding for some variable-length bytecodes (such as lookupswitch, tableswitch).

Annotations
@Override
setNestedEntriesback to summary
protected void setNestedEntries(final ByteCode byteCode, final OperandManager operandManager, final int offset) throws Pack200Exception