Binder\Binder_Conversions.cs (24)
307ReportUseSite(conversion.Method, diagnostics, syntax.Location);
539.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(Compilation, Conversions, includeNullability: false, syntax.Location, diagnostics));
1059ReportUseSite(collectionBuilderMethod, diagnostics, syntax.Location);
1067new ConstraintsHelper.CheckConstraintsArgs(Compilation, Conversions, syntax.Location, diagnostics));
1123diagnostics.Add(ErrorCode.ERR_NoNewAbstract, syntax.Location, namedType);
1140syntax.Location,
1182ReportConstructorUseSiteDiagnostics(node.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
1212ReportConstructorUseSiteDiagnostics(typeNode.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
1969source.Syntax.Location,
2306typeAndSyntax.Syntax.Location,
2322syntax.Location,
2410lambdaParameter.TryGetFirstLocation() ?? lambdaSymbol.SyntaxNode.Location);
2425ReportUnsafeIfNotAllowed(syntax.Location, diagnostics);
2646return !methodSymbol.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, node.Location, diagnostics));
2699diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, receiverOpt.Type, memberSymbol.Name);
2704diagnostics.Add(ErrorCode.ERR_ObjectRequired, node.Location, memberSymbol);
2713diagnostics.Add(ErrorCode.ERR_InitializerAddHasWrongSignature, node.Location, memberSymbol);
2718diagnostics.Add(ErrorCode.ERR_BadAwaitArg, node.Location, receiverOpt.Type);
2722diagnostics.Add(ErrorCode.ERR_ObjectProhibited, node.Location, memberSymbol);
2729diagnostics.Add(ErrorCode.ERR_ObjectRequired, node.Location, memberSymbol);
2743diagnostics.Add(code, errorNode.Location, memberSymbol);
3025if (!MethodIsCompatibleWithDelegateOrFunctionPointer(receiverOpt, isExtensionMethod, selectedMethod, delegateOrFuncPtrType, syntax.Location, diagnostics) ||
3035Error(diagnostics, ErrorCode.ERR_DelegateOnConditional, syntax.Location, selectedMethod);
3043Error(diagnostics, ErrorCode.ERR_PartialMethodToDelegate, syntax.Location, selectedMethod);
Binder\Binder_Expressions.cs (38)
329diagnostics.Add(op.NoCommonTypeError, op.Syntax.Location, trueArg, falseArg);
463diagnostics.Add(ErrorCode.WRN_CapturedPrimaryConstructorParameterInFieldInitializer, syntax.Location, parameter);
2791diagnostics.Add(ErrorCode.ERR_ConvertToStaticClass, syntax.Location, targetType);
2797diagnostics.Add(ErrorCode.ERR_ValueCantBeNull, syntax.Location, targetType);
2808diagnostics.Add(ErrorCode.ERR_AmbigUDConv, syntax.Location, originalUserDefinedConversions[0], originalUserDefinedConversions[1], operand.Display, targetType);
2815diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, distinguisher1.First, distinguisher1.Second);
2826!MethodGroupConversionDoesNotExistOrHasErrors((BoundMethodGroup)operand, (NamedTypeSymbol)targetType, syntax.Location, diagnostics, out _))
2828diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
2883diagnostics.Add(errorCode, syntax.Location, ((BoundUnconvertedAddressOfOperator)operand).Operand.Name, targetType);
2890diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, distinguisher.First, distinguisher.Second);
3704diagnostics.Add(ErrorCode.ERR_InterpolatedStringHandlerArgumentAttributeMalformed, unconvertedString.Syntax.Location, correspondingParameter, handlerType);
3812unconvertedString.Syntax.Location,
3831arguments[argumentIndex].Syntax.Location,
5062diagnostics.Add(ErrorCode.WRN_CapturedPrimaryConstructorParameterPassedToBase, syntax.Location, parameter);
5363diagnostics.Add(ErrorCode.ERR_BadCtorArgCount, node.Location, type, 0);
5445hasErrors = MethodGroupConversionDoesNotExistOrHasErrors(methodGroup, type, node.Location, diagnostics, out conversion);
5452diagnostics.Add(ErrorCode.ERR_MethodNameExpected, argument.Syntax.Location);
5487diagnostics.Add(ErrorCode.ERR_MethDelegateMismatch, node.Location,
5513diagnostics.Add(ErrorCode.ERR_MethodNameExpected, argument.Syntax.Location);
5572diagnostics.Add(ErrorCode.ERR_InstantiatingStaticClass, node.Location, type);
5981diagnostics.Add(ErrorCode.ERR_InterpolatedStringsReferencingInstanceCannotBeInObjectInitializers, argument.Syntax.Location);
6214diagnostics.Add(ErrorCode.ERR_RequiredMembersMustBeAssignedValue, initializerExpression.Syntax.Location, requiredMember);
6234_ => creationSyntax.Location
6698diagnostics.Add(ErrorCode.ERR_NoNewAbstract, node.Location, type);
6757typeNode.Location,
6794ReportConstructorUseSiteDiagnostics(typeNode.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
6877ReportConstructorUseSiteDiagnostics(typeNode.Location, diagnostics, suppressUnsupportedRequiredMembersError: false, in overloadResolutionUseSiteInfo);
6961diagnostics.Add(ErrorCode.ERR_NoNewAbstract, node.Location, type);
7073diagnostics.Add(ErrorCode.ERR_BadCtorArgCount, typeNode.Location, interfaceType, analyzedArguments.Arguments.Count);
7102diagnostics.Add(ErrorCode.ERR_NoNewTyvar, node.Location, typeParameter);
7117diagnostics.Add(ErrorCode.ERR_NewTyvarWithArgs, node.Location, typeParameter);
8210diagnostics.Add(new CSDiagnostic(lookupError, name.Location));
8840diagnostics.Add(errorInfo, expression.Location);
8954diagnostics.Add(ErrorCode.ERR_RuntimeDoesNotSupportRefFields, node.Location);
9607diagnostics.Add(errorOpt ?? new CSDiagnosticInfo(ErrorCode.ERR_BadIndexLHS, expr.Display), node.Location);
10154location: syntax.Location,
11247var location = syntax.Location;
11435diagnostics.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)
172node.Location,
380diagnostics.Add(new CSDiagnosticInfo(ErrorCode.ERR_MethodNameExpected), expression.Location);
1015(typeArgumentsOpt.IsDefault || ((MethodSymbol)(object)result.Member).CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, syntax.Location, candidateDiagnostics))))
1442diagnostics.Add(ErrorCode.ERR_BadAttributeParamDefaultArgument, syntax.Location, parameter.Name);
1668diagnostics.Add(ErrorCode.ERR_BadAttributeArgument, syntax.Location);
1733diagnostics.Add(ErrorCode.ERR_NotNullRefDefaultParameter, syntax.Location, parameter.Name, parameterType);
2363diagnostics.Add(ErrorCode.ERR_NameofExtensionMethod, methodGroup.Syntax.Location);
2470node.Location,
Binder\Binder_Patterns.cs (13)
67diagnostics.Add(ErrorCode.ERR_IsPatternImpossible, node.Location, expression.Type);
84diagnostics.Add(ErrorCode.WRN_IsPatternAlways, node.Location, expression.Type);
104diagnostics.Add(ErrorCode.WRN_GivenExpressionNeverMatchesPattern, node.Location);
111diagnostics.Add(ErrorCode.WRN_GivenExpressionAlwaysMatchesConstant, node.Location);
118diagnostics.Add(ErrorCode.WRN_GivenExpressionAlwaysMatchesPattern, node.Location);
437diagnostics.Add(ErrorCode.ERR_CannotMatchOnINumberBase, node.Location, inputType);
614diagnostics.Add(ErrorCode.ERR_ValueCantBeNull, expression.Syntax.Location, inputType);
624diagnostics.Add(ErrorCode.ERR_PatternWrongType, expression.Syntax.Location, inputType, expression.Display);
636expression.Syntax.Location, inputType, expression.Display, new CSharpRequiredLanguageVersion(requiredVersion));
655if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
674diagnostics.Add(ErrorCode.ERR_PatternSpanCharCannotBeStringNull, convertedExpression.Syntax.Location, inputType);
738diagnostics.Add(ErrorCode.ERR_PointerTypeInPatternMatching, typeSyntax.Location);
1311diagnostics.Add(ErrorCode.ERR_TupleElementNameMismatch, node.Location, name, $"Item{tupleIndex + 1}");
Binder\Binder_Query.cs (8)
810node.Location
818new AnonymousTypeField(fieldName, fieldValue.Syntax.Location, TypeWithAnnotations.Create(TypeOrError(fieldValue)), RefKind.None, ScopedKind.None);
939diagnostics.Add(ErrorCode.ERR_NullNotValid, node.Location);
943diagnostics.Add(ErrorCode.ERR_DefaultLiteralNotValid, node.Location);
947diagnostics.Add(ErrorCode.ERR_ImplicitObjectCreationNotValid, node.Location);
951diagnostics.Add(ErrorCode.ERR_BadSKunknown, ultimateReceiver.Syntax.Location, ((BoundNamespaceExpression)ultimateReceiver).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize());
956diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, MessageID.IDS_AnonMethod.Localize(), methodName);
978diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, "void", methodName);
Binder\Binder_Statements.cs (7)
1310if (CheckManagedAddr(Compilation, elementType, initializerSyntax.Location, diagnostics))
1342additionalDiagnostics.Add(ErrorCode.WRN_PatternBadSignature, initializer.Syntax.Location, initializer.Type, "fixed", patternMethodSymbol);
1467diagnostics.Add(ErrorCode.ERR_VoidAssignment, op1.Syntax.Location);
2011_ => node.Location,
2240diagnostics.Add(ErrorCode.ERR_InternalError, syntax.Location);
2473var location = nodeForError.Location;
3429return node.Location;
Binder\Binder_Symbols.cs (13)
1338diagnostics.Add(diagnosticInfo, node.Location);
1630type.CheckConstraintsForNamedType(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability, typeSyntax.Location, diagnostics),
1744diagnostics.Add(ErrorCode.ERR_MissingPredefinedMember, syntax.Location, descriptor.DeclaringTypeMetadataName, descriptor.Name);
1818return GetWellKnownType(type, diagnostics, node.Location);
1836return GetWellKnownType(compilation, type, diagnostics, node.Location);
2039diagnostics.Add(ErrorCode.WRN_SameFullNameThisNsAgg, where.Location, originalSymbols,
2050diagnostics.Add(ErrorCode.WRN_SameFullNameThisAggNs, where.Location, originalSymbols,
2061diagnostics.Add(ErrorCode.WRN_SameFullNameThisAggAgg, where.Location, originalSymbols,
2281diagnostics.Add(info, where.Location);
2302diagnostics.Add(errorInfo, where.Location);
2335diagnostics.Add(errorInfo, where.Location);
2383diagnostics.Add(new CSDiagnostic(result.Error, where.Location));
2595var location = where.Location;
Binder\ForEachLoopBinder.cs (20)
244messageId.CheckFeatureAvailability(diagnostics, Compilation, collectionExpr.Syntax.Location);
815diagnostics.Add(errorCode, collectionSyntax.Location,
941diagnostics.Add(ErrorCode.ERR_AnonMethGrpInForEach, collectionSyntax.Location, collectionExpr.Display);
958diagnostics.Add(ErrorCode.ERR_BadDynamicAwaitForEach, collectionSyntax.Location);
990diagnostics.Add(ErrorCode.ERR_ForEachMissingMember, collectionSyntax.Location, unwrappedCollectionExprType, WellKnownMemberNames.GetEnumeratorMethodName);
997diagnostics.Add(ErrorCode.ERR_AwaitForEachMissingMember, collectionSyntax.Location, unwrappedCollectionExprType, WellKnownMemberNames.GetAsyncEnumeratorMethodName);
1066diagnostics.Add(isAsync ? ErrorCode.ERR_BadGetAsyncEnumerator : ErrorCode.ERR_BadGetEnumerator, collectionSyntax.Location, getEnumeratorMethod.ReturnType, getEnumeratorMethod);
1087diagnostics.Add(isAsync ? ErrorCode.ERR_MultipleIAsyncEnumOfT : ErrorCode.ERR_MultipleIEnumOfT, errorLocationSyntax.Location, unwrappedCollectionExprType,
1114diagnostics, errorLocationSyntax.Location, isOptional: false);
1122diagnostics.Add(ErrorCode.ERR_AwaitForEachMissingMember, collectionSyntax.Location, unwrappedCollectionExprType, WellKnownMemberNames.GetAsyncEnumeratorMethodName);
1152diagnostics, errorLocationSyntax.Location, isOptional: false);
1159currentPropertyGetter = (MethodSymbol)GetWellKnownTypeMember(Compilation, WellKnownMember.System_Collections_Generic_IAsyncEnumerator_T__get_Current, diagnostics, errorLocationSyntax.Location, isOptional: false);
1208diagnostics.Add(ErrorCode.ERR_NullNotValid, collectionExpr.Syntax.Location);
1479diagnostics.Add(ErrorCode.WRN_PatternNotPublicOrNotInstance, collectionSyntax.Location, patternType, patternName.Localize(), result);
1514diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1607diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1614location: collectionSyntax.Location,
1766diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1937diagnostics.Add(lookupResult.Error, collectionSyntax.Location);
1943diagnostics.Add(ErrorCode.ERR_NoSuchMember, collectionSyntax.Location, patternType, memberName);
FlowAnalysis\DefiniteAssignment.cs (12)
1243Diagnostics.Add(ErrorCode.ERR_UseDefViolationOut, node.Location, symbolName);
1248Diagnostics.Add(ErrorCode.ERR_UseDefViolation, node.Location, symbolName);
1296Diagnostics.Add(ErrorCode.WRN_UseDefViolationThisSupportedVersion, node.Location);
1302node.Location,
1314Diagnostics.Add(hasAssociatedProperty ? ErrorCode.ERR_UseDefViolationProperty : ErrorCode.ERR_UseDefViolationField, node.Location, symbolName);
1324Diagnostics.Add(hasAssociatedProperty ? ErrorCode.ERR_UseDefViolationProperty : ErrorCode.ERR_UseDefViolationField, node.Location, symbolName);
1342node.Location,
1350node.Location,
1357node.Location,
1625LeaveParameter(param, node.Syntax, paramExpr.Syntax.Location);
2570_unsafeAddressTakenVariables.Add(variable, node.Syntax.Location);
2721_unsafeAddressTakenVariables.Add(receiver, node.Syntax.Location);
FlowAnalysis\NullableWalker.cs (8)
1342Diagnostics.Add(ErrorCode.WRN_ParameterConditionallyDisallowsNull, syntax.Location, parameter.Name, sense ? "true" : "false");
7900ReportDiagnostic(ErrorCode.WRN_DisallowNullAttributeForbidsMaybeNullAssignment, node.Location);
8488Diagnostics.Add(pair.UseSiteInfo.DiagnosticInfo, syntax.Location);
8518Diagnostics.Add(pair.UseSiteInfo.DiagnosticInfo, syntax.Location);
8937var locations = tupleOpt.TupleElements.SelectAsArray((element, location) => element.TryGetFirstLocation() ?? location, node.Syntax.Location);
8941tupleOpt.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(compilation, _conversions, includeNullability: true, node.Syntax.Location, diagnostics: null),
10188ReportNullabilityMismatchWithTargetDelegate(group.Syntax.Location, delegateType, delegateInvokeMethod, method, node.IsExtensionMethod);
10260ReportNullabilityMismatchWithTargetDelegate(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);