List of usage examples for org.eclipse.jdt.internal.core.hierarchy HierarchyResolver setFocusType
public ReferenceBinding setFocusType(char[][] compoundName)
From source file:org.eclipse.ajdt.internal.core.search.ExtraITDFinder.java
License:Open Source License
private List<IntertypeElement> findRelevantITDs(SearchPattern pattern, HierarchyResolver resolver, AJCompilationUnit unit) throws JavaModelException { List<IntertypeElement> allItds = getAllItds(unit); if (allItds.size() == 0) { return Collections.emptyList(); }//from w ww . j a v a2 s . c om // find target type char[] targetTypeName = null; if (pattern instanceof FieldPattern) { targetTypeName = TargetTypeUtils.getName(TargetTypeUtils.getQualName((FieldPattern) pattern), TargetTypeUtils.getSimpleName((FieldPattern) pattern)); } else if (pattern instanceof MethodPattern) { targetTypeName = TargetTypeUtils.getName(((MethodPattern) pattern).declaringQualification, ((MethodPattern) pattern).declaringSimpleName); } // if target type is not known, then this means that a target // type is not specified and therefore do not remove any // potential matches. if (targetTypeName != null && targetTypeName.length > 0) { if (resolver != null) { resolver.setFocusType(CharOperation.splitOn('.', targetTypeName)); } for (Iterator<IntertypeElement> itdIter = allItds.iterator(); itdIter.hasNext();) { IntertypeElement itd = itdIter.next(); if (!isSubtypeOfSearchPattern(targetTypeName, itd, resolver)) { itdIter.remove(); } } } return allItds; }