aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-17 21:56:29 +0000
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-17 21:56:29 +0000
commite9fe40e32d24b7f3dad0bd8b71cf7bda8575663d (patch)
treefe99c57fde3a57124643d4b29f688584f4266b33 /libjava/java
parentf01bd317b59c3707306f3b59600baba7c5a05561 (diff)
2000-08-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* java/lang/natClass.cc (finit_name): Initialized with `finit$'. (finit_leg_name): New global. (java::lang::Class::getDeclaredMethods): Test for `finit$' or `$finit$'. This is a backward compatibility hack. (java::lang::Class::_getMethods): Likewise. (http://sources.redhat.com/ml/java-discuss/2000-08/msg00031.html See also the matching compiler patch: http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00664.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35769 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/natClass.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 33ab1a353da..1b403733821 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -70,7 +70,10 @@ extern java::lang::Class ConstructorClass;
static _Jv_Utf8Const *void_signature = _Jv_makeUtf8Const ("()V", 3);
static _Jv_Utf8Const *clinit_name = _Jv_makeUtf8Const ("<clinit>", 8);
static _Jv_Utf8Const *init_name = _Jv_makeUtf8Const ("<init>", 6);
-static _Jv_Utf8Const *finit_name = _Jv_makeUtf8Const ("$finit$", 7);
+static _Jv_Utf8Const *finit_name = _Jv_makeUtf8Const ("finit$", 6);
+// The legacy `$finit$' method name, which still needs to be
+// recognized as equivalent to the now prefered `finit$' name.
+static _Jv_Utf8Const *finit_leg_name = _Jv_makeUtf8Const ("$finit$", 7);
@@ -331,7 +334,9 @@ java::lang::Class::getDeclaredMethods (void)
if (method->name == NULL
|| _Jv_equalUtf8Consts (method->name, clinit_name)
|| _Jv_equalUtf8Consts (method->name, init_name)
- || _Jv_equalUtf8Consts (method->name, finit_name))
+ || _Jv_equalUtf8Consts (method->name, finit_name)
+ // Backward compatibility hack: match the legacy `$finit$' name
+ || _Jv_equalUtf8Consts (method->name, finit_leg_name))
continue;
numMethods++;
}
@@ -345,7 +350,9 @@ java::lang::Class::getDeclaredMethods (void)
if (method->name == NULL
|| _Jv_equalUtf8Consts (method->name, clinit_name)
|| _Jv_equalUtf8Consts (method->name, init_name)
- || _Jv_equalUtf8Consts (method->name, finit_name))
+ || _Jv_equalUtf8Consts (method->name, finit_name)
+ // Backward compatibility hack: match the legacy `$finit$' name
+ || _Jv_equalUtf8Consts (method->name, finit_leg_name))
continue;
java::lang::reflect::Method* rmethod
= new java::lang::reflect::Method ();
@@ -508,7 +515,9 @@ java::lang::Class::_getMethods (JArray<java::lang::reflect::Method *> *result,
if (method->name == NULL
|| _Jv_equalUtf8Consts (method->name, clinit_name)
|| _Jv_equalUtf8Consts (method->name, init_name)
- || _Jv_equalUtf8Consts (method->name, finit_name))
+ || _Jv_equalUtf8Consts (method->name, finit_name)
+ // Backward compatibility hack: match the legacy `$finit$' name
+ || _Jv_equalUtf8Consts (method->name, finit_leg_name))
continue;
// Only want public methods.
if (! java::lang::reflect::Modifier::isPublic (method->accflags))