/* 
 * Copyright 2011 Semantic Designs, Inc. All rights reserved.
 */

package java.lang;

public class Object {
    // described directly in JLS 4.3.2

    public final Class<? > getClass() {
                                      }

    public String toString() {
                              }

    public boolean equals(Object obj) {
                                       }

    public int hashCode() {
                           }

    protected Object clone()
        throws CloneNotSupportedException {
                                           }

    public final void wait()
        throws InterruptedException {
                                     }

        // throws IllegalMonitorStateException
    public final void wait(long millis)
        throws InterruptedException {
                                     }

        // throws IllegalMonitorStateException
    public final void wait(long millis, int nanos) {
                                                    }

        // throws IllegalMonitorStateException, InterruptedException {}
    public final void notify() {
                                }

        // throws IllegalMonitorStateException
    public final void notifyAll() {
                                   }

        // throws IllegalMonitorStateException
    protected void finalize()
        throws Throwable {
                          }
}


class Throwable {
                 }


class Exception extends Throwable {
                                   }


class CloneNotSupportedException extends Exception {
                                                    }


class InterruptedException extends Exception {
                                              }