summaryrefslogtreecommitdiff
path: root/tutorial/examples/verbose2/VerboseClass.java
blob: 1e6cdf0f93fb7bf194beee1228f3bd0c25e5fea0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 * VerboseClass.java
 *
 * comments here.
 *
 * @author   Michiaki Tatsubori
 * @version  %VERSION% %DATE%
 * @see      java.lang.Object
 *
 * COPYRIGHT 1999 by Michiaki Tatsubori, ALL RIGHTS RESERVED.
 */
package examples.verbose2;


import openjava.mop.*;
import openjava.ptree.*;
import openjava.syntax.*;
import openjava.ptree.util.PartialParser;


public class VerboseClass extends OJClass
{

    /* overrides for translation */
    public void translateDefinition() throws MOPException {
        OJMethod[] methods = getDeclaredMethods();
        for (int i = 0; i < methods.length; ++i) {
        StatementList body = methods[i].getBody();
        String str = PartialParser.replace(
            "java.lang.System.out.println( \"#s\" );",
        methods[i].getName() + " is called."
        );
        Statement printer = makeStatement( str );
        body.insertElementAt( printer, 0 );
        }
    }

    /* constructor */

    public VerboseClass( Environment outer_env, OJClass declarer,
                     ClassDeclaration ptree ) {
        super( outer_env, declarer, ptree );
    }

    public VerboseClass( Class javaclass, MetaInfo minfo ) {
        super( javaclass, minfo );
    }

}