// This method is used to force TypeGenerator to search through the list of class declarations and find
// types that don't exist in the type list but have a class declared for them.

class Other {
    // Must discover in class declaration list
	Main[] array;
	Third third;
	// Already exist
	Fourth fourth; // discovered as parent of Third
    Other other; // already visited
	int a;       // primitive and object types (and corresponding arrays) created before visiting classes
	boolean b;
	int[] As;
	boolean[] Bs;
	Object o;
	Object[] Os;
	Third[] thirds; // array types created when visiting corresponding classes
	Other[] others;
}

class Main {
	void main() {}
}

class Third extends Fourth {

}

class Fourth {

}
