Ben verbatimText
veya verbatimText, strings[], values[]
programlı GStringExpression
benim metin GStringExpression
için temsil edilmeli Nasıl sahip
"Exception: $all"
Onun yapıcı Ya bu metin satırını temsil edecek GStringExpression
oluşturmak istiyor oluşturmak?
örneğin bu kod "Exception:"
içinde
new GStringExpression("Exception:", [], [ new ConstantExpression("all") ])
sonuç için. Ben dolayı benim catchStatement
uygulanması iken Oluşturulan kod şuna benzer çünkü verbatim
kullanıyor görünüyor all
,
eksik bunu derlemek alamıyorum $all
verbatimText
içine kullanmaya çalıştığınızda gibi görünüyor
Parameter parameter =
new Parameter(ClassHelper.make(Exception.class), "all")
ExpressionStatement returnStatement = new ExpressionStatement (
new MethodCallExpression(
new VariableExpression("this"),
new ConstantExpression("println"),
new ArgumentListExpression([
new GStringExpression(null,
[
new ConstantExpression("Exception:")
],
[ new VariableExpression("all") ]
)
])
)
)
new CatchStatement(parameter, returnStatement)
Gerçekten de dönüşüm yaratmaya çalışıyorum (aslında oluşturdum ama eksik olan tek şey "gstring" içinde doğru mesajdır) – lapots
Güncellenen soru – lapots
Afaik, 'verbatim' sadece AST'yi dökmek için kullanılır, ne zaman groovy üretirse baytkodu. Bu yönteme bakın: https://github.com/apache/groovy/blob/master/src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java#L1808 –