void (@NotNull PyCallExpression call, @NotNull PyFunction function) { if (call.getArguments().length == 0) return; final var firstArgument = call.getArguments()[0]; final var annotation = function.getAnnotationValue(); if (annotation == null) return; if (firstArgument instanceof PyReferenceExpression referenceExpression) { pushAssertion(referenceExpression, myPositive, false, (context) -> { var returnType = PyTypingTypeProvider.getReturnTypeAnnotation(function, context); if (returnType instanceof PyStringLiteralExpression stringLiteralExpression) { returnType = PyUtil.createExpressionFromFragment(stringLiteralExpression.getStringValue(), function.getContainingFile()); } if (returnType instanceof PySubscriptionExpression subscriptionExpression) { var indexExpression = subscriptionExpression.getIndexExpression(); if (indexExpression != null) { return Ref.deref(PyTypingTypeProvider.getType(indexExpression, context)); } } return null; }, null); } }