metric.xml で定義されたクエリに基づいて、クラスが宣言するメソッドの数を把握しようとします。
MATCH
(t:Type:File)-[:DECLARES]->(m:Method)
WHERE
t.fqn=~'.*MyException'
RETURN
t.fqn as Type, COUNT(m) as MethodCount
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 に応じて、いくつかの継承されたメソッドもカウントされるようです。そして、継承されたメソッドなしでクラス自体によって宣言されたメソッドの「実際の」数を取得するにはどうすればよいですか?