com.oracle.truffle.object.basic

## Class BasicAllocator

- java.lang.Object
- - com.oracle.truffle.api.object.Shape.Allocator
  - - com.oracle.truffle.object.ShapeImpl.BaseAllocator
    - - com.oracle.truffle.object.basic.BasicAllocator

    public abstract class BasicAllocator
    extends ShapeImpl.BaseAllocator

### Field Summary

### Fields inherited from class com.oracle.truffle.object.ShapeImpl.BaseAllocator

`depth, hasPrimitiveArray, layout, objectArraySize, objectFieldSize, primitiveArraySize, primitiveFieldSize`

### Constructor Summary

Constructors
Constructor and Description
`BasicAllocator(LayoutImpl layout)`
`BasicAllocator(ShapeImpl shape)`

### Method Summary

Methods
`protected Location` `locationForValueUpcast(java.lang.Object value, Location oldLocation)`
`protected Location` `moveLocation(Location oldLocation)`
`Location` `newBooleanLocation(boolean useFinal)`
`protected Locations.DeclaredDualLocation` `newDeclaredDualLocation(java.lang.Object value)`
`Location` `newDoubleLocation(boolean useFinal)`
`Location` `newIntLocation(boolean useFinal)`
`Location` `newLongLocation(boolean useFinal)`
`Location` `newObjectLocation(boolean useFinal, boolean nonNull)`
`Location` `newTypedObjectLocation(boolean useFinal, java.lang.Class<?> type, boolean nonNull)`

### Methods inherited from class com.oracle.truffle.object.ShapeImpl.BaseAllocator

`addLocation, advance, constantLocation, locationForType, locationForValue, newDualLocation, newDualLocationForValue`

### Methods inherited from class com.oracle.truffle.api.object.Shape.Allocator

`declaredLocation, locationForType, locationForType, locationForValue, locationForValue`

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

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

### Constructor Detail

#### BasicAllocator

    public BasicAllocator(LayoutImpl layout)

#### BasicAllocator

    public BasicAllocator(ShapeImpl shape)

### Method Detail

#### moveLocation

    protected Location moveLocation(Location oldLocation)

Specified by:
  `moveLocation` in class `ShapeImpl.BaseAllocator`

#### newObjectLocation

    public Location newObjectLocation(boolean useFinal,
                             boolean nonNull)

Specified by:
  `newObjectLocation` in class `ShapeImpl.BaseAllocator`

#### newTypedObjectLocation

    public Location newTypedObjectLocation(boolean useFinal,
                                  java.lang.Class<?> type,
                                  boolean nonNull)

Specified by:
  `newTypedObjectLocation` in class `ShapeImpl.BaseAllocator`

#### newIntLocation

    public Location newIntLocation(boolean useFinal)

Specified by:
  `newIntLocation` in class `ShapeImpl.BaseAllocator`

#### newDoubleLocation

    public Location newDoubleLocation(boolean useFinal)

Specified by:
  `newDoubleLocation` in class `ShapeImpl.BaseAllocator`

#### newLongLocation

    public Location newLongLocation(boolean useFinal)

Specified by:
  `newLongLocation` in class `ShapeImpl.BaseAllocator`

#### newBooleanLocation

    public Location newBooleanLocation(boolean useFinal)

Specified by:
  `newBooleanLocation` in class `ShapeImpl.BaseAllocator`

#### locationForValueUpcast

    protected Location locationForValueUpcast(java.lang.Object value,
                                  Location oldLocation)

Specified by:
  `locationForValueUpcast` in class `ShapeImpl.BaseAllocator`

#### newDeclaredDualLocation

    protected Locations.DeclaredDualLocation newDeclaredDualLocation(java.lang.Object value)

Overrides:
  `newDeclaredDualLocation` in class `ShapeImpl.BaseAllocator`