summaryrefslogtreecommitdiff
path: root/tutorial/examples/print/TestPrinter.java
diff options
context:
space:
mode:
Diffstat (limited to 'tutorial/examples/print/TestPrinter.java')
-rw-r--r--tutorial/examples/print/TestPrinter.java99
1 files changed, 99 insertions, 0 deletions
diff --git a/tutorial/examples/print/TestPrinter.java b/tutorial/examples/print/TestPrinter.java
new file mode 100644
index 0000000..bd6d359
--- /dev/null
+++ b/tutorial/examples/print/TestPrinter.java
@@ -0,0 +1,99 @@
+/*
+ * TestPrinter.java
+ *
+ * comments here.
+ *
+ * @author Michiaki Tatsubori
+ * @version %VERSION% %DATE%
+ * @see java.lang.Object
+ *
+ * COPYRIGHT 1999 by Michiaki Tatsubori, ALL RIGHTS RESERVED.
+ */
+package examples.print;
+
+import java.lang.Object;
+import openjava.mop.*;
+import openjava.ptree.ClassDeclaration;
+import openjava.syntax.*;
+
+/**
+ * The class <code>TestPrinter</code>
+ * <p>
+ * For example
+ * <pre>
+ * </pre>
+ * <p>
+ *
+ * @author Michiaki Tatsubori
+ * @version 1.0
+ * @since $Id: TestPrinter.java,v 1.2 2003/02/19 02:55:01 tatsubori Exp $
+ * @see java.lang.Object
+ */
+public class TestPrinter extends OJClass {
+ public void translateDefinition() throws MOPException {
+ OJMethod[] m;
+
+ /*
+ System.out.println( "SELF" );
+ m = getInheritedMethods();
+ for (int i = 0; i < m.length; ++i) {
+ System.out.println( m[i].toString() );
+ }
+ */
+
+ System.out.println("STATEMENTLIST");
+ OJClass clazz = OJClass.forName("openjava.ptree.StatementList");
+
+ m = clazz.getMethods(this);
+ /*
+ for (int i = 0; i < m.length; ++i) {
+ System.out.println( m[i].toString() );
+ }
+ */
+
+ System.out.println("INSERTELEMENTAT");
+ OJMethod method;
+ try {
+ OJClass[] params =
+ new OJClass[] {
+ OJClass.forName("openjava.ptree.Statement"),
+ OJClass.forName("int")};
+ method = clazz.getMethod("insertElementAt", params);
+ m = Toolbox.pickupMethodsByName(m, "insertElementAt");
+ System.out.println("name matches : " + m.length);
+ System.err.println(m[0].toString());
+ OJClass[] mparams = m[0].getParameterTypes();
+ System.err.println("M " + mparams[0] + " " + mparams[1]);
+ System.err.println("P " + params[0] + " " + params[1]);
+ boolean assign0 = mparams[0].isAssignableFrom(params[0]);
+ System.out.println("assignable0 : " + assign0);
+ boolean assign1 = mparams[1].isAssignableFrom(params[1]);
+ System.out.println("assignable1 : " + assign1);
+ System.out.println("equality : " + (mparams[0] == params[0]));
+
+ boolean isa = Toolbox.isAcceptable(mparams, params);
+ System.out.println("acceptable : " + isa);
+ m = Toolbox.pickupAcceptableMethodsByParameterTypes(m, params);
+ System.out.println("param matches : " + m.length);
+ } catch (NoSuchMethodException e) {
+ method = null;
+ }
+ if (method == null) {
+ System.out.println("NOT FOUND");
+ } else {
+ System.out.println(method.toString());
+ }
+ }
+
+ public TestPrinter(
+ Environment outer_env,
+ OJClass declarer,
+ ClassDeclaration ptree) {
+ super(outer_env, declarer, ptree);
+ }
+
+ public TestPrinter(Class javaclass, MetaInfo minfo) {
+ super(javaclass, minfo);
+ }
+
+}