}
}
if ((matches == null)
&& (fMarkMethodExitPoints || fMarkTypeOccurrences)) {
MethodExitsFinder finder = new MethodExitsFinder();
String message = finder.initialize(astRoot, selectedNode);
if (message == null) {
matches = finder.getOccurrences();
if (!fMarkMethodExitPoints && matches != null)
matches = null;
}
}
if ((matches == null)
&& (fMarkBreakContinueTargets || fMarkTypeOccurrences)) {
BreakContinueTargetFinder finder = new BreakContinueTargetFinder();
String message = finder.initialize(astRoot, selectedNode);
if (message == null) {
matches = finder.getOccurrences();
if (!fMarkBreakContinueTargets && matches != null)
matches = null;
}
}
if ((matches == null) && (fMarkImplementors || fMarkTypeOccurrences)) {
ImplementOccurrencesFinder finder = new ImplementOccurrencesFinder();
String message = finder.initialize(astRoot, selectedNode);
if (message == null) {
matches = finder.getOccurrences();
if (!fMarkImplementors && matches != null)
matches = null;
}
}
if (matches == null) {
IBinding binding = null;
if (selectedNode instanceof Name)
binding = ((Name) selectedNode).resolveBinding();
if (binding != null && markOccurrencesOfType(binding)) {
// Find the matches && extract positions so we can forget the
// AST
OccurrencesFinder finder = new OccurrencesFinder();
String message = finder.initialize(astRoot, selectedNode);
if (message == null)
matches = finder.getOccurrences();
}
}
if (matches == null || matches.length == 0) {
if (!fStickyOccurrenceAnnotations)