1 /* 
   2  * A value-capable class (VCC) from which HotSpot derives a value
   3  * type. The derived value type (DVT) is referred to as
   4  * ValueCapableClass$Value.
   5  */
   6 
   7 package compiler.valhalla.valuetypes;
   8 
   9 @jvm.internal.value.DeriveValueType
  10 public final class ValueCapableClass1 {
  11     public final long t;
  12     public final int x;
  13     public final short y;
  14     public final short z;
  15 
  16     private ValueCapableClass1(long t, int x, short y, short z) {
  17         this.t = t;
  18         this.x = x;
  19         this.y = y;
  20         this.z = z;
  21     }
  22 
  23     public static ValueCapableClass1 create(long t, int x, short y, short z) {
  24         return new ValueCapableClass1(t, x, y, z);
  25     }
  26 
  27     int hash() {
  28         return hashCode() + x + y + z;
  29     }
  30 
  31     int value() {
  32         return x + y + z;
  33     }
  34 }