489 VarHandleChars.Array,
490 VarHandleChars.FieldInstanceReadOnly,
491 VarHandleChars.FieldStaticReadOnly,
492 VarHandleDoubles.Array,
493 VarHandleDoubles.FieldInstanceReadOnly,
494 VarHandleDoubles.FieldStaticReadOnly,
495 VarHandleFloats.Array,
496 VarHandleFloats.FieldInstanceReadOnly,
497 VarHandleFloats.FieldStaticReadOnly,
498 VarHandleInts.Array,
499 VarHandleInts.FieldInstanceReadOnly,
500 VarHandleInts.FieldStaticReadOnly,
501 VarHandleLongs.Array,
502 VarHandleLongs.FieldInstanceReadOnly,
503 VarHandleLongs.FieldStaticReadOnly,
504 VarHandleReferences.Array,
505 VarHandleReferences.FieldInstanceReadOnly,
506 VarHandleReferences.FieldStaticReadOnly,
507 VarHandleShorts.Array,
508 VarHandleShorts.FieldInstanceReadOnly,
509 VarHandleShorts.FieldStaticReadOnly {
510 final VarForm vform;
511 final boolean exact;
512
513 VarHandle(VarForm vform) {
514 this(vform, false);
515 }
516
517 VarHandle(VarForm vform, boolean exact) {
518 this.vform = vform;
519 this.exact = exact;
520 }
521
522 /**
523 * Returns the target VarHandle. Subclasses may override this method to implement
524 * additional logic for example lazily initializing the declaring class of a static field var handle.
525 */
526 @ForceInline
527 VarHandle target() {
528 return asDirect();
529 }
|
489 VarHandleChars.Array,
490 VarHandleChars.FieldInstanceReadOnly,
491 VarHandleChars.FieldStaticReadOnly,
492 VarHandleDoubles.Array,
493 VarHandleDoubles.FieldInstanceReadOnly,
494 VarHandleDoubles.FieldStaticReadOnly,
495 VarHandleFloats.Array,
496 VarHandleFloats.FieldInstanceReadOnly,
497 VarHandleFloats.FieldStaticReadOnly,
498 VarHandleInts.Array,
499 VarHandleInts.FieldInstanceReadOnly,
500 VarHandleInts.FieldStaticReadOnly,
501 VarHandleLongs.Array,
502 VarHandleLongs.FieldInstanceReadOnly,
503 VarHandleLongs.FieldStaticReadOnly,
504 VarHandleReferences.Array,
505 VarHandleReferences.FieldInstanceReadOnly,
506 VarHandleReferences.FieldStaticReadOnly,
507 VarHandleShorts.Array,
508 VarHandleShorts.FieldInstanceReadOnly,
509 VarHandleShorts.FieldStaticReadOnly,
510 VarHandleValues.Array,
511 VarHandleValues.FieldInstanceReadOnly,
512 VarHandleValues.FieldStaticReadOnly {
513 final VarForm vform;
514 final boolean exact;
515
516 VarHandle(VarForm vform) {
517 this(vform, false);
518 }
519
520 VarHandle(VarForm vform, boolean exact) {
521 this.vform = vform;
522 this.exact = exact;
523 }
524
525 /**
526 * Returns the target VarHandle. Subclasses may override this method to implement
527 * additional logic for example lazily initializing the declaring class of a static field var handle.
528 */
529 @ForceInline
530 VarHandle target() {
531 return asDirect();
532 }
|