aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/lang/natClass.cc6
2 files changed, 9 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e0ffb0e9..207feda 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2000-01-06 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natClass.cc (_getConstructors): Correctly check
+ whether method name is the init name.
+ (getMethod): Look at accflags on method in `klass', not `this'.
+
2000-01-05 Tom Tromey <tromey@cygnus.com>
* java/lang/natClass.cc (getMethod): Compute offset relative to
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 533f7ab..07a1e1d 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -139,7 +139,7 @@ java::lang::Class::_getConstructors (jboolean declared)
{
_Jv_Method *method = &methods[i];
if (method->name == NULL
- && ! _Jv_equalUtf8Consts (method->name, init_name))
+ || ! _Jv_equalUtf8Consts (method->name, init_name))
continue;
if (! declared
&& ! java::lang::reflect::Modifier::isPublic(method->accflags))
@@ -154,7 +154,7 @@ java::lang::Class::_getConstructors (jboolean declared)
{
_Jv_Method *method = &methods[i];
if (method->name == NULL
- && ! _Jv_equalUtf8Consts (method->name, init_name))
+ || ! _Jv_equalUtf8Consts (method->name, init_name))
continue;
if (! declared
&& ! java::lang::reflect::Modifier::isPublic(method->accflags))
@@ -473,7 +473,7 @@ java::lang::Class::getMethod (jstring name, JArray<jclass> *param_types)
using namespace java::lang::reflect;
// Method must be public.
- if (! Modifier::isPublic (methods[i].accflags))
+ if (! Modifier::isPublic (klass->methods[i].accflags))
break;
Method *rmethod = new Method ();