Binder\Binder_Conversions.cs (25)
367ReportUseSite(conversion.Method, diagnostics, syntax.Location);
608.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(Compilation, Conversions, includeNullability: false, syntax.Location, diagnostics));
1610ReportUseSite(collectionBuilderMethod, diagnostics, syntax.Location);
1618Compilation, Conversions, includeNullability: false, syntax.Location, diagnostics));
1660diagnostics.Add(ErrorCode.ERR_NoNewAbstract, syntax.Location, namedType);
1708syntax.Location,
1750ReportConstructorUseSiteDiagnostics(node.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
1781ReportConstructorUseSiteDiagnostics(typeNode.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
2452source.Syntax.Location,
2723diagnostics.Add(ErrorCode.ERR_NoNewAbstract, syntax.Location, analysis.Operator.ContainingType);
2904typeAndSyntax.Syntax.Location,
2920syntax.Location,
3008lambdaParameter.TryGetFirstLocation() ?? lambdaSymbol.SyntaxNode.Location);
3026ReportUnsafeIfNotAllowed(syntax.Location, diagnostics, disallowedUnder: MemorySafetyRules.Legacy);
3266return !methodSymbol.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, node.Location, diagnostics));
3319diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, receiverOpt.Type, memberSymbol.Name);
3324diagnostics.Add(ErrorCode.ERR_ObjectRequired, node.Location, memberSymbol);
3333diagnostics.Add(ErrorCode.ERR_InitializerAddHasWrongSignature, node.Location, memberSymbol);
3338diagnostics.Add(ErrorCode.ERR_BadAwaitArg, node.Location, receiverOpt.Type);
3342diagnostics.Add(ErrorCode.ERR_ObjectProhibited, node.Location, memberSymbol);
3349diagnostics.Add(ErrorCode.ERR_ObjectRequired, node.Location, memberSymbol);
3363diagnostics.Add(code, errorNode.Location, memberSymbol);
3645if (!MethodIsCompatibleWithDelegateOrFunctionPointer(receiverOpt, isExtensionMethod, selectedMethod, delegateOrFuncPtrType, syntax.Location, diagnostics) ||
3655Error(diagnostics, ErrorCode.ERR_DelegateOnConditional, syntax.Location, selectedMethod);
3663Error(diagnostics, ErrorCode.ERR_PartialMethodToDelegate, syntax.Location, selectedMethod);
Binder\Binder_Expressions.cs (39)
360diagnostics.Add(op.NoCommonTypeError, op.Syntax.Location, trueArg, falseArg);
495diagnostics.Add(ErrorCode.WRN_CapturedPrimaryConstructorParameterInFieldInitializer, syntax.Location, parameter);
2865diagnostics.Add(ErrorCode.ERR_ConvertToStaticClass, syntax.Location, targetType);
2871diagnostics.Add(ErrorCode.ERR_ValueCantBeNull, syntax.Location, targetType);
2882diagnostics.Add(ErrorCode.ERR_AmbigUDConv, syntax.Location, originalUserDefinedConversions[0], originalUserDefinedConversions[1], operand.Display, targetType);
2889diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, distinguisher1.First, distinguisher1.Second);
2900!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _))
2902diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
2957diagnostics.Add(errorCode, syntax.Location, ((BoundUnconvertedAddressOfOperator)operand).Operand.Name, targetType);
2964diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, distinguisher.First, distinguisher.Second);
3779diagnostics.Add(ErrorCode.ERR_InterpolatedStringHandlerArgumentAttributeMalformed, unconvertedString.Syntax.Location, correspondingParameter, handlerType);
3889unconvertedString.Syntax.Location,
3908arguments[argumentIndex].Syntax.Location,
5141diagnostics.Add(ErrorCode.WRN_CapturedPrimaryConstructorParameterPassedToBase, syntax.Location, parameter);
5524diagnostics.Add(ErrorCode.ERR_BadCtorArgCount, node.Location, type, 0);
5606hasErrors = MethodGroupConversionDoesNotExistOrHasErrors(methodGroup, type, node.Location, diagnostics, out conversion);
5613diagnostics.Add(ErrorCode.ERR_MethodNameExpected, argument.Syntax.Location);
5648diagnostics.Add(ErrorCode.ERR_MethDelegateMismatch, node.Location,
5674diagnostics.Add(ErrorCode.ERR_MethodNameExpected, argument.Syntax.Location);
5733diagnostics.Add(ErrorCode.ERR_InstantiatingStaticClass, node.Location, type);
6142diagnostics.Add(ErrorCode.ERR_InterpolatedStringsReferencingInstanceCannotBeInObjectInitializers, argument.Syntax.Location);
6374diagnostics.Add(ErrorCode.ERR_RequiredMembersMustBeAssignedValue, initializerExpression.Syntax.Location, requiredMember);
6394_ => creationSyntax.Location
6858diagnostics.Add(ErrorCode.ERR_NoNewAbstract, node.Location, type);
6917typeNode.Location,
6954ReportConstructorUseSiteDiagnostics(typeNode.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
7039ReportConstructorUseSiteDiagnostics(typeNode.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
7123diagnostics.Add(ErrorCode.ERR_NoNewAbstract, node.Location, type);
7235diagnostics.Add(ErrorCode.ERR_BadCtorArgCount, typeNode.Location, interfaceType, analyzedArguments.Arguments.Count);
7264diagnostics.Add(ErrorCode.ERR_NoNewTyvar, node.Location, typeParameter);
7279diagnostics.Add(ErrorCode.ERR_NewTyvarWithArgs, node.Location, typeParameter);
8441diagnostics.Add(new CSDiagnostic(lookupError, name.Location));
9101diagnostics.Add(errorInfo, expression.Location);
9105propertyResult.ReportDiagnostics(binder, expression.Location, expression, diagnostics, memberName, left, left.Syntax, actualReceiverArguments, symbols,
9225diagnostics.Add(ErrorCode.ERR_RuntimeDoesNotSupportRefFields, node.Location);
9917diagnostics.Add(errorOpt ?? new CSDiagnosticInfo(ErrorCode.ERR_BadIndexLHS, expr.Display), node.Location);
10464location: syntax.Location,
11560var location = syntax.Location;
11751diagnostics.Add(new CSDiagnostic(diagnosticInfo, access.Syntax.Location));
Binder\Binder_InterpolatedString.cs (6)
112diagnostics.Add(ErrorCode.WRN_AlignmentMagnitude, alignment.Syntax.Location, alignmentConstant.Int32Value, magnitudeLimit);
804diagnostics.Add(ErrorCode.ERR_InterpolatedStringHandlerCreationCannotUseDynamic, syntax.Location, interpolatedStringHandlerType.Name);
939parameterNamesAndLocationsBuilder.Add(("alignment", insert.Alignment.Syntax.Location));
945parameterNamesAndLocationsBuilder.Add(("format", insert.Format.Syntax.Location));
989diagnostics.Add(ErrorCode.ERR_InterpolatedStringHandlerMethodReturnMalformed, part.Syntax.Location, method);
999diagnostics.Add(ErrorCode.ERR_InterpolatedStringHandlerMethodReturnInconsistent, part.Syntax.Location, method, expected);
Binder\Binder_Invocation.cs (8)
173node.Location,
387diagnostics.Add(new CSDiagnosticInfo(ErrorCode.ERR_MethodNameExpected), expression.Location);
1038(typeArgumentsOpt.IsDefault || ((MethodSymbol)(object)result.Member).CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, syntax.Location, candidateDiagnostics))))
1449diagnostics.Add(ErrorCode.ERR_BadAttributeParamDefaultArgument, syntax.Location, parameter.Name);
1678diagnostics.Add(ErrorCode.ERR_BadAttributeArgument, syntax.Location);
1742diagnostics.Add(ErrorCode.ERR_NotNullRefDefaultParameter, syntax.Location, parameter.Name, parameterType);
2448diagnostics.Add(ErrorCode.ERR_NameofExtensionMethod, methodGroup.Syntax.Location);
2555node.Location,
Binder\Binder_Patterns.cs (15)
254diagnostics.Add(ErrorCode.ERR_IsPatternImpossible, node.Location, expression.Type);
272diagnostics.Add(ErrorCode.WRN_IsPatternAlways, node.Location, expression.Type);
293diagnostics.Add(ErrorCode.WRN_GivenExpressionNeverMatchesPattern, node.Location);
301diagnostics.Add(ErrorCode.WRN_GivenExpressionAlwaysMatchesConstant, node.Location);
309diagnostics.Add(ErrorCode.WRN_GivenExpressionAlwaysMatchesPattern, node.Location);
665diagnostics.Add(ErrorCode.ERR_CannotMatchOnINumberBase, node.Location, inputType);
871diagnostics.Add(ErrorCode.ERR_ValueCantBeNull, expression.Syntax.Location, inputType);
881diagnostics.Add(ErrorCode.ERR_PatternWrongType, expression.Syntax.Location, inputType, expression.Display);
893expression.Syntax.Location, inputType, expression.Display, new CSharpRequiredLanguageVersion(requiredVersion));
912if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
931diagnostics.Add(ErrorCode.ERR_PatternSpanCharCannotBeStringNull, convertedExpression.Syntax.Location, inputType);
1001diagnostics.Add(ErrorCode.ERR_PatternWrongType, expression.Syntax.Location, caseType, expression.Display);
1011diagnostics.Add(ErrorCode.ERR_UnionMatchingWrongPattern, expression.Syntax.Location, unionType);
1042diagnostics.Add(ErrorCode.ERR_PointerTypeInPatternMatching, typeSyntax.Location);
1685diagnostics.Add(ErrorCode.ERR_TupleElementNameMismatch, node.Location, name, $"Item{tupleIndex + 1}");
Binder\Binder_Query.cs (8)
815node.Location
823new AnonymousTypeField(fieldName, fieldValue.Syntax.Location, TypeWithAnnotations.Create(TypeOrError(fieldValue)), RefKind.None, ScopedKind.None);
944diagnostics.Add(ErrorCode.ERR_NullNotValid, node.Location);
948diagnostics.Add(ErrorCode.ERR_DefaultLiteralNotValid, node.Location);
952diagnostics.Add(ErrorCode.ERR_ImplicitObjectCreationNotValid, node.Location);
956diagnostics.Add(ErrorCode.ERR_BadSKunknown, ultimateReceiver.Syntax.Location, ((BoundNamespaceExpression)ultimateReceiver).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize());
961diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, MessageID.IDS_AnonMethod.Localize(), methodName);
983diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, "void", methodName);
Binder\Binder_Statements.cs (7)
1315if (CheckManagedAddr(Compilation, elementType, initializerSyntax.Location, diagnostics))
1347additionalDiagnostics.Add(ErrorCode.WRN_PatternBadSignature, initializer.Syntax.Location, initializer.Type, "fixed", patternMethodSymbol);
1473diagnostics.Add(ErrorCode.ERR_VoidAssignment, op1.Syntax.Location);
2041_ => node.Location,
2270diagnostics.Add(ErrorCode.ERR_InternalError, syntax.Location);
2503var location = nodeForError.Location;
3480return node.Location;
Binder\Binder_Symbols.cs (13)
1343diagnostics.Add(diagnosticInfo, node.Location);
1645type.CheckConstraintsForNamedType(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability, typeSyntax.Location, diagnostics),
1760diagnostics.Add(ErrorCode.ERR_MissingPredefinedMember, syntax.Location, descriptor.DeclaringTypeMetadataName, descriptor.Name);
1834return GetWellKnownType(type, diagnostics, node.Location);
1852return GetWellKnownType(compilation, type, diagnostics, node.Location);
2076diagnostics.Add(ErrorCode.WRN_SameFullNameThisNsAgg, where.Location, originalSymbols,
2087diagnostics.Add(ErrorCode.WRN_SameFullNameThisAggNs, where.Location, originalSymbols,
2098diagnostics.Add(ErrorCode.WRN_SameFullNameThisAggAgg, where.Location, originalSymbols,
2318diagnostics.Add(info, where.Location);
2339diagnostics.Add(errorInfo, where.Location);
2372diagnostics.Add(errorInfo, where.Location);
2420diagnostics.Add(new CSDiagnostic(result.Error, where.Location));
2632var location = where.Location;
Binder\ForEachLoopBinder.cs (20)
244messageId.CheckFeatureAvailability(diagnostics, Compilation, collectionExpr.Syntax.Location);
823diagnostics.Add(errorCode, collectionSyntax.Location,
948diagnostics.Add(ErrorCode.ERR_NullNotValid, collectionExpr.Syntax.Location);
953diagnostics.Add(ErrorCode.ERR_AnonMethGrpInForEach, collectionSyntax.Location, collectionExpr.Display);
970diagnostics.Add(ErrorCode.ERR_BadDynamicAwaitForEach, collectionSyntax.Location);
994diagnostics.Add(ErrorCode.ERR_ForEachMissingMember, collectionSyntax.Location, unwrappedCollectionExprType, WellKnownMemberNames.GetEnumeratorMethodName);
1001diagnostics.Add(ErrorCode.ERR_AwaitForEachMissingMember, collectionSyntax.Location, unwrappedCollectionExprType, WellKnownMemberNames.GetAsyncEnumeratorMethodName);
1065diagnostics.Add(isAsync ? ErrorCode.ERR_BadGetAsyncEnumerator : ErrorCode.ERR_BadGetEnumerator, collectionSyntax.Location, getEnumeratorMethod.ReturnType, getEnumeratorMethod);
1081diagnostics.Add(isAsync ? ErrorCode.ERR_MultipleIAsyncEnumOfT : ErrorCode.ERR_MultipleIEnumOfT, errorLocationSyntax.Location, unwrappedCollectionExprType,
1108diagnostics, errorLocationSyntax.Location, isOptional: false);
1116diagnostics.Add(ErrorCode.ERR_AwaitForEachMissingMember, collectionSyntax.Location, unwrappedCollectionExprType, WellKnownMemberNames.GetAsyncEnumeratorMethodName);
1146diagnostics, errorLocationSyntax.Location, isOptional: false);
1153currentPropertyGetter = (MethodSymbol)GetWellKnownTypeMember(Compilation, WellKnownMember.System_Collections_Generic_IAsyncEnumerator_T__get_Current, diagnostics, errorLocationSyntax.Location, isOptional: false);
1466diagnostics.Add(ErrorCode.WRN_PatternNotPublicOrNotInstance, collectionSyntax.Location, patternType, patternName.Localize(), result);
1502diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1600diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1607location: collectionSyntax.Location,
1759diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1931diagnostics.Add(lookupResult.Error, collectionSyntax.Location);
1937diagnostics.Add(ErrorCode.ERR_NoSuchMember, collectionSyntax.Location, patternType, memberName);
FlowAnalysis\DefiniteAssignment.cs (12)
1195Diagnostics.Add(ErrorCode.ERR_UseDefViolationOut, node.Location, symbolName);
1200Diagnostics.Add(ErrorCode.ERR_UseDefViolation, node.Location, symbolName);
1248Diagnostics.Add(ErrorCode.WRN_UseDefViolationThisSupportedVersion, node.Location);
1254node.Location,
1266Diagnostics.Add(hasAssociatedProperty ? ErrorCode.ERR_UseDefViolationProperty : ErrorCode.ERR_UseDefViolationField, node.Location, symbolName);
1276Diagnostics.Add(hasAssociatedProperty ? ErrorCode.ERR_UseDefViolationProperty : ErrorCode.ERR_UseDefViolationField, node.Location, symbolName);
1294node.Location,
1302node.Location,
1309node.Location,
1577LeaveParameter(param, node.Syntax, paramExpr.Syntax.Location);
2514_unsafeAddressTakenVariables.Add(variable, node.Syntax.Location);
2669_unsafeAddressTakenVariables.Add(receiver, node.Syntax.Location);
FlowAnalysis\NullableWalker.cs (8)
1361Diagnostics.Add(ErrorCode.WRN_ParameterConditionallyDisallowsNull, syntax.Location, parameter.Name, sense ? "true" : "false");
8249ReportDiagnostic(ErrorCode.WRN_DisallowNullAttributeForbidsMaybeNullAssignment, node.Location);
8919Diagnostics.Add(pair.UseSiteInfo.DiagnosticInfo, syntax.Location);
8949Diagnostics.Add(pair.UseSiteInfo.DiagnosticInfo, syntax.Location);
9368var locations = tupleOpt.TupleElements.SelectAsArray((element, location) => element.TryGetFirstLocation() ?? location, node.Syntax.Location);
9372tupleOpt.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(compilation, _conversions, includeNullability: true, node.Syntax.Location, diagnostics: null),
10893ReportNullabilityMismatchWithTargetDelegate(group.Syntax.Location, delegateType, delegateInvokeMethod, method, node.IsExtensionMethod);
10965ReportNullabilityMismatchWithTargetDelegate(arg.Syntax.Location, delegateType, delegateInvokeMethod, argInvokeMethod, invokedAsExtensionMethod: false);
Symbols\Tuples\TupleTypeSymbol.cs (3)
65constructedType.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(compilation, compilation.Conversions, includeNullability, syntax.Location, diagnostics),
299diagnostics.Add(ErrorCode.WRN_TupleLiteralNameMismatch, literal.Arguments[i].Syntax.Parent!.Location, sourceName, destination);
503diagnostics.Add(useSiteInfo, static syntax => syntax?.Location ?? Location.None, syntax);