Это пример кода, который я хочу проанализировать. Я хочу getSaveable PaymentMethodsSmartList()
как токен, когда я перезаписываю функцию в файле parserBaseListener.java, созданном ANTLR.Создайте правило грамматики ANTLR, которое возвращает имя функции в качестве токена, если находит комментарий doctype над объявлением функции
/** @suppress */
public any function getSaveablePaymentMethodsSmartList() {
if(!structKeyExists(variables, "saveablePaymentMethodsSmartList")) {
variables.saveablePaymentMethodsSmartList = getService("paymentService").getPaymentMethodSmartList();
variables.saveablePaymentMethodsSmartList.addFilter('activeFlag', 1);
variables.saveablePaymentMethodsSmartList.addFilter('allowSaveFlag', 1);
variables.saveablePaymentMethodsSmartList.addInFilter('paymentMethodType', 'creditCard,giftCard,external,termPayment');
if(len(setting('accountEligiblePaymentMethods'))) {
variables.saveablePaymentMethodsSmartList.addInFilter('paymentMethodID', setting('accountEligiblePaymentMethods'));
}
}
return variables.saveablePaymentMethodsSmartList;
}
У меня уже есть грамматика, анализирующую функцию декларации, но мне нужно новое правило, которое может связать комментарии DOCTYPE с функцией декларации и дать имя функции как отдельный знак, если есть доктайп комментарий, связанный с ним.
грамматика выглядит следующим образом:
functionDeclaration
: accessType? typeSpec? FUNCTION identifier
LEFTPAREN parameterList? RIGHTPAREN
functionAttribute* body=compoundStatement
;
Beacuse I хочу показать код, который я разбираю. Вы можете помочь мне с грамматиком? –
Точка зрения Ира, 'public any function' is not ColdFusion –
@JamesAMohler - это * функция CF (в cfscript) ;-). Конечно, это звучит, как вопрос в конечном счете о синтаксисе Java. – Leigh