На основе запроса, определенного в metric.xml, я пытаюсь выяснить, сколько методов объявляет класс:
MATCH
(t:Type:File)-[:DECLARES]->(m:Method)
WHERE
t.fqn=~'.*MyException'
RETURN
t.fqn as Type, COUNT(m) as MethodCount
It's 41.
Я меняю запрос на
MATCH
(t:Class:File)-[:DECLARES]->(m:Method)
WHERE
t.fqn=~'.*MyException'
RETURN
t.fqn as Type, COUNT(m) as MethodCount
и я получаю 25 за тот же класс. Разве это не должно быть таким же результатом? Если я открою класс и посчитаю вручную, я найду только 23. Так что же это значит, если класс или тип «объявляют» метод? Похоже, что некоторые унаследованные методы также учитываются в зависимости от :Type или :Class. И как мне получить "реальное" количество методов, объявленных самим классом, без унаследованных методов?