Esempio n. 1
0
  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;
  }