protected void reportMatching(ModuleDeclaration module, IJavaElement parent, int accuracy, MatchingNodeSet nodeSet, int occurrenceCount) throws CoreException {
IModuleDescription moduleDesc = null;
Openable openable = this.currentPossibleMatch.openable;
if (openable instanceof ITypeRoot) {
ITypeRoot typeRoot = (ITypeRoot) openable;
try {
moduleDesc = typeRoot.getModule();
} catch (JavaModelException e) {
}
}
if (moduleDesc == null)
return;
reportMatching(module.annotations, moduleDesc, null, module.binding, nodeSet, true, true);
if (accuracy > -1) {
SearchMatch match = this.patternLocator.newDeclarationMatch(module, moduleDesc, module.binding, accuracy, module.moduleName.length, this);
report(match);
}
reportMatching(module.requires, module, nodeSet, moduleDesc);
reportMatching(module.exports, nodeSet, moduleDesc);
reportMatching(module.opens, nodeSet, moduleDesc);
reportMatching(module.services, module, nodeSet, moduleDesc);
reportMatching(module.uses, module, nodeSet, moduleDesc);
}