com.oracle.truffle.api.frame

## Class FrameDescriptor

- java.lang.Object
- - com.oracle.truffle.api.frame.FrameDescriptor

All Implemented Interfaces:
  java.lang.Cloneable

    public final class FrameDescriptor
    extends java.lang.Object
    implements java.lang.Cloneable

Descriptor of the slots of frame objects. Multiple frame instances are associated with one such descriptor.

### Constructor Summary

Constructors
Constructor and Description
`FrameDescriptor()`
`FrameDescriptor(java.lang.Object defaultValue)`

### Method Summary

Methods
`FrameSlot` `addFrameSlot(java.lang.Object identifier)`
`FrameSlot` `addFrameSlot(java.lang.Object identifier, FrameSlotKind kind)`
`FrameSlot` `addFrameSlot(java.lang.Object identifier, java.lang.Object info, FrameSlotKind kind)`
`FrameDescriptor` `copy()`
`static FrameDescriptor` `create()`
`static FrameDescriptor` `create(java.lang.Object defaultValue)`
`FrameSlot` `findFrameSlot(java.lang.Object identifier)`
`FrameSlot` `findOrAddFrameSlot(java.lang.Object identifier)`
`FrameSlot` `findOrAddFrameSlot(java.lang.Object identifier, FrameSlotKind kind)`
`FrameSlot` `findOrAddFrameSlot(java.lang.Object identifier, java.lang.Object info, FrameSlotKind kind)`
`java.lang.Object` `getDefaultValue()`
`java.util.Set<java.lang.Object>` `getIdentifiers()` Retrieve the list of all the identifiers associated with this frame descriptor.
`Assumption` `getNotInFrameAssumption(java.lang.Object identifier)`
`int` `getSize()`
`java.util.List<? extends FrameSlot>` `getSlots()`
`Assumption` `getVersion()`
`void` `removeFrameSlot(java.lang.Object identifier)`
`FrameDescriptor` `shallowCopy()`

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

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

### Constructor Detail

#### FrameDescriptor

    public FrameDescriptor()

#### FrameDescriptor

    public FrameDescriptor(java.lang.Object defaultValue)

### Method Detail

#### create

    public static FrameDescriptor create()

#### create

    public static FrameDescriptor create(java.lang.Object defaultValue)

#### addFrameSlot

    public FrameSlot addFrameSlot(java.lang.Object identifier)

#### addFrameSlot

    public FrameSlot addFrameSlot(java.lang.Object identifier,
                         FrameSlotKind kind)

#### addFrameSlot

    public FrameSlot addFrameSlot(java.lang.Object identifier,
                         java.lang.Object info,
                         FrameSlotKind kind)

#### findFrameSlot

    public FrameSlot findFrameSlot(java.lang.Object identifier)

#### findOrAddFrameSlot

    public FrameSlot findOrAddFrameSlot(java.lang.Object identifier)

#### findOrAddFrameSlot

    public FrameSlot findOrAddFrameSlot(java.lang.Object identifier,
                               FrameSlotKind kind)

#### findOrAddFrameSlot

    public FrameSlot findOrAddFrameSlot(java.lang.Object identifier,
                               java.lang.Object info,
                               FrameSlotKind kind)

#### removeFrameSlot

    public void removeFrameSlot(java.lang.Object identifier)

#### getSize

    public int getSize()

#### getSlots

    public java.util.List<? extends FrameSlot> getSlots()

#### getIdentifiers

    public java.util.Set<java.lang.Object> getIdentifiers()

Retrieve the list of all the identifiers associated with this frame descriptor.

Returns:
  the list of all the identifiers in this frame descriptor

#### copy

    public FrameDescriptor copy()

#### shallowCopy

    public FrameDescriptor shallowCopy()

#### getVersion

    public Assumption getVersion()

#### getDefaultValue

    public java.lang.Object getDefaultValue()

#### getNotInFrameAssumption

    public Assumption getNotInFrameAssumption(java.lang.Object identifier)