Package 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
`FrameDescriptor()`
`FrameDescriptor​(java.lang.Object defaultValue)`

### Method Summary

All Methods Static Methods Instance Methods Concrete 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)