![]() |
#1 |
Участник
|
Поиск в АОT на предмет использования метода с непустым аргументом
Собственно есть некий парм метод. Он используется примерно в 150 местах системы. Работает как и полагается парму на возврат и изменения значений. Нужно найти именно те места, где он работает на изменение. Использую поиск по узлам с критерием Containing text: имя_метода(/.+/), предполагая, что "/.+/" регулярное выражение, описывающее непустую строку. Точно знаю, что есть вызовы этого метода с параметрами, но система ничего не находит, стало быть использовал неправильное регулярное выражение. Кто подскажет корректное?
__________________
Axapta has seduced me deadly! ![]() |
|
|
За это сообщение автора поблагодарили: miklenew (5). |
![]() |
#2 |
Участник
|
?!?
Используйте перекрестные ссылки, чтобы найти эти места http://axapta.mazzy.ru/lib/xref/ далее просто просмотрите руками. Или напишите job, который ищет при помощи DictMethod в методе. Но уверяю вас, вручную в перекрестных ссылках вы найдете гораздо быстрее, чем будете писать Job. Вот например все parm*-методы из ax3.0, упорядоченные по убыванию числа использований: в ax3.0 всего 25 parm-методов, которые используются больше 40 раз и 5028 parm-методов, которые используются меньше 40 раз. из них 1461 метод, который используются всего один раз. Перекрестные ссылки - мощь и сила! |
|
![]() |
#3 |
Участник
|
Я говорю не о стандартных парм-методах. Я говорю скорее о кастомном методе-свойстве. Вот он, например, используется в 150 местах, а параметр принимает только в 3х например, я запарюсь искать в перекрестных.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#4 |
Участник
|
тогда парьтесь с регулярными выражениями, парьтесь, создавая job, который использует DictMethod среди 150 найденных перекрестных ссылок...
|
|
![]() |
#5 |
Участник
|
Не доконца понял, что нужно.
Может это поможет. Доработка к перекрёстным ссылок Перекрёстные ссылки должны быть свежими иначе может появиться надпись сдвиг. А так там в вашем случае насколько я понял будет либо пусто(0 параметров) либо 1(1 параметр передаёться).
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
|
За это сообщение автора поблагодарили: HorrR (1). |
![]() |
#6 |
Боец
|
Для более точного поиска по элементам АОТ, применяя абсолютно любые критерии можно воспользоваться закладкой Filter в окне поиска по AOT (Ctrl+F):
, где [1] - закладка Filter ![]() [2] - тело X++ метода. На входе метода параметры [3]. На выходе - true\false. Короче говоря, можно написать абсолютно любой критерий, тут доступна вся мощь АОТ. На рисунке текст метода для вашего случая, искал метод parmBuffer для записи. |
|
|
За это сообщение автора поблагодарили: mazzy (5), AlGol (1), Logger (8), miklenew (5), r2d2 (1). |
![]() |
#7 |
Участник
|
Чё то никак не пойму как работает это конструкция со слэшами?
Кручу верчу, но смысла так и не понял. X++: static void Job6(Args _args) { str _treenodesource = " parmbuffer(true, true) "; ; if(match("parmbuffer\\(.+\\)", _treenodesource)) info("true"); else info("false"); }
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
![]() |
#8 |
Боец
|
Цитата:
Здесь описание ф-ции match http://msdn.microsoft.com/en-us/library/aa886279.aspx Но подозреваю, что у функции более богатый синтаксис, чем написано в MSDN (про скобки там почему-то не написано) |
|
![]() |
#9 |
Участник
|
Почему?
Если написать так X++: if(match("parmbuffer(true, true)", _treenodesource)) А причём здесь точка и плюс?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
![]() |
#10 |
Боец
|
1. Ф-я может вызываться с разным набором аргументов (по составу и содержанию). Как в таком случае искать будете?
2. регулярные выражения |
|
![]() |
#11 |
Участник
|
Теперь понял как это работает.
Правда так и не понял, где ".+" откапали. Ну да ладно.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
![]() |
#12 |
Участник
|
Даже если сделать поиск по имя_метода(, то можно же посмотреть текст строки, где этот метод вызывается, не залезая в код. Там видно будет, что он с параметрами или без... А вообще перекрестные ссылки рулят!
__________________
// no comments |
|
Теги |
aot, метод, поиск |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|