// Copyright 2011 Google Inc. All Rights Reserved.

class AllFields {
    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;
    static Object[] sObjectArray;

    boolean iZ;
    byte iB;
    char iC;
    double iD;
    float iF;
    int iI;
    long iJ;
    short iS;
    Object iObject;
    Object[] iObjectArray;
}
