public override void VisitReturn([NotNull] IReturnOperation operation) { if (scopeDepth == 0 && operation.ReturnedValue != null && !ReturnsConstant(operation.ReturnedValue) && MethodSignatureTypeIsEnumerable(operation.ReturnedValue)) { ITypeSymbol returnValueType = operation.ReturnedValue.SkipTypeConversions().Type; if (sequenceTypeInfo.IsQueryable(returnValueType)) { ReportDiagnosticAt(operation, QueryableOperationName, context); } else if (sequenceTypeInfo.IsNonQueryableSequenceType(returnValueType)) { ReturnStatements.Add(operation); } // ReSharper disable once RedundantIfElseBlock else { // No action required. } } base.VisitReturn(operation); }