Result (Expression @NotNull [] params, final ExpressionContext context) { PsiElement place = context.getPsiElementAtStartOffset(); while(place != null){ if (place instanceof PsiMethod){ List<Result> result = new ArrayList<>(); Project project = place.getProject(); for (PsiParameter parameter : ((PsiMethod)place).getParameterList().getParameters()) { result.add(new PsiTypeResult(parameter.getType(), project)); } return new ListResult(result); } place = place.getParent(); } return null; }