public static CompletionSearchResult completionSearch(DeeParserResult parseResult, int offset,
IModuleResolver mr) {
assertTrue(isInRange(0, offset, parseResult.source.length()));
TokenAtOffsetResult tokenAtOffsetResult = parseResult.findTokenAtOffset(offset);
IToken tokenAtOffsetLeft = tokenAtOffsetResult.atLeft;
IToken tokenAtOffsetRight = tokenAtOffsetResult.atRight;
if(tokenAtOffsetResult.isSingleToken()
&& isInsideRange(tokenAtOffsetLeft.getStartPos(), offset, tokenAtOffsetLeft.getEndPos())
&& canCompleteInsideToken(tokenAtOffsetLeft)
) {
return new CompletionSearchResult(ECompletionResultStatus.INVALID_TOKEN_LOCATION);
}