| // Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file | 
 | // for details. All rights reserved. Use of this source code is governed by a | 
 | // BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | // This code is not run directly. It needs to be compiled to dex code. | 
 | // 'constants.dex' is what is run. | 
 | package constants; | 
 |  | 
 | class Constants { | 
 |  | 
 |   public static void printInt(int x) { | 
 |     System.out.print(x); | 
 |   } | 
 |  | 
 |   public static void printLong(long x) { | 
 |     System.out.print(x); | 
 |   } | 
 |  | 
 |   public static void testConst4() { | 
 |     printInt(-8); | 
 |     printInt(-1); | 
 |     printInt(0); | 
 |     printInt(1); | 
 |     printInt(7); | 
 |   } | 
 |  | 
 |   public static void testConst16() { | 
 |     printInt(Short.MIN_VALUE); | 
 |     printInt(-9); | 
 |     printInt(8); | 
 |     printInt(Short.MAX_VALUE); | 
 |   } | 
 |  | 
 |   public static void testConstHigh16() { | 
 |     printInt(0xffff0000); | 
 |     printInt(0xf0000000); | 
 |     printInt(0x0f000000); | 
 |     printInt(0x00f00000); | 
 |     printInt(0x000f0000); | 
 |     printInt(0x80000000); | 
 |     printInt(0x00010000); | 
 |   } | 
 |  | 
 |   public static void testConst() { | 
 |     printInt(Short.MIN_VALUE - 1); | 
 |     printInt(Short.MAX_VALUE + 1); | 
 |  | 
 |     printInt(0xffff0001); | 
 |     printInt(0xf0000001); | 
 |     printInt(0x0f000001); | 
 |     printInt(0x00f00001); | 
 |     printInt(0x000f0001); | 
 |     printInt(0x80000001); | 
 |     printInt(0x00010001); | 
 |   } | 
 |  | 
 |   public static void testConstWide16() { | 
 |     printLong((long) Short.MIN_VALUE); | 
 |     printLong(-1L); | 
 |     printLong(0L); | 
 |     printLong(1L); | 
 |     printLong((long) Short.MAX_VALUE); | 
 |   } | 
 |  | 
 |   public static void testConstWide32() { | 
 |     printLong((long) Short.MIN_VALUE - 1); | 
 |     printLong((long) Integer.MIN_VALUE); | 
 |     printLong((long) Integer.MAX_VALUE); | 
 |     printLong((long) Short.MAX_VALUE + 1); | 
 |   } | 
 |  | 
 |   public static void testConstWideHigh16() { | 
 |     printLong(0xffff000000000000L); | 
 |     printLong(0xf000000000000000L); | 
 |     printLong(0x0f00000000000000L); | 
 |     printLong(0x00f0000000000000L); | 
 |     printLong(0x000f000000000000L); | 
 |     printLong(0x8000000000000000L); | 
 |     printLong(0x0001000000000000L); | 
 |     printLong(0x7fff000000000000L); | 
 |   } | 
 |  | 
 |   public static void testConstWide() { | 
 |     printLong((long) Integer.MIN_VALUE - 1); | 
 |     printLong((long) Integer.MAX_VALUE + 1); | 
 |  | 
 |     printLong(0xffff7fffffffffffL); | 
 |     printLong(0xffff000000000001L); | 
 |     printLong(0xf000000000000001L); | 
 |     printLong(0x0f00000000000001L); | 
 |     printLong(0x00f0000000000001L); | 
 |     printLong(0x000f000000000001L); | 
 |     printLong(0x8000000000000001L); | 
 |     printLong(0x0001000000000001L); | 
 |     printLong(0x7fffffffffffffffL); | 
 |     printLong(0x7fff000000000001L); | 
 |   } | 
 |  | 
 |   public static void main(String[] args) { | 
 |     testConst4(); | 
 |     testConst16(); | 
 |     testConstHigh16(); | 
 |     testConst(); | 
 |  | 
 |     testConstWide16(); | 
 |     testConstWide32(); | 
 |     testConstWideHigh16(); | 
 |     testConstWide(); | 
 |   } | 
 | } |