< prev index next >

test/jdk/java/lang/invoke/VarHandles/Value.java

Print this page
rev 55900 : 8207257: Add VarHandle access test for value type declared in ref type
Reviewed-by: tbd


  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 final inline class Value {
  25     final char char_v;
  26     final byte byte_v;
  27     final boolean boolean_v;
  28     final int int_v;
  29     final short short_v;
  30     final long long_v;
  31     final double double_v;
  32     final float float_v;

  33     Value() {
  34         char_v = 'z';
  35         boolean_v = true;
  36         byte_v = 0;
  37         int_v = 1;
  38         short_v = 2;
  39         long_v = 3;
  40         float_v = 0.1f;
  41         double_v = 0.2d;

  42     }
  43     static Value makeValue(char c, boolean z, byte b, int x, short y, long l, float f, double d) {
  44         Value v = Value.default;
  45         v = __WithField(v.char_v, c);
  46         v = __WithField(v.byte_v, b);
  47         v = __WithField(v.boolean_v, z);
  48         v = __WithField(v.int_v, x);
  49         v = __WithField(v.short_v, y);
  50         v = __WithField(v.long_v, l);
  51         v = __WithField(v.float_v, f);
  52         v = __WithField(v.double_v, d);
  53         return v;
  54     }
  55 
  56     static Value getInstance() {
  57         return makeValue('\u0123', true, (byte)0x01, 0x01234567, (short)0x0123, 0x0123456789ABCDEFL, 1.0f, 1.0d);

  58     }
  59 
  60 }


  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 final inline class Value {
  25     final char char_v;
  26     final byte byte_v;
  27     final boolean boolean_v;
  28     final int int_v;
  29     final short short_v;
  30     final long long_v;
  31     final double double_v;
  32     final float float_v;
  33     final Point Point_v;
  34     Value() {
  35         char_v = 'z';
  36         boolean_v = true;
  37         byte_v = 0;
  38         int_v = 1;
  39         short_v = 2;
  40         long_v = 3;
  41         float_v = 0.1f;
  42         double_v = 0.2d;
  43         Point_v = new Point(1, 1);
  44     }
  45     public Value(char c, boolean z, byte b, int x, short y, long l, float f, double d, Point p) {
  46         this.char_v = c;
  47         this.byte_v = b;
  48         this.boolean_v = z;
  49         this.int_v = x;
  50         this.short_v = y;
  51         this.long_v = l;
  52         this.float_v = f;
  53         this.double_v = d;
  54         this.Point_v = p;

  55     }
  56 
  57     static Value getInstance() {
  58         return new Value('\u0123', true, (byte)0x01, 0x01234567, (short)0x0123,
  59                 0x0123456789ABCDEFL, 1.0f, 1.0d, new Point(1, 1));
  60     }
  61 
  62 }
< prev index next >