summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/reflect/Constructor.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/reflect/Constructor.java')
-rw-r--r--libjava/java/lang/reflect/Constructor.java106
1 files changed, 106 insertions, 0 deletions
diff --git a/libjava/java/lang/reflect/Constructor.java b/libjava/java/lang/reflect/Constructor.java
new file mode 100644
index 00000000000..466c1204bae
--- /dev/null
+++ b/libjava/java/lang/reflect/Constructor.java
@@ -0,0 +1,106 @@
+// Constructor.java - Represents a constructor for a class.
+
+/* 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.reflect;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 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.
+ * Status: Incomplete: needs a private constructor, and
+ * newInstance() needs to be written.
+ */
+
+public final class Constructor extends AccessibleObject implements Member
+{
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof Constructor))
+ return false;
+ Constructor c = (Constructor) obj;
+ return decl_class == c.decl_class && index == c.index;
+ }
+
+ public Class getDeclaringClass ()
+ {
+ return decl_class;
+ }
+
+ public Class[] getExceptionTypes ()
+ {
+ return (Class[]) exception_types.clone();
+ }
+
+ public int getModifiers ()
+ {
+ return modifiers;
+ }
+
+ public String getName ()
+ {
+ return decl_class.getName();
+ }
+
+ public Class[] getParameterTypes ()
+ {
+ return (Class[]) parameter_types.clone();
+ }
+
+ public int hashCode ()
+ {
+ // FIXME.
+ return getName().hashCode();
+ }
+
+ // FIXME: this must be native. Should share implementation with
+ // Method.invoke.
+ public Object newInstance (Object[] args)
+ throws InstantiationException, IllegalAccessException,
+ IllegalArgumentException, InvocationTargetException
+ {
+ return null;
+ }
+
+ public String toString ()
+ {
+ StringBuffer b = new StringBuffer ();
+ b.append(Modifier.toString(modifiers));
+ b.append(" ");
+ b.append(getName());
+ b.append("(");
+ for (int i = 0; i < parameter_types.length; ++i)
+ {
+ b.append(parameter_types[i].toString());
+ if (i < parameter_types.length - 1)
+ b.append(",");
+ }
+ b.append(")");
+ return b.toString();
+ }
+
+ // Can't create these. FIXME.
+ private Constructor ()
+ {
+ }
+
+ // Declaring class.
+ private Class decl_class;
+ // Exception types.
+ private Class[] exception_types;
+ // Modifiers.
+ private int modifiers;
+ // Parameter types.
+ private Class[] parameter_types;
+ // Index of this method in declaring class' method table.
+ private int index;
+}
OpenPOWER on IntegriCloud