Я хочу создать groovy-код с помощью AstBuilder, но потом я хотел бы посмотреть, как будет выглядеть фактический код groovy. Можно ли преобразовать выход ToString Аст узлов, как это:Преобразуйте строку узлов AST в код groovy
[email protected][
[email protected][
expression:[email protected][
[email protected][
variable: cl]("=" at 2:17: "=")[email protected][
]{ [email protected][
] }]]]
обратно в заводной код?
Вы проверили 'Text' собственности на внешнем большинстве' ASTNode' (Ех BlockStatement.)? Я подозреваю, что это задано компилятором, поэтому в случае создания узлов вручную без исходного кода это может не сработать. Но в соответствии с консольной консолью Groovy AST Browser свойство 'text' представляет собой исходный код' ASTNode'. –
К сожалению, свойство 'text' не выполняется последовательно для всех классов. Например, 'IfStatement' вообще не реализует его и возвращает сообщение о том, что метод не был реализован. Некоторые другие классы также не возвращают очень полезное сообщение, поэтому вы не можете просто вызывать 'getText()' на самом внешнем объекте. – mike27
Ничего, что я нашел, но это похоже на Матрицу ... через некоторое время вы просто начинаете «видеть», как выглядит сгенерированный код. – cjstehno