Class NewLiteralStorage

java.lang.Object
org.htmlunit.corejs.javascript.NewLiteralStorage

public abstract class NewLiteralStorage extends Object
Used to store the support structures for a literal object (or array) being built.
  • Field Details

    • keys

      protected Object[] keys
    • getterSetters

      protected int[] getterSetters
    • values

      protected Object[] values
    • index

      protected int index
    • skipIndexes

      protected int[] skipIndexes
    • spreadAdjustments

      protected int[] spreadAdjustments
  • Constructor Details

    • NewLiteralStorage

      protected NewLiteralStorage(Object[] ids, int length, boolean createKeys)
  • Method Details

    • pushValue

      public void pushValue(Object value)
    • pushGetter

      public void pushGetter(Object value)
    • pushSetter

      public void pushSetter(Object value)
    • pushKey

      public void pushKey(Object key)
    • spread

      public void spread(Context cx, VarScope scope, Object source, int sourcePosition)
    • getKeys

      public Object[] getKeys()
    • getGetterSetters

      public int[] getGetterSetters()
    • getValues

      public Object[] getValues()
    • setSkipIndexes

      public void setSkipIndexes(int[] skipIndexes)
    • hasSkipIndexes

      public boolean hasSkipIndexes()
    • getAdjustedSkipIndexes

      public int[] getAdjustedSkipIndexes()
    • create

      public static NewLiteralStorage create(Context cx, Object[] ids)
    • create

      public static NewLiteralStorage create(Context cx, int length, boolean createKeys)
    • attemptToInferFunctionName

      protected abstract void attemptToInferFunctionName(Object value)