diff options
Diffstat (limited to 'tutorial/examples/print/TestPrinter.java')
-rw-r--r-- | tutorial/examples/print/TestPrinter.java | 99 |
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); + } + +} |