// if no suffixes, only one id
if (ids.length < 1) {
ids = new String[] { fullName };
}
final ISymbolContextResolver symbolResolver = StructuredDocumentSymbolResolverFactory
.getInstance().getSymbolContextResolver(context);
if (symbolResolver != null) {
ISymbol symbol = symbolResolver.getVariable(ids[0]);
if (symbol instanceof IInstanceSymbol
&& ((IInstanceSymbol) symbol).isTypeResolved()) {
for (int curSuffixIdx = 1; curSuffixIdx < ids.length; curSuffixIdx++) {
if (isLastSuffix && curSuffixIdx == ids.length - 1
&& isMethodBindingExpected(context)) {
/*
* TODO Take into acount required method signature,
* since there may be different methods with the same
* name
*/
return symbolResolver.getMethod((IObjectSymbol) symbol,
ids[curSuffixIdx]);
}
final ISymbol property = symbolResolver.getProperty(symbol,
ids[curSuffixIdx]);
if (property == null) {
return null;
}