Result (Expression @NotNull [] params, ExpressionContext context) { if (params.length == 1) { Result result = params[0].calculateResult(context); if (result != null) { PsiExpression expression = MacroUtil.resultToPsiExpression(result, context); if (expression != null) { PsiType type = expression.getType(); if (type != null) { return new PsiTypeResult(type, context.getProject()); } } } } return null; }