2013-12-05 2 views
1

У меня есть следующий JInvocation:CodeModel/Jinvocation с JMethod.body()

JInvocation jInvoke = JExpr.invoke(anotherPageInstance, method); 

, где anotherPageInstance является JVar и способ JMethod.

Я делаю некоторые действия на этом JInvocation, а затем я хочу добавить его в test.body().invoke где тест JMethod.

Основная проблема заключается в том, что я не могу, потому что test.body().invoke не имеет возможности получить JInvocation в качестве аргумента.

я могу сделать следующее: test.body().invoke(anotherPageInstance, method), но это не помогает мне, потому что я хочу, чтобы сохранить JInvocation, и только тогда, когда некоторые условия имеют место, добавьте этот Jinvocation к телу (и, как я упоминает прежде, между тем я делаю некоторые действия на этом JInvocation).

Любая помощь?

ответ

2

Вы можете добавить призывание тело (JBlock) с помощью add() метода:

test.body().add(jInvoke); 
0

Вместо инстанцировании JInvocation с JExpr.invoke(), используйте фабричные методы JExpr:

public static JInvocation invoke(JExpression lhs, 
           JMethod method) 
public static JInvocation invoke(JExpression lhs, 
           String method) 

См. JExpr.

Смежные вопросы