mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
Makefile.am (core_java_source_files): Add VMObjectStreamClass.java.
* Makefile.am (core_java_source_files): Add VMObjectStreamClass.java.
(nat_source_files): Add natVMObjectStreamClass.cc.
* Makefile.in: Regenerated.
* gcj/javaprims.h (namespace java): Regenerated.
* java/io/ObjectStreamClass.java (getClassUID): Call
VMObjectStreamClass.hasClassInitializer().
(hasClassInitializer): Removed.
* java/io/VMObjectStreamClass.java: New class.
* java/io/natVMObjectStreamClass.cc: New file.
* java/lang/Class.h: Make java::io::VMObjectStreamClass friend class.
From-SVN: r61501
This commit is contained in:
committed by
Mark Wielaard
parent
d99c740f58
commit
827452ae5c
@@ -525,7 +525,7 @@ public class ObjectStreamClass implements Serializable
|
||||
}
|
||||
|
||||
// write class initializer method if present
|
||||
if (hasClassInitializer (cl))
|
||||
if (VMObjectStreamClass.hasClassInitializer (cl))
|
||||
{
|
||||
data_out.writeUTF ("<clinit>");
|
||||
data_out.writeInt (Modifier.STATIC);
|
||||
@@ -613,31 +613,6 @@ public class ObjectStreamClass implements Serializable
|
||||
return o;
|
||||
}
|
||||
|
||||
|
||||
// Returns true if CLAZZ has a static class initializer
|
||||
// (a.k.a. <clinit>).
|
||||
private static boolean hasClassInitializer (Class clazz)
|
||||
{
|
||||
Method m = null;
|
||||
|
||||
try
|
||||
{
|
||||
/*
|
||||
* There exists a problem here, according to the spec
|
||||
* clazz.getDeclaredMethod ("<clinit>", classArgs);
|
||||
* will always throw NoSuchMethodException, even if the static
|
||||
* intializer does exist.
|
||||
*/
|
||||
Class classArgs[] = {};
|
||||
m = clazz.getDeclaredMethod ("<clinit>", classArgs);
|
||||
}
|
||||
catch (java.lang.NoSuchMethodException e)
|
||||
{
|
||||
}
|
||||
|
||||
return m != null;
|
||||
}
|
||||
|
||||
public static final ObjectStreamField[] NO_FIELDS = {};
|
||||
|
||||
private static Hashtable classLookupTable = new Hashtable ();
|
||||
|
||||
Reference in New Issue
Block a user