[Seasar-dev:206] Re: [S2Container] AbstractInterType へメソッド追加のお願い

Koichi Kobayashi koichik
2005年 12月 21日 (水) 02:00:20 JST


小林 (koichik) です.

Date:    Mon, 19 Dec 2005 23:13:09 +0900
From:    KOMORI Yusuke <y-komori @ nifty.ne.jp>
To:      seasar-dev @ lists.sourceforge.jp
Subject: [Seasar-dev:205] [S2Container] AbstractInterType へメソッド追加のお願い

>  申し訳ないですが、AbstractInterType に以下のようなメソッドを
> 追加していただけないでしょうか。
(略)
>  Stringで与えられたソースコードをターゲットにそのまま追加するシンプルな
> メソッドです。

追加しました.


>  どうも、引数を取るようなメソッドを追加する場合、
> CtNewMethod.make(java.lang.String src, CtClass declaring)
> を使わないとうまく動かないようです。

これ,気になるので現象を詳しくお願いします.
私が試した限りではうまく動いているように見えるのですが...

org.seasar.framework.aop.intertype.AbstractInterTypeTest の
TestInterType に引数を取るメソッド (setHoge) を追加してあります.

            addField(String.class, "hoge");
            addMethod("setHoge", new Class[] { String.class }, "hoge = $1;");
            addMethod(String.class, "getHoge", "return hoge;");
            addMethod("public void run() {setHoge(\"Hoge\"); add(getHoge());}");
            addMethod(String.class, "toString",
                    "return getHoge() + Integer.toString(size());");

まさに setter/getter ですが,引数を取る setHoge(String) を
含めて,これでテストは通ってます.

-- 
<signature>
    <name>Koichi Kobayashi</name>
    <e-mail>koichik @ improvement.jp</e-mail>
</signature>



seasar-dev メーリングリストの案内