nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java
changeset 18855 408663ef8f66
parent 18852 604c1d681b6f
child 18859 7c4d0146ccd5
equal deleted inserted replaced
18854:8dd3bfd73623 18855:408663ef8f66
   105         final MethodHandle spillGetter = MH.asType(MH.getter(MethodHandles.lookup(), ScriptObject.class, "spill", Object[].class), spillGetterType);
   105         final MethodHandle spillGetter = MH.asType(MH.getter(MethodHandles.lookup(), ScriptObject.class, "spill", Object[].class), spillGetterType);
   106         SPILL_ELEMENT_GETTER = MH.filterArguments(MH.arrayElementGetter(Object[].class), 0, spillGetter);
   106         SPILL_ELEMENT_GETTER = MH.filterArguments(MH.arrayElementGetter(Object[].class), 0, spillGetter);
   107         SPILL_ELEMENT_SETTER = MH.filterArguments(MH.arrayElementSetter(Object[].class), 0, spillGetter);
   107         SPILL_ELEMENT_SETTER = MH.filterArguments(MH.arrayElementSetter(Object[].class), 0, spillGetter);
   108     }
   108     }
   109 
   109 
       
   110     /**
       
   111      * Create a new accessor property. Factory method used by nasgen generated code.
       
   112      *
       
   113      * @param key           {@link Property} key.
       
   114      * @param propertyFlags {@link Property} flags.
       
   115      * @param getter        {@link Property} get accessor method.
       
   116      * @param setter        {@link Property} set accessor method.
       
   117      *
       
   118      * @return  New {@link AccessorProperty} created.
       
   119      */
       
   120     public static AccessorProperty create(final String key, final int propertyFlags, final MethodHandle getter, final MethodHandle setter) {
       
   121         return new AccessorProperty(key, propertyFlags, -1, getter, setter);
       
   122     }
       
   123 
   110     /** Seed getter for the primitive version of this field (in -Dnashorn.fields.dual=true mode) */
   124     /** Seed getter for the primitive version of this field (in -Dnashorn.fields.dual=true mode) */
   111     private MethodHandle primitiveGetter;
   125     private MethodHandle primitiveGetter;
   112 
   126 
   113     /** Seed setter for the primitive version of this field (in -Dnashorn.fields.dual=true mode) */
   127     /** Seed setter for the primitive version of this field (in -Dnashorn.fields.dual=true mode) */
   114     private MethodHandle primitiveSetter;
   128     private MethodHandle primitiveSetter;