AnnotationContext (@NotNull UExpression expression) { UBinaryExpression parent = ObjectUtils.tryCast(expression.getUastParent(), UBinaryExpression.class); PsiMethod method = parent != null ? parent.resolveOperator() : null; if (method == null) return EMPTY; PsiParameter[] parameters = method.getParameterList().getParameters(); if (parameters.length != 2) return EMPTY; PsiParameter parameter = UastUtils.isPsiAncestor(expression, parent.getRightOperand()) ? parameters[1] : parameters[0]; if (parameter == null) return EMPTY; PsiType parameterType = parameter.getType(); return fromModifierListOwner(parameter).withType(parameterType); }