Initial revision
From-SVN: r26263
This commit is contained in:
parent
140fa895c6
commit
ee9dd3721b
370 changed files with 173494 additions and 0 deletions
86
libjava/java/lang/Object.java
Normal file
86
libjava/java/lang/Object.java
Normal file
|
@ -0,0 +1,86 @@
|
|||
// Object.java - The root of all evil.
|
||||
|
||||
/* Copyright (C) 1998, 1999 Cygnus Solutions
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.lang;
|
||||
|
||||
/**
|
||||
* @author Tom Tromey <tromey@cygnus.com>
|
||||
* @date September 30, 1998
|
||||
*/
|
||||
|
||||
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
|
||||
* "The Java Language Specification", ISBN 0-201-63451-1
|
||||
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
|
||||
* plus gcj compiler sources (to determine object layout)
|
||||
* Status: Complete to version 1.1
|
||||
*/
|
||||
|
||||
public class Object
|
||||
{
|
||||
// This must come first. See _JvObjectPrefix in Object.h.
|
||||
protected void finalize () throws Throwable
|
||||
{
|
||||
}
|
||||
|
||||
public final native Class getClass ();
|
||||
public native int hashCode ();
|
||||
public final native void notify ();
|
||||
public final native void notifyAll ();
|
||||
public final native void wait (long timeout, int nanos)
|
||||
throws InterruptedException;
|
||||
|
||||
public boolean equals (Object obj)
|
||||
{
|
||||
return this == obj;
|
||||
}
|
||||
|
||||
public Object ()
|
||||
{
|
||||
}
|
||||
|
||||
public String toString ()
|
||||
{
|
||||
return getClass().getName() + '@' + Integer.toHexString(hashCode());
|
||||
}
|
||||
|
||||
public final void wait () throws InterruptedException
|
||||
{
|
||||
wait (0, 0);
|
||||
}
|
||||
|
||||
public final void wait (long timeout) throws InterruptedException
|
||||
{
|
||||
wait (timeout, 0);
|
||||
}
|
||||
|
||||
protected native Object clone () throws CloneNotSupportedException;
|
||||
|
||||
// This initializes the sync_info member. It is here for
|
||||
// completeness (some day we'll be able to auto-generate Object.h).
|
||||
private final native void sync_init ();
|
||||
|
||||
// This exists as a workaround for the fact that we can't catch a
|
||||
// Java Exception from C++. This is from section 12.6 of the Java
|
||||
// Language Spec. FIXME: remove this once exception processing
|
||||
// works.
|
||||
private static final void hack12_6 (Object f)
|
||||
{
|
||||
try
|
||||
{
|
||||
f.finalize();
|
||||
}
|
||||
catch (Throwable x)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Note that we don't mention the sync_info field here. If we do,
|
||||
// jc1 will not work correctly.
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue