Top Description Inners Fields Constructors Methods
org.easymock.bytebuddy.implementation.bytecode.collection

public final Enum ArrayAccess

extends Enum<ArrayAccess>
Class Inheritance
Imports
org.easymock.bytebuddy.build.HashCodeAndEqualsPlugin, org.easymock.bytebuddy.description.type.TypeDefinition, org.easymock.bytebuddy.implementation.Implementation, org.easymock.bytebuddy.implementation.bytecode.Duplication, .StackManipulation, .StackSize, org.easymock.bytebuddy.implementation.bytecode.constant.IntegerConstant, org.easymock.bytebuddy.jar.asm.MethodVisitor, .Opcodes, java.util.ArrayList, .List

Allows accessing array values.

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected class
ArrayAccess.Loader

A stack manipulation for loading an array's value.

protected class
ArrayAccess.Putter

A stack manipulation for storing an array's value.

Field Summary

Modifier and TypeField and Description
public static final ArrayAccess
BYTE

Access for a byte- or boolean-typed array.

public static final ArrayAccess
CHARACTER

Access for a char-typed array.

public static final ArrayAccess
DOUBLE

Access for a double-typed array.

public static final ArrayAccess
FLOAT

Access for a float-typed array.

public static final ArrayAccess
INTEGER

Access for a int-typed array.

private final int
loadOpcode

The opcode used for loading a value.

public static final ArrayAccess
LONG

Access for a long-typed array.

public static final ArrayAccess
REFERENCE

Access for a reference-typed array.

public static final ArrayAccess
SHORT

Access for a short-typed array.

private final StackSize
stackSize

The size of the array's component value.

private final int
storeOpcode

The opcode used for storing a value.

Constructor Summary

AccessConstructor and Description
private
ArrayAccess(int
The opcode used for loading a value.
loadOpcode
,
int
The opcode used for storing a value.
storeOpcode
,
StackSize
The size of the array's component value.
stackSize
)

Creates a new array access.

Method Summary

Modifier and TypeMethod and Description
public StackManipulation

Returns:

A stack manipulation that applies the supplied instructions.
forEach
(List<? extends StackManipulation>
The elements to apply.
processInstructions
)

Applies a stack manipulation to the values of an array.

public StackManipulation

Returns:

A value-loading stack manipulation.
load
()

Creates a value-loading stack manipulation.

public static ArrayAccess

Returns:

An array accessor for the given type.
of
(TypeDefinition
The array's component type.
componentType
)

Locates an array accessor by the array's component type.

public StackManipulation

Returns:

A value-storing stack manipulation.
store
()

Creates a value-storing stack manipulation.

public static ArrayAccess
public static ArrayAccess[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BYTEback to summary
public static final ArrayAccess BYTE

Access for a byte- or boolean-typed array.

CHARACTERback to summary
public static final ArrayAccess CHARACTER

Access for a char-typed array.

DOUBLEback to summary
public static final ArrayAccess DOUBLE

Access for a double-typed array.

FLOATback to summary
public static final ArrayAccess FLOAT

Access for a float-typed array.

INTEGERback to summary
public static final ArrayAccess INTEGER

Access for a int-typed array.

loadOpcodeback to summary
private final int loadOpcode

The opcode used for loading a value.

LONGback to summary
public static final ArrayAccess LONG

Access for a long-typed array.

REFERENCEback to summary
public static final ArrayAccess REFERENCE

Access for a reference-typed array.

SHORTback to summary
public static final ArrayAccess SHORT

Access for a short-typed array.

stackSizeback to summary
private final StackSize stackSize

The size of the array's component value.

storeOpcodeback to summary
private final int storeOpcode

The opcode used for storing a value.

Constructor Detail

ArrayAccessback to summary
private ArrayAccess(int loadOpcode, int storeOpcode, StackSize stackSize)

Creates a new array access.

Parameters
loadOpcode:int

The opcode used for loading a value.

storeOpcode:int

The opcode used for storing a value.

stackSize:StackSize

The size of the array's component value.

Method Detail

forEachback to summary
public StackManipulation forEach(List<? extends StackManipulation> processInstructions)

Applies a stack manipulation to the values of an array. The array must have at least as many values as the list has elements.

Parameters
processInstructions:List<? extends StackManipulation>

The elements to apply.

Returns:StackManipulation

A stack manipulation that applies the supplied instructions.

loadback to summary
public StackManipulation load()

Creates a value-loading stack manipulation.

Returns:StackManipulation

A value-loading stack manipulation.

ofback to summary
public static ArrayAccess of(TypeDefinition componentType)

Locates an array accessor by the array's component type.

Parameters
componentType:TypeDefinition

The array's component type.

Returns:ArrayAccess

An array accessor for the given type.

storeback to summary
public StackManipulation store()

Creates a value-storing stack manipulation.

Returns:StackManipulation

A value-storing stack manipulation.

valueOfback to summary
public static ArrayAccess valueOf(String name)
valuesback to summary
public static ArrayAccess[] values()
org.easymock.bytebuddy.implementation.bytecode.collection back to summary

protected Class ArrayAccess.Loader

extends AbstractBase
Class Inheritance
Annotations
@Enhance
includeSyntheticFields:true

A stack manipulation for loading an array's value.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public StackManipulation.Size
apply(MethodVisitor
The method visitor used to write the method implementation to.
methodVisitor
,
Implementation.Context
The context of the current implementation.
implementationContext
)

Implements org.easymock.bytebuddy.implementation.bytecode.StackManipulation.apply.

Applies the stack manipulation that is described by this instance.
Inherited from org.easymock.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase:
isValid

Constructor Detail

Loaderback to summary
protected Loader()

Method Detail

applyback to summary
public StackManipulation.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext)

Implements org.easymock.bytebuddy.implementation.bytecode.StackManipulation.apply.

Doc from org.easymock.bytebuddy.implementation.bytecode.StackManipulation.apply.

Applies the stack manipulation that is described by this instance.

Parameters
methodVisitor:MethodVisitor

The method visitor used to write the method implementation to.

implementationContext:Implementation.Context

The context of the current implementation.

Returns:StackManipulation.Size

The changes to the size of the operand stack that are implied by this stack manipulation.

org.easymock.bytebuddy.implementation.bytecode.collection back to summary

protected Class ArrayAccess.Putter

extends AbstractBase
Class Inheritance
Annotations
@Enhance
includeSyntheticFields:true

A stack manipulation for storing an array's value.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public StackManipulation.Size
apply(MethodVisitor
The method visitor used to write the method implementation to.
methodVisitor
,
Implementation.Context
The context of the current implementation.
implementationContext
)

Implements org.easymock.bytebuddy.implementation.bytecode.StackManipulation.apply.

Applies the stack manipulation that is described by this instance.
Inherited from org.easymock.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase:
isValid

Constructor Detail

Putterback to summary
protected Putter()

Method Detail

applyback to summary
public StackManipulation.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext)

Implements org.easymock.bytebuddy.implementation.bytecode.StackManipulation.apply.

Doc from org.easymock.bytebuddy.implementation.bytecode.StackManipulation.apply.

Applies the stack manipulation that is described by this instance.

Parameters
methodVisitor:MethodVisitor

The method visitor used to write the method implementation to.

implementationContext:Implementation.Context

The context of the current implementation.

Returns:StackManipulation.Size

The changes to the size of the operand stack that are implied by this stack manipulation.