com.oracle.truffle.object.basic

## Class BasicLayout

- java.lang.Object
- - com.oracle.truffle.api.object.Layout
  - - com.oracle.truffle.object.LayoutImpl
    - - com.oracle.truffle.object.basic.BasicLayout

    public class BasicLayout
    extends LayoutImpl

### Nested Class Summary

### Nested classes/interfaces inherited from class com.oracle.truffle.api.object.Layout

`Layout.ImplicitCast`

### Field Summary

### Fields inherited from class com.oracle.truffle.api.object.Layout

`INT_TO_DOUBLE, INT_TO_LONG, NONE, OPTION_PREFIX`

### Method Summary

Methods
`Shape.Allocator` `createAllocator()` Create an allocator for static property creation.
`Shape` `createShape(ObjectType operations, java.lang.Object sharedData, int id)`
`protected Location` `getObjectArrayLocation()`
`protected int` `getObjectFieldCount()`
`protected ObjectLocation` `getObjectFieldLocation(int index)`
`protected Location` `getPrimitiveArrayLocation()`
`protected int` `getPrimitiveFieldCount()`
`protected LocationImpl.InternalLongLocation` `getPrimitiveFieldLocation(int index)`
`protected boolean` `hasObjectExtensionArray()`
`protected boolean` `hasPrimitiveExtensionArray()`
`DynamicObject` `newInstance(Shape shape)`
`protected int` `objectFieldIndex(Location location)`

### Methods inherited from class com.oracle.truffle.object.LayoutImpl

`createShape, createShape, existingLocationForValue, getStrategy, getType, isAllowedIntToDouble, isAllowedIntToLong, isLocationAssignableFrom, isPropertyUpcastOf`

### Methods inherited from class com.oracle.truffle.api.object.Layout

`createLayout, createLayout, createLayout, getFactory`

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

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

### Method Detail

#### newInstance

    public DynamicObject newInstance(Shape shape)

Specified by:
  `newInstance` in class `LayoutImpl`

#### createShape

    public Shape createShape(ObjectType operations,
                    java.lang.Object sharedData,
                    int id)

Specified by:
  `createShape` in class `Layout`

#### hasObjectExtensionArray

    protected boolean hasObjectExtensionArray()

Specified by:
  `hasObjectExtensionArray` in class `LayoutImpl`

#### hasPrimitiveExtensionArray

    protected boolean hasPrimitiveExtensionArray()

Specified by:
  `hasPrimitiveExtensionArray` in class `LayoutImpl`

#### getObjectFieldCount

    protected int getObjectFieldCount()

Specified by:
  `getObjectFieldCount` in class `LayoutImpl`

#### getPrimitiveFieldCount

    protected int getPrimitiveFieldCount()

Specified by:
  `getPrimitiveFieldCount` in class `LayoutImpl`

#### getObjectArrayLocation

    protected Location getObjectArrayLocation()

Specified by:
  `getObjectArrayLocation` in class `LayoutImpl`

#### getPrimitiveArrayLocation

    protected Location getPrimitiveArrayLocation()

Specified by:
  `getPrimitiveArrayLocation` in class `LayoutImpl`

#### getObjectFieldLocation

    protected ObjectLocation getObjectFieldLocation(int index)

#### getPrimitiveFieldLocation

    protected LocationImpl.InternalLongLocation getPrimitiveFieldLocation(int index)

#### createAllocator

    public Shape.Allocator createAllocator()

Description copied from class: `Layout`
Create an allocator for static property creation. Reserves all array extension slots.

Specified by:
  `createAllocator` in class `LayoutImpl`

#### objectFieldIndex

    protected int objectFieldIndex(Location location)

Specified by:
  `objectFieldIndex` in class `LayoutImpl`