if (expression instanceof GrParenthesizedExpression && !expressions.contains(((GrParenthesizedExpression)expression).getOperand())) {
expressions.add(((GrParenthesizedExpression)expression).getOperand());
}
- if (expression.getParent() instanceof GrReferenceExpression
- && expression instanceof GrReferenceExpression
- && ((GrReferenceExpression)expression).resolve() instanceof PsiClass) continue;
if (expressionIsIncorrect(expression, acceptVoidCalls)) continue;
expressions.add(expression);
final PsiElement resolved = resolveResult.getElement();
return resolved instanceof PsiMethod && !resolveResult.isInvokedOnProperty() || resolved instanceof PsiClass;
}
-
+ if (expression instanceof GrReferenceExpression && expression.getParent() instanceof GrReferenceExpression) {
+ return !PsiUtil.isThisReference(expression) && ((GrReferenceExpression)expression).resolve() instanceof PsiClass;
+ }
if (expression instanceof GrClosableBlock && expression.getParent() instanceof GrStringInjection) return true;
if (!acceptVoidCalls && expression instanceof GrMethodCall && PsiType.VOID.equals(expression.getType())) return true;
if (expressions.isEmpty()) {
updateSelectionForVariable(editor, file, selectionModel, offset);
}
- else if (expressions.size() == 1) {
+ else if (expressions.size() == 1 || ApplicationManager.getApplication().isUnitTestMode()) {
final TextRange textRange = expressions.get(0).getTextRange();
selectionModel.setSelection(textRange.getStartOffset(), textRange.getEndOffset());
}