| // 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(); | |
| } | |
| } |