content: /*
   * Copyright (C) 2014 The Android Open Source Project
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  public class Main extends TestCase {
    public static void main(String[] args) {
      $opt$TestThisClassStaticField();
      $opt$TestOtherClassStaticField();
      $opt$TestAddThisClassStaticField();
      $opt$TestAddOtherClassStaticField();
      $opt$TestOtherClassWithClinitStaticField();
      $opt$TestAccess();
    }
  
    static int staticField = 42;
  
    static int getInt() {
      return 33;
    }
  
    static void $opt$TestThisClassStaticField() {
      assertEquals(42, staticField);
    }
  
    static void $opt$TestOtherClassStaticField() {
      assertEquals(41, Other.staticField);
    }
  
    static void $opt$TestAddThisClassStaticField() {
      int a = getInt();
      assertEquals(a + 42, a + staticField);
    }
  
    static void $opt$TestAddOtherClassStaticField() {
      int a = getInt();
      assertEquals(a + 41, a + Other.staticField);
    }
  
    static void $opt$TestOtherClassWithClinitStaticField() {
      assertEquals(40, OtherWithClinit.staticField);
    }
  
    static void $opt$TestAccess() {
      assertEquals(false, sZ);
      assertEquals(0, sB);
      assertEquals(0, sC);
      assertEquals(0, sI);
      assertEquals(0, sJ);
      assertEquals(0, sS);
      assertEquals(0.0f, sF);
      assertEquals(0.0, sD);
      assertNull(sObject);
  
      long longValue = -1122198787987987987L;
      Object o = new Object();
      sZ = true;
      sB = -2;
      sC = 'c';
      sI = 42;
      sJ = longValue;
      sS = 68;
      sObject = o;
      sF = 2.3f;
      sD = 5.3;
  
      assertEquals(true, sZ);
      assertEquals(-2, sB);
      assertEquals('c', sC);
      assertEquals(42, sI);
      assertEquals(longValue, sJ);
      assertEquals(68, sS);
      assertEquals(o, sObject);
      assertEquals(2.3f, sF);
      assertEquals(5.3, sD);
    }
  
    static boolean sZ;
    static byte sB;
    static char sC;
    static double sD;
    static float sF;
    static int sI;
    static long sJ;
    static short sS;
    static Object sObject;
  }
  