Package serp.bytecode

# Class NewArrayInstruction

java.lang.Object
serp.bytecode.Instruction
serp.bytecode.TypedInstruction
serp.bytecode.NewArrayInstruction

All Implemented Interfaces:
  `BCEntity`, `VisitAcceptor`

public class NewArrayInstruction extends TypedInstruction
The `newarray` instruction, which is used to create new arrays of primitive types.

Author:
  Abe White

## Method Summary

Modifier and Type
Method
Description
`void`
`acceptVisit(BCVisitor visit)`
Accept a visit from a `BCVisitor`, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
`boolean`
`equalsInstruction(Instruction other)`
NewArray instructions are equal if the array type is the same, of if the array type of either is unset.
`int`
`getTypeCode()`
Return the array code used in the lowlevel bytecode, or -1 if unset.
`String`
`getTypeName()`
Return the type name for this instruction.
`TypedInstruction`
`setType(String type)`
Set the type of this instruction.
`NewArrayInstruction`
`setTypeCode(int code)`
Set the array code used in the lowlevel bytecode.

### Methods inherited from class serp.bytecode.TypedInstruction

`getType, getTypeBC, setType, setType`

### Methods inherited from class serp.bytecode.Instruction

`getByteIndex, getClassLoader, getCode, getLineNumber, getLogicalStackChange, getName, getOpcode, getPool, getProject, getStackChange, isValid`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getTypeName

public String getTypeName()
Description copied from class: `TypedInstruction`
Return the type name for this instruction. If the type has not been set, this method will return null.

Specified by:
  `getTypeName` in class `TypedInstruction`

### setType

public TypedInstruction setType(String type)
Description copied from class: `TypedInstruction`
Set the type of this instruction. Types that have no direct support will be converted accordingly.

Specified by:
  `setType` in class `TypedInstruction`
Returns:
  this instruction, for method chaining

### getTypeCode

public int getTypeCode()
Return the array code used in the lowlevel bytecode, or -1 if unset.

### setTypeCode

public NewArrayInstruction setTypeCode(int code)
Set the array code used in the lowlevel bytecode.

Returns:
  this instruction, for method chaining

### equalsInstruction

public boolean equalsInstruction(Instruction other)
NewArray instructions are equal if the array type is the same, of if the array type of either is unset.

Overrides:
  `equalsInstruction` in class `Instruction`

### acceptVisit

public void acceptVisit(BCVisitor visit)
Description copied from interface: `VisitAcceptor`
Accept a visit from a `BCVisitor`, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.

Specified by:
  `acceptVisit` in interface `VisitAcceptor`
Overrides:
  `acceptVisit` in class `Instruction`