src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Property.java

Print this page




  84      */
  85     public static final int IS_NASGEN_PRIMITIVE     = 1 << 6;
  86 
  87     /** Is this property bound to a receiver? This means get/set operations will be delegated to
  88      *  a statically defined object instead of the object passed as callsite parameter. */
  89     public static final int IS_BOUND                = 1 << 7;
  90 
  91     /** Is this a lexically scoped LET or CONST variable that is dead until it is declared. */
  92     public static final int NEEDS_DECLARATION       = 1 << 8;
  93 
  94     /** Property key. */
  95     private final String key;
  96 
  97     /** Property flags. */
  98     private int flags;
  99 
 100     /** Property field number or spill slot. */
 101     private final int slot;
 102 
 103     /** SwitchPoint that is invalidated when property is changed, optional */
 104     protected SwitchPoint changeCallback;
 105 
 106     private static final long serialVersionUID = 2099814273074501176L;
 107 
 108     /**
 109      * Constructor
 110      *
 111      * @param key   property key
 112      * @param flags property flags
 113      * @param slot  property field number or spill slot
 114      */
 115     Property(final String key, final int flags, final int slot) {
 116         assert key != null;
 117         this.key   = key;
 118         this.flags = flags;
 119         this.slot  = slot;
 120     }
 121 
 122     /**
 123      * Copy constructor
 124      *




  84      */
  85     public static final int IS_NASGEN_PRIMITIVE     = 1 << 6;
  86 
  87     /** Is this property bound to a receiver? This means get/set operations will be delegated to
  88      *  a statically defined object instead of the object passed as callsite parameter. */
  89     public static final int IS_BOUND                = 1 << 7;
  90 
  91     /** Is this a lexically scoped LET or CONST variable that is dead until it is declared. */
  92     public static final int NEEDS_DECLARATION       = 1 << 8;
  93 
  94     /** Property key. */
  95     private final String key;
  96 
  97     /** Property flags. */
  98     private int flags;
  99 
 100     /** Property field number or spill slot. */
 101     private final int slot;
 102 
 103     /** SwitchPoint that is invalidated when property is changed, optional */
 104     protected transient SwitchPoint changeCallback;
 105 
 106     private static final long serialVersionUID = 2099814273074501176L;
 107 
 108     /**
 109      * Constructor
 110      *
 111      * @param key   property key
 112      * @param flags property flags
 113      * @param slot  property field number or spill slot
 114      */
 115     Property(final String key, final int flags, final int slot) {
 116         assert key != null;
 117         this.key   = key;
 118         this.flags = flags;
 119         this.slot  = slot;
 120     }
 121 
 122     /**
 123      * Copy constructor
 124      *