test/tools/javac/boxing/Boxing1.java

Tue, 28 Dec 2010 15:54:52 -0800

author
ohair
date
Tue, 28 Dec 2010 15:54:52 -0800
changeset 798
4868a36f6fd8
parent 554
9d9f26857129
child 2525
2eb010b6cb22
permissions
-rw-r--r--

6962318: Update copyright year
Reviewed-by: xdono

     1 /*
     2  * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    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  */
    24 /*
    25  * @test
    26  * @bug 4869233 4872709 4868735 4921949 4921209 4965701 4934916 4975565 4974939
    27  * @summary Boxing/unboxing positive unit and regression tests
    28  * @author gafter
    29  */
    31 public class Boxing1 {
    33     static Boolean _Boolean = true;
    34     static boolean _boolean = _Boolean;
    36     static Byte _Byte = (byte)3;
    37     static byte _byte = _Byte;
    39     static Character _Character = 'a';
    40     static char _char = _Character;
    42     static Short _Short = (short)4;
    43     static short _short = _Short;
    45     static Integer _Integer = 5;
    46     static int _int = _Integer;
    48     static Long _Long = 12L;
    49     static long _long = _Long;
    51     static Float _Float = 1.2f;
    52     static float _float = _Float;
    54     static Double _Double = 1.34;
    55     static double _double = _Double;
    57     public static void main(String[] args) {
    58         _Double = _Integer + _Integer + 0.0d;
    59         if (_Double != 10) throw new Error();
    61         _Integer = 2;
    62         _float = _Integer;
    63         if (_float != 2.0f) throw new Error();
    65         _int = 12;
    66         _Float = _int + 0.0f;
    67         if (_Float != 12.0f) throw new Error();
    69         _Integer = 8;
    70         _float = (float)_Integer;
    71         if (_float != 8.0f) throw new Error();
    73         _int = 9;
    74         _Float = (Float)(_int + 0.0f);
    75         if (_Float != 9.0f) throw new Error();
    77         if (_Boolean) ; else throw new Error();
    78         if (!_Boolean) throw new Error();
    80         if (_Integer >= _Long) throw new Error();
    82         _Character = 'a';
    83         String s1 = ("_" + _Character + "_").intern();
    84         if (s1 != "_a_") throw new Error(s1);
    86         /* assignment operators don't work; see 4921209 */
    87         if (_Integer++ != 8) throw new Error();
    88         if (_Integer++ != 9) throw new Error();
    89         if (++_Integer != 11) throw new Error();
    90         if ((_Integer += 3) != 14) throw new Error();
    91         if ((_Integer -= 3) != 11) throw new Error();
    93         Integer i = 0;
    94         i = i + 2;
    95         i += 2;
    96         if (i != 4) throw new Error();
    98         int j = 0;
    99         j += i;
   100         if (j != 4) throw new Error();
   102         Integer a[] = new Integer[1];
   103         a[0] = 3;
   104         a[0] += 3;
   105         if (a[0] != 6) throw new Error();
   107         Froobie x = new Froobie();
   108         Froobie y = new Froobie();
   109         x.next = y;
   110         x.next.i = 4;
   111         x.next.i += 4;
   112         if (--x.next.i != 7) throw new Error();
   113         if (x.next.i-- != 7) throw new Error();
   114         if (x.next.i != 6) throw new Error();
   116         boxIndex();
   117         boxArray();
   118     }
   120     static void boxIndex() {
   121         String[] a = { "hello", "world" };
   122         Integer i = 0;
   123         System.out.println(a[i]);
   124     }
   126     static void boxArray() {
   127         Integer[] a2 = { 0, 1, 2, 3 };
   128         for (int i : a2)
   129             System.out.println(i);
   130     }
   132     static class Froobie {
   133         Froobie next = null;
   134         Integer i = 1;
   135     }
   137     static class Scott {
   138         Integer i[];
   139         Integer j[];
   140         Integer k;
   142         int q = i[j[k]]++;
   143     }
   145     class T4974939 {
   146         void f() {
   147             Byte b = 12;
   148             Byte c = 'a';
   150             Short s = 'b';
   151             Short t = 12;
   153             Character d = 12;
   154         }
   155     }
   156 }

mercurial