* @see org.eclipse.php.core.codeassist.ICompletionStrategy#apply(org.eclipse.php.internal.core.codeassist.ICompletionReporter)
*/
@Override
public void apply(ICompletionReporter reporter) throws Exception {
SuperclassMethodContext context = (SuperclassMethodContext) getContext();
ISourceModule module = context.getSourceModule();
IModelElement element = module.getElementAt(context.getOffset());
if (!(element instanceof SourceType)) {
while(element.getParent() != null) {
element = element.getParent();
if (element instanceof SourceType) {
break;
}
}
}
if (element == null || !(element instanceof SourceType)) {
return;
}
IDLTKSearchScope scope = SearchEngine.createSearchScope(module.getScriptProject());
SourceType type = (SourceType) element;
SourceRange range = getReplacementRange(context);
String prefix = context.getPrefix();
IType[] projectTypes = PhpModelAccess.getDefault().findTypes(type.getElementName(), MatchRule.EXACT, 0, 0, scope, null);
if (projectTypes.length != 1) {
return;