Package com.oracle.truffle.api.object

## Class Layout

- java.lang.Object
- - com.oracle.truffle.api.object.Layout

Direct Known Subclasses:
  `LayoutImpl`

    public abstract class Layout
    extends java.lang.Object

### Nested Class Summary

Nested Classes
`static class` `Layout.ImplicitCast`

### Field Summary

Fields
`static java.util.EnumSet<Layout.ImplicitCast>` `INT_TO_DOUBLE`
`static java.util.EnumSet<Layout.ImplicitCast>` `INT_TO_LONG`
`static java.util.EnumSet<Layout.ImplicitCast>` `NONE`
`static java.lang.String` `OPTION_PREFIX`

### Constructor Summary

Constructors
`Layout()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`abstract Shape.Allocator` `createAllocator()` Create an allocator for static property creation.
`static Layout` `createLayout()`
`static Layout` `createLayout​(java.util.EnumSet<Layout.ImplicitCast> allowedImplicitCasts)`
`static Layout` `createLayout​(java.util.EnumSet<Layout.ImplicitCast> allowedImplicitCasts, NodeUtil.FieldOffsetProvider fieldOffsetProvider)`
`abstract Shape` `createShape​(ObjectType operations)`
`abstract Shape` `createShape​(ObjectType operations, java.lang.Object sharedData)`
`abstract Shape` `createShape​(ObjectType operations, java.lang.Object sharedData, int id)`
`protected static LayoutFactory` `getFactory()`
`abstract java.lang.Class<? extends DynamicObject>` `getType()`
`abstract DynamicObject` `newInstance​(Shape shape)`

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

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

### Field Detail

#### NONE

    public static final java.util.EnumSet<Layout.ImplicitCast> NONE

#### INT_TO_DOUBLE

    public static final java.util.EnumSet<Layout.ImplicitCast> INT_TO_DOUBLE

#### INT_TO_LONG

    public static final java.util.EnumSet<Layout.ImplicitCast> INT_TO_LONG

#### OPTION_PREFIX

    public static final java.lang.String OPTION_PREFIX

See Also:
  Constant Field Values

### Constructor Detail

#### Layout

    public Layout()

### Method Detail

#### createLayout

    public static Layout createLayout()

#### createLayout

    public static Layout createLayout​(java.util.EnumSet<Layout.ImplicitCast> allowedImplicitCasts)

#### createLayout

    public static Layout createLayout​(java.util.EnumSet<Layout.ImplicitCast> allowedImplicitCasts,
                                      NodeUtil.FieldOffsetProvider fieldOffsetProvider)

#### newInstance

    public abstract DynamicObject newInstance​(Shape shape)

#### getType

    public abstract java.lang.Class<? extends DynamicObject> getType()

#### createShape

    public abstract Shape createShape​(ObjectType operations)

#### createShape

    public abstract Shape createShape​(ObjectType operations,
                                      java.lang.Object sharedData)

#### createShape

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

#### createAllocator

    public abstract Shape.Allocator createAllocator()

Create an allocator for static property creation. Reserves all array extension slots.

#### getFactory

    protected static LayoutFactory getFactory()