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