Package org.mozilla.javascript
Class EmbeddedSlotMap
- java.lang.Object
-
- org.mozilla.javascript.EmbeddedSlotMap
-
-
Constructor Summary
Constructors Constructor Description EmbeddedSlotMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Slot newSlot)
Insert a new slot to the map.boolean
isEmpty()
Return whether the map is empty.java.util.Iterator<Slot>
iterator()
Slot
modify(java.lang.Object key, int index, int attributes)
Locate the slot with given name or index, and create a new one if necessary.Slot
query(java.lang.Object key, int index)
Locate the slot with the given name or index.void
remove(java.lang.Object key, int index)
Remove the slot at either "key" or "index".void
replace(Slot oldSlot, Slot newSlot)
Replace "slot" with a new slot.int
size()
Return the size of the map.
-
-
-
Method Detail
-
size
public int size()
Description copied from interface:SlotMap
Return the size of the map.
-
isEmpty
public boolean isEmpty()
Description copied from interface:SlotMap
Return whether the map is empty.
-
iterator
public java.util.Iterator<Slot> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<Slot>
-
query
public Slot query(java.lang.Object key, int index)
Locate the slot with the given name or index.
-
modify
public Slot modify(java.lang.Object key, int index, int attributes)
Locate the slot with given name or index, and create a new one if necessary.- Specified by:
modify
in interfaceSlotMap
- Parameters:
key
- either a String or a Symbol object that identifies the propertyindex
- index or 0 if slot holds property name.attributes
- the attributes to be set on the slot if a new slot is created. Existing slots will not be modified.- Returns:
- a Slot, which will be created anew if no such slot exists.
-
replace
public void replace(Slot oldSlot, Slot newSlot)
Description copied from interface:SlotMap
Replace "slot" with a new slot. This is used to change slot types.
-
add
public void add(Slot newSlot)
Description copied from interface:SlotMap
Insert a new slot to the map. Both "name" and "indexOrHash" must be populated. Note that ScriptableObject generally adds slots via the "modify" method.
-
remove
public void remove(java.lang.Object key, int index)
Description copied from interface:SlotMap
Remove the slot at either "key" or "index".
-
-