blob: 3403772629d0d20706562082930f38e5b95e34da [file] [log] [blame]
Nicolas Geoffray19a19cf2014-10-22 16:07:05 +01001/*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17public class Main extends TestCase {
18 public static void main(String[] args) {
19 $opt$TestThisClassStaticField();
20 $opt$TestOtherClassStaticField();
21 $opt$TestAddThisClassStaticField();
22 $opt$TestAddOtherClassStaticField();
23 $opt$TestOtherClassWithClinitStaticField();
24 $opt$TestAccess();
25 }
26
27 static int staticField = 42;
28
29 static int getInt() {
30 return 33;
31 }
32
33 static void $opt$TestThisClassStaticField() {
34 assertEquals(42, staticField);
35 }
36
37 static void $opt$TestOtherClassStaticField() {
38 assertEquals(41, Other.staticField);
39 }
40
41 static void $opt$TestAddThisClassStaticField() {
42 int a = getInt();
43 assertEquals(a + 42, a + staticField);
44 }
45
46 static void $opt$TestAddOtherClassStaticField() {
47 int a = getInt();
48 assertEquals(a + 41, a + Other.staticField);
49 }
50
51 static void $opt$TestOtherClassWithClinitStaticField() {
52 assertEquals(40, OtherWithClinit.staticField);
53 }
54
55 static void $opt$TestAccess() {
56 assertEquals(false, sZ);
57 assertEquals(0, sB);
58 assertEquals(0, sC);
59 assertEquals(0, sI);
60 assertEquals(0, sJ);
61 assertEquals(0, sS);
Nicolas Geoffray52e832b2014-11-06 15:15:31 +000062 assertEquals(0.0f, sF);
63 assertEquals(0.0, sD);
Nicolas Geoffray19a19cf2014-10-22 16:07:05 +010064 assertNull(sObject);
65
66 long longValue = -1122198787987987987L;
67 Object o = new Object();
68 sZ = true;
69 sB = -2;
70 sC = 'c';
71 sI = 42;
72 sJ = longValue;
73 sS = 68;
74 sObject = o;
Nicolas Geoffray52e832b2014-11-06 15:15:31 +000075 sF = 2.3f;
76 sD = 5.3;
Nicolas Geoffray19a19cf2014-10-22 16:07:05 +010077
78 assertEquals(true, sZ);
79 assertEquals(-2, sB);
80 assertEquals('c', sC);
81 assertEquals(42, sI);
82 assertEquals(longValue, sJ);
83 assertEquals(68, sS);
84 assertEquals(o, sObject);
Nicolas Geoffray52e832b2014-11-06 15:15:31 +000085 assertEquals(2.3f, sF);
86 assertEquals(5.3, sD);
Nicolas Geoffray19a19cf2014-10-22 16:07:05 +010087 }
88
89 static boolean sZ;
90 static byte sB;
91 static char sC;
92 static double sD;
93 static float sF;
94 static int sI;
95 static long sJ;
96 static short sS;
97 static Object sObject;
98}