private static boolean isInsideCall(KtExpression expression) { KtElement parent = KtPsiUtil.getParentCallIfPresent(expression); if (parent instanceof KtBinaryExpression) { KtToken token = KtPsiUtil.getOperationToken((KtOperationExpression) parent); if (token == KtTokens.EQ || token == KtTokens.ANDAND || token == KtTokens.OROR) { // assignment return false; } } if (parent != null) { // UGLY HACK // check there is no casts PsiElement current = expression; while (current != parent) { if (current instanceof KtBinaryExpressionWithTypeRHS) { return false; } current = current.getParent(); } } return parent != null; }