/* * 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 TestPrinter *

* For example *

 * 
*

* * @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); } }