Binder\Binder_Conversions.cs (11)
486CheckFeatureAvailability(syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
498CheckFeatureAvailability(syntax, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
504CheckFeatureAvailability(syntax, MessageID.IDS_FeatureUnions, diagnostics);
521CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
565CheckFeatureAvailability(syntax, MessageID.IDS_FeatureFirstClassSpan, diagnostics);
2473if (targetTyped && !destination.IsErrorType() && !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureTargetTypedConditional))
2481new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureTargetTypedConditional.RequiredVersion()));
2843Debug.Assert(syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType));
3063Error(diagnostics, ErrorCode.WRN_OptionalParamValueMismatch, lambdaParameter.GetFirstLocation(), p + 1, lambdaParamDefault, delegateParamDefault ?? ((object)MessageID.IDS_Missing.Localize()));
3109CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructs, diagnostics);
3422else if (WasImplicitReceiver(receiverOpt) && !(IsInsideNameof && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
Binder\Binder_Crefs.cs (5)
233CheckFeatureAvailability(syntax, MessageID.IDS_FeatureExtensions, diagnostics);
241CheckFeatureAvailability(syntax, MessageID.IDS_FeatureExtensions, diagnostics);
247CheckFeatureAvailability(syntax, MessageID.IDS_FeatureExtensionIndexers, diagnostics);
576CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
1145CheckFeatureAvailability(parameter.ReadOnlyKeyword, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics, forceWarning: true);
Binder\Binder_Expressions.cs (53)
38if (!isExplicit && IsInsideNameof && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof))
457if (CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInferredDelegateType, diagnostics))
753MessageID.IDS_FeatureDefaultLiteral.CheckFeatureAvailability(diagnostics, node);
916MessageID.IDS_FeatureThrowExpression.CheckFeatureAvailability(diagnostics, node.ThrowKeyword);
1039MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, node);
1572var requiredVersion = MessageID.IDS_FeatureFieldKeyword.RequiredVersion();
1614case ManagedKind.UnmanagedWithGenerics when MessageID.IDS_FeatureUnmanagedConstructedTypes.GetFeatureAvailabilityDiagnosticInfo(compilation) is CSDiagnosticInfo diagnosticInfo:
1632MessageID.IDS_FeatureDefault.CheckFeatureAvailability(diagnostics, node.Keyword);
1933CheckFeatureAvailability(node, MessageID.IDS_FeatureDiscards, diagnostics);
2389if (!IsInsideNameof || (EnclosingNameofArgument != node && !node.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
2423CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics);
2683CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexOperator, diagnostics);
2724CheckFeatureAvailability(node, MessageID.IDS_FeatureRangeOperator, diagnostics);
2905diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
3079nameString = MessageID.IDS_Lambda.Localize().ToString();
3214MessageID.IDS_FeatureReadOnlyReferences.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3219MessageID.IDS_FeatureOutVar.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3299CheckFeatureAvailability(declarationExpression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
3377CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
3417CheckFeatureAvailability(nameColonSyntax, MessageID.IDS_FeatureNamedArgument, diagnostics);
3464new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNonTrailingNamedArguments.RequiredVersion()));
3988if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefReadonlyParameters))
3994var available = CheckFeatureAvailability(argument.Syntax, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
4206MessageID.IDS_FeatureImplicitArray.CheckFeatureAvailability(diagnostics, node.NewKeyword);
4671LanguageVersion requiredVersion = MessageID.IDS_FeatureNestedStackalloc.RequiredVersion();
4677MessageID.IDS_FeatureNestedStackalloc.CheckFeatureAvailability(diagnostics, node.GetFirstToken());
4708CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructs, diagnostics);
4771MessageID.IDS_FeatureStackAllocInitializer.CheckFeatureAvailability(diagnostics, stackAllocKeyword);
5274MessageID.IDS_FeatureImplicitObjectCreation.CheckFeatureAvailability(diagnostics, node.NewKeyword);
5359MessageID.IDS_FeatureCollectionExpressions.CheckFeatureAvailability(diagnostics, syntax, syntax.OpenBracketToken.GetLocation());
5368MessageID.IDS_FeatureCollectionExpressionArguments.CheckFeatureAvailability(diagnostics, syntax, withElementSyntax.WithKeyword.GetLocation());
5865MessageID.IDS_FeatureObjectInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6049MessageID.IDS_FeatureDictionaryInitializer.CheckFeatureAvailability(diagnostics, implicitIndexing.ArgumentList.OpenBracketToken);
6146MessageID.IDS_FeatureImplicitIndexerInitializer.CheckFeatureAvailability(diagnostics, implicitIndexer.Syntax);
6419MessageID.IDS_FeatureCollectionInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6479CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
7589MessageID.IDS_FeatureRawStringLiterals.CheckFeatureAvailability(diagnostics, node);
7602CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
7605CheckFeatureAvailability(node, MessageID.IDS_FeatureUtf8StringLiterals, diagnostics);
7628CheckFeatureAvailability(node.Keyword, MessageID.IDS_FeatureUnsafeEvolution, diagnostics);
7950var msgId = ((UnboundLambda)boundLeft).MessageID;
8151CheckFeatureAvailability(boundLeft.Syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
8198Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
8228Error(diagnostics, ErrorCode.ERR_BadSKunknown, methodGroup.NameSyntax, method, MessageID.IDS_SK_METHOD.Localize());
8288MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, syntax);
9852CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexingMovableFixedBuffers, diagnostics);
9898CheckFeatureAvailability(node, MessageID.IDS_FeatureRefFields, diagnostics);
10142else if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics))
10520CheckFeatureAvailability(node, MessageID.IDS_FeatureInlineArrays, diagnostics);
11321_ = MessageID.IDS_FeatureIndexOperator.CheckFeatureAvailability(diagnostics, syntax);
12339MessageID.IDS_FeatureNullPropagatingOperator.CheckFeatureAvailability(diagnostics, node.OperatorToken);
12347MessageID.IDS_FeatureNullConditionalAssignment.CheckFeatureAvailability(diagnostics, assignment.OperatorToken);
12528var msgId = ((UnboundLambda)receiver).MessageID;
Binder\Binder_InterpolatedString.cs (10)
21if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInterpolatedStrings, diagnostics))
27CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
32if (startText.StartsWith("@$\"") && !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureAltInterpolatedVerbatimStrings))
37new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureAltInterpolatedVerbatimStrings.RequiredVersion()));
53var newLinesInInterpolationsAllowed = this.Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNewLinesInInterpolations);
86new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNewLinesInInterpolations.RequiredVersion()));
662CheckFeatureAvailability(syntax, MessageID.IDS_FeatureImprovedInterpolatedStrings, diagnostics);
664else if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureImprovedInterpolatedStrings) && diagnostics.AccumulatesDiagnostics)
689CheckFeatureAvailability(value.Syntax, MessageID.IDS_FeatureImprovedInterpolatedStrings, diagnostics);
699CheckFeatureAvailability(value.Syntax, MessageID.IDS_FeatureImprovedInterpolatedStrings, diagnostics);
Binder\Binder_Lookup.cs (4)
1886diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, namedType, MessageID.IDS_SK_TYPE.Localize()) : null;
1891diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, namedType, MessageID.IDS_SK_TYPE.Localize(), namedType.Arity) : null;
1907diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, method, MessageID.IDS_SK_METHOD.Localize()) : null;
1912diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, method, MessageID.IDS_SK_METHOD.Localize(), method.Arity) : null;
Binder\Binder_Operators.cs (21)
348!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
495CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
979CheckFeatureAvailability(node, MessageID.IDS_FeatureTupleEquality, diagnostics);
2226Binder.CheckFeatureAvailability(node, MessageID.IDS_DefaultInterfaceImplementation, diagnostics);
3461!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
3601CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
4008result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4019result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4027result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4038result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
4042result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
4046result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4057MessageID.IDS_FeatureNullableReferenceTypes.CheckFeatureAvailability(diagnostics, node.OperatorToken);
4832((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching))
4850if (((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching) &&
4881if (wasUnderscore && ((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeatureRecursivePatterns))
5708CheckFeatureAvailability(node, MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator, diagnostics);
5846MessageID.IDS_FeatureCoalesceAssignmentExpression.CheckFeatureAvailability(diagnostics, node.OperatorToken);
5965CheckFeatureAvailability(node, MessageID.IDS_FeatureRefConditional, diagnostics);
6118CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
6134CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
Binder\Binder_Patterns.cs (23)
34MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, node);
63MessageID.IDS_FeaturePatternMatching.CheckFeatureAvailability(diagnostics, node.IsKeyword);
204MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node.SwitchKeyword);
259MessageID.IDS_FeatureParenthesizedPattern.CheckFeatureAvailability(diagnostics, node.OpenParenToken);
369CheckFeatureAvailability(node, MessageID.IDS_FeatureListPattern, diagnostics);
475MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
666CheckFeatureAvailability(patternExpression, MessageID.IDS_FeatureNullPointerConstantPattern, diagnostics);
723var requiredVersion = MessageID.IDS_FeatureRecursivePatterns.RequiredVersion();
747if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
933LanguageVersion requiredVersion = MessageID.IDS_FeatureGenericPatternMatching.RequiredVersion();
1091CheckFeatureAvailability(designation, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
1148MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1316MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, subPattern.ExpressionColon.ColonToken);
1463if (Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion())
1546|| (inputType.IsPointerType() && Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion()))
1606MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1724MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, p.ExpressionColon.ColonToken);
1764MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, expr is MemberAccessExpressionSyntax memberAccess ? memberAccess.Name : expr); // Since new exhaustiveness rules will be used by DecisionDagBuilder.
1941MessageID.IDS_FeatureTypePattern.CheckFeatureAvailability(diagnostics, node);
1972MessageID.IDS_FeatureRelationalPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2080MessageID.IDS_FeatureNotPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2156MessageID.IDS_FeatureOrPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2177MessageID.IDS_FeatureAndPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
Binder\Binder_Query.cs (5)
26MessageID.IDS_FeatureQueryExpression.CheckFeatureAvailability(diagnostics, node.FromClause.FromKeyword);
778CheckFeatureAvailability(expression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics, locals[0].GetFirstLocation());
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);
971Error(diagnostics, ErrorCode.ERR_BadSKunknown, ultimateReceiver.Syntax, ultimateReceiver.Type, MessageID.IDS_SK_TYVAR.Localize());
Binder\Binder_Statements.cs (25)
49CheckFeatureAvailability(attributeList, MessageID.IDS_FeatureLocalFunctionAttributes, diagnostics);
180CheckFeatureAvailability(node.UnsafeKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
217MessageID.IDS_FeatureIterators.CheckFeatureAvailability(diagnostics, statement.YieldKeyword);
222MessageID.IDS_FeatureAsyncStreams.CheckFeatureAvailability(
270else if (InUnsafeRegion && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
396if (Compilation.LanguageVersion < MessageID.IDS_FeatureSwitchExpression.RequiredVersion())
556MessageID.IDS_FeatureLocalFunctions.CheckFeatureAvailability(diagnostics, node.Identifier);
603MessageID.IDS_FeatureStaticLocalFunctions.CheckFeatureAvailability(diagnostics, modifier);
605MessageID.IDS_FeatureExternLocalFunctions.CheckFeatureAvailability(diagnostics, modifier);
1173return !CheckFeatureAvailability(identifierToken, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
1294bool extensibleFixedEnabled = ((CSharpParseOptions)initializerOpt.SyntaxTree.Options)?.IsFeatureEnabled(MessageID.IDS_FeatureExtensibleFixedStatement) != false;
1305CheckFeatureAvailability(initializerOpt.Syntax, MessageID.IDS_FeatureExtensibleFixedStatement, diagnostics);
1426MessageID.IDS_FeatureRefReassignment.CheckFeatureAvailability(diagnostics, node.Right.GetFirstToken());
1642return MessageID.IDS_ArrayAccess.Localize();
1646return MessageID.IDS_PointerElementAccess.Localize();
2535syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType))
2966MessageID.IDS_FeatureLabeledBreakContinue.CheckFeatureAvailability(diagnostics, node, name.GetLocation());
3443MessageID.IDS_FeatureExceptionFilter.CheckFeatureAvailability(diagnostics, filter.WhenKeyword);
3641ConstructorDeclarationSyntax or DestructorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedDeOrConstructor,
3642AccessorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedAccessor,
3643BaseMethodDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedMethod,
3644IndexerDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedIndexer,
3645PropertyDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedProperty,
3649LocalFunctionStatementSyntax => (MessageID?)null,
3756MessageID.IDS_TopLevelStatements.CheckFeatureAvailability(diagnostics, topLevelStatement);
Binder\Binder_Symbols.cs (25)
117CheckFeatureAvailability(syntax, MessageID.IDS_FeatureImplicitLocal, diagnostics);
161CheckFeatureAvailability(syntax, MessageID.IDS_FeatureUnmanagedGenericTypeConstraint, diagnostics);
164CheckFeatureAvailability(identifierSyntax, MessageID.IDS_FeatureNotNullGenericTypeConstraint, diagnostics);
344var diagnosticInfo = diagnostics.Add(ErrorCode.ERR_BadSKknown, syntax.Location, syntax, symbol.Symbol.GetKindText(), MessageID.IDS_SK_TYPE.Localize());
461MessageID.IDS_FeatureFunctionPointers.CheckFeatureAvailability(diagnostics, functionPointerTypeSyntax.DelegateKeyword);
552MessageID.IDS_FeatureNullable.CheckFeatureAvailability(diagnostics, nullableSyntax.QuestionToken);
589MessageID.IDS_FeatureGlobalNamespace.CheckFeatureAvailability(diagnostics, node.Alias);
629var requiredVersion = MessageID.IDS_FeatureDefaultTypeParameterConstraint.RequiredVersion();
690MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, syntax);
745bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
943if (Compilation.LanguageVersion < MessageID.IDS_FeatureDynamic.RequiredVersion())
1034CheckFeatureAvailability(node, MessageID.IDS_FeatureNativeInt, diagnostics);
1381var binder = !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureUsingTypeAlias)
1402CheckFeatureAvailability(typeSyntax, MessageID.IDS_FeatureUnboundGenericTypesInNameof, diagnostics);
1422Error(diagnostics, ErrorCode.ERR_BadArity, typeSyntax, type, MessageID.IDS_SK_TYPE.Localize(), typeArgumentsSyntax.Count);
1454Error(diagnostics, ErrorCode.ERR_BadArity, syntax, plainName, MessageID.IDS_MethodGroup.Localize(), typeArgumentsSyntax.Count);
1644bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
2822internal static bool CheckFeatureAvailability(SyntaxNodeOrToken syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null)
2825internal static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null)
2828internal static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, BindingDiagnosticBag diagnostics, bool forceWarning = false)
2831internal static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, BindingDiagnosticBag diagnostics, Location location)
2834private static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, DiagnosticBag? diagnostics, Location? location = null)
2837private static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, DiagnosticBag? diagnostics, bool forceWarning = false)
2840private static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, Location location)
2846private static bool CheckFeatureAvailability<TData>(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, TData data, Func<TData, Location> getLocation, bool forceWarning = false)
Binder\Binder.ValueChecks.cs (15)
975Error(diagnostics, ErrorCode.ERR_BadSKknown, node, ns.NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
980Error(diagnostics, ErrorCode.ERR_BadSKknown, node, type.Type, MessageID.IDS_SK_TYPE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
991Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, unconvertedAddressOf.Operand.Name, MessageID.IDS_AddressOfMethodGroup.Localize());
1002Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, methodGroup.Name, MessageID.IDS_MethodGroup.Localize());
1260Error(diagnostics, ErrorCode.ERR_BadSKknown, expr.Syntax, ((BoundNamespaceExpression)expr).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
1268Error(diagnostics, ErrorCode.ERR_BadSKunknown, expr.Syntax, expr.Type, MessageID.IDS_SK_TYPE.Localize());
1305else if (this.IsDirectlyInIterator && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
2059CheckFeatureAvailability(node, MessageID.IDS_FeatureInitOnlySetters, diagnostics);
3439MessageID cause;
3442cause = MessageID.IDS_FOREACHLOCAL;
3446cause = MessageID.IDS_USINGLOCAL;
3450cause = MessageID.IDS_FIXEDLOCAL;
Binder\ForEachLoopBinder.cs (16)
220CheckFeatureAvailability(_syntax.AwaitKeyword, MessageID.IDS_FeatureAsyncStreams, diagnostics);
243var messageId = IsAsync ? MessageID.IDS_FeatureExtensionGetAsyncEnumerator : MessageID.IDS_FeatureExtensionGetEnumerator;
301MessageID.IDS_FeatureRefForEach.CheckFeatureAvailability(diagnostics, typeSyntax);
545CheckFeatureAvailability(foreachKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
903CheckFeatureAvailability(collectionExpr.Syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
1248CheckFeatureAvailability(expr.Syntax, MessageID.IDS_FeatureDisposalPattern, diagnostics);
1296CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
1475MessageID patternName = isAsync ? MessageID.IDS_FeatureAsyncStreams : MessageID.IDS_Collection;
1512diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1610diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1769diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1833CheckFeatureAvailability(collectionSyntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
CommandLine\CSharpCommandLineParser.cs (23)
211AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/langversion:");
283ParseAndResolveReferencePaths(name, valueMemory, baseDirectory, libPaths, MessageID.IDS_LIB_OPTION, diagnostics);
346ParseAndResolveReferencePaths(name, valueMemory, baseDirectory, sourcePaths, MessageID.IDS_REFERENCEPATH_OPTION, diagnostics);
434AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
648AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "modulename");
696AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
709AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
717AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/doc:"); // Different argument.
729AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/addmodule:");
819AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
1076AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "keycontainer");
1138AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "subsystemversion");
1159AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "touchedfiles");
1454ParseAndResolveReferencePaths(null, additionalReferenceDirectories.AsMemory(), baseDirectory, libPaths, MessageID.IDS_LIB_ENV, diagnostics);
1569if (nullableContextOptions != NullableContextOptions.Disable && parseOptions.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
1573new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())), Location.None));
1632private static void ParseAndResolveReferencePaths(string? switchName, ReadOnlyMemory<char>? switchValue, string? baseDirectory, List<string> builder, MessageID origin, List<Diagnostic> diagnostics)
1637AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_PathList.Localize(), switchName);
1646AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryHasInvalidPath.Localize());
1650AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryDoesNotExist.Localize());
1891AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Namespace1.Localize(), arg);
1905AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
1932AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
Compiler\DocumentationCommentCompiler.IncludeElementExpander.cs (12)
283_diagnostics.Add(ErrorCode.WRN_FailedInclude, location, filePathValue, xpathValue, new LocalizableErrorArgument(MessageID.IDS_OperationCausedStackOverflow));
286commentMessage = ErrorFacts.GetMessage(MessageID.IDS_XMLNOINCLUDE, CultureInfo.CurrentUICulture);
303var subMessage = hasFileAttribute ? MessageID.IDS_XMLMISSINGINCLUDEPATH.Localize() : MessageID.IDS_XMLMISSINGINCLUDEFILE.Localize();
305commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLBADINCLUDE);
316commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
326commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
347commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
360commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
396commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLNOINCLUDE);
409commentMessage = string.Format(ErrorFacts.GetMessage(MessageID.IDS_XMLIGNORED2, CultureInfo.CurrentUICulture), resolvedFilePath);
434private static string MakeCommentMessage(Location location, MessageID messageId)
Declarations\DeclarationTreeBuilder.cs (12)
482MessageID.IDS_FeatureUsingStatic.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.StaticKeyword.GetLocation());
485MessageID.IDS_FeatureGlobalUsing.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.GlobalKeyword.GetLocation());
492MessageID.IDS_FeatureExternAlias.CheckFeatureAvailability(diagnostics, externAlias, externAlias.ExternKeyword.GetLocation());
530MessageID.IDS_FeatureFileScopedNamespace.CheckFeatureAvailability(diagnostics, node, node.NamespaceKeyword.GetLocation());
761MessageID.IDS_FeatureRecordStructs.CheckFeatureAvailability(diagnostics, record, record.ClassOrStructKeyword.GetLocation());
774MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node.ParameterList);
779MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
784MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, node, node.Keyword.GetLocation());
796MessageID.IDS_FeatureStaticClasses.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
800MessageID.IDS_FeatureReadOnlyStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
804MessageID.IDS_FeatureRefStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
894MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
Errors\MessageID.cs (205)
323private readonly MessageID _id;
325internal LocalizableErrorArgument(MessageID id)
345public static LocalizableErrorArgument Localize(this MessageID id)
356internal static string? RequiredFeature(this MessageID feature)
367this MessageID feature,
381this MessageID feature,
395this MessageID feature,
409this MessageID feature,
423this MessageID feature,
438this MessageID feature,
453this MessageID feature,
466internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpParseOptions options)
469internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpCompilation compilation)
472private static CSDiagnosticInfo GetDisabledFeatureDiagnosticInfo(MessageID feature, LanguageVersion availableVersion)
486internal static LanguageVersion RequiredVersion(this MessageID feature)
497case MessageID.IDS_FeatureUnsafeEvolution: // https://github.com/dotnet/roslyn/issues/82546: keep this in preview until C# 16
501case MessageID.IDS_FeatureCollectionExpressionArguments:
502case MessageID.IDS_FeatureUnions:
503case MessageID.IDS_FeatureStaticMembersInInterfaces:
504case MessageID.IDS_FeatureClosedClasses: // semantic check
505case MessageID.IDS_FeatureLabeledBreakContinue:
506case MessageID.IDS_FeatureExtensionIndexers:
510case MessageID.IDS_FeatureFieldKeyword:
511case MessageID.IDS_FeatureFirstClassSpan:
512case MessageID.IDS_FeatureUnboundGenericTypesInNameof:
513case MessageID.IDS_FeatureSimpleLambdaParameterModifiers:
514case MessageID.IDS_FeaturePartialEventsAndConstructors:
515case MessageID.IDS_FeatureExtensions:
516case MessageID.IDS_FeatureNullConditionalAssignment:
517case MessageID.IDS_FeatureExpressionOptionalAndNamedArguments:
518case MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators:
522case MessageID.IDS_FeatureStringEscapeCharacter: // lexer check
523case MessageID.IDS_FeatureImplicitIndexerInitializer:
524case MessageID.IDS_FeatureLockObject:
525case MessageID.IDS_FeatureParamsCollections:
526case MessageID.IDS_FeatureRefUnsafeInIteratorAsync:
527case MessageID.IDS_FeatureRefStructInterfaces:
528case MessageID.IDS_FeatureAllowsRefStructConstraint:
529case MessageID.IDS_FeaturePartialProperties:
530case MessageID.IDS_FeatureOverloadResolutionPriority:
534case MessageID.IDS_FeatureLambdaOptionalParameters: // semantic check
535case MessageID.IDS_FeatureLambdaParamsArray: // semantic check
536case MessageID.IDS_FeaturePrimaryConstructors: // declaration table check
537case MessageID.IDS_FeatureUsingTypeAlias: // semantic check
538case MessageID.IDS_FeatureInstanceMemberInNameof: // semantic check
539case MessageID.IDS_FeatureInlineArrays: // semantic check
540case MessageID.IDS_FeatureCollectionExpressions: // semantic check
541case MessageID.IDS_FeatureRefReadonlyParameters: // semantic check
545case MessageID.IDS_FeatureRawStringLiterals:
546case MessageID.IDS_FeatureStaticAbstractMembersInInterfaces: // semantic check
547case MessageID.IDS_FeatureNewLinesInInterpolations: // semantic check
548case MessageID.IDS_FeatureListPattern: // semantic check
549case MessageID.IDS_FeatureRequiredMembers: // semantic check
550case MessageID.IDS_FeatureCacheStaticMethodGroupConversion: // lowering check
551case MessageID.IDS_FeatureSpanCharConstantPattern:
552case MessageID.IDS_FeatureAutoDefaultStructs: // semantic check
553case MessageID.IDS_FeatureCheckedUserDefinedOperators: // semantic check for declarations, parsing check for doc comments
554case MessageID.IDS_FeatureUtf8StringLiterals: // semantic check
555case MessageID.IDS_FeatureUnsignedRightShift: // semantic check for declarations and consumption, parsing check for doc comments
556case MessageID.IDS_FeatureRelaxedShiftOperator: // semantic check
557case MessageID.IDS_FeatureRefFields: // semantic check
558case MessageID.IDS_FeatureFileTypes: // semantic check
559case MessageID.IDS_FeatureGenericAttributes: // semantic check
563case MessageID.IDS_FeatureMixedDeclarationsAndExpressionsInDeconstruction: // semantic check
564case MessageID.IDS_FeatureSealedToStringInRecord: // semantic check
565case MessageID.IDS_FeatureImprovedInterpolatedStrings: // semantic check
566case MessageID.IDS_FeatureRecordStructs:
567case MessageID.IDS_FeatureWithOnStructs: // semantic check
568case MessageID.IDS_FeatureWithOnAnonymousTypes: // semantic check
569case MessageID.IDS_FeaturePositionalFieldsInRecords: // semantic check
570case MessageID.IDS_FeatureGlobalUsing:
571case MessageID.IDS_FeatureInferredDelegateType: // semantic check
572case MessageID.IDS_FeatureLambdaAttributes: // semantic check
573case MessageID.IDS_FeatureExtendedPropertyPatterns: // semantic check
574case MessageID.IDS_FeatureLambdaReturnType: // semantic check
575case MessageID.IDS_AsyncMethodBuilderOverride: // semantic check
576case MessageID.IDS_FeatureConstantInterpolatedStrings: // semantic check
577case MessageID.IDS_FeatureImplicitImplementationOfNonPublicMembers: // semantic check
578case MessageID.IDS_FeatureFileScopedNamespace: // semantic check
579case MessageID.IDS_FeatureParameterlessStructConstructors: // semantic check
580case MessageID.IDS_FeatureStructFieldInitializers: // semantic check
584case MessageID.IDS_FeatureLambdaDiscardParameters: // semantic check
585case MessageID.IDS_FeatureFunctionPointers: // semantic check
586case MessageID.IDS_FeatureLocalFunctionAttributes: // syntax check
587case MessageID.IDS_FeatureExternLocalFunctions: // semantic check
588case MessageID.IDS_FeatureImplicitObjectCreation: // semantic check
589case MessageID.IDS_FeatureMemberNotNull:
590case MessageID.IDS_FeatureAndPattern: // semantic check
591case MessageID.IDS_FeatureNotPattern: // semantic check
592case MessageID.IDS_FeatureOrPattern: // semantic check
593case MessageID.IDS_FeatureParenthesizedPattern: // semantic check
594case MessageID.IDS_FeatureTypePattern: // semantic check
595case MessageID.IDS_FeatureRelationalPattern: // semantic check
596case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
597case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
598case MessageID.IDS_FeatureNativeInt:
599case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
600case MessageID.IDS_TopLevelStatements:
601case MessageID.IDS_FeatureInitOnlySetters: // semantic check
602case MessageID.IDS_FeatureRecords: // semantic check
603case MessageID.IDS_FeatureTargetTypedConditional: // semantic check
604case MessageID.IDS_FeatureCovariantReturnsForOverrides: // semantic check
605case MessageID.IDS_FeatureStaticAnonymousFunction: // semantic check
606case MessageID.IDS_FeatureModuleInitializers: // semantic check on method attribute
607case MessageID.IDS_FeatureDefaultTypeParameterConstraint: // semantic check
608case MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers: // semantic check
612case MessageID.IDS_FeatureAltInterpolatedVerbatimStrings: // semantic check
613case MessageID.IDS_FeatureCoalesceAssignmentExpression: // semantic check
614case MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator:
615case MessageID.IDS_FeatureNullableReferenceTypes: // syntax and semantic check
616case MessageID.IDS_FeatureIndexOperator: // semantic check
617case MessageID.IDS_FeatureRangeOperator: // semantic check
618case MessageID.IDS_FeatureAsyncStreams: // semantic check
619case MessageID.IDS_FeatureRecursivePatterns: // semantic check
620case MessageID.IDS_FeatureUsingDeclarations: // semantic check
621case MessageID.IDS_FeatureDisposalPattern: //semantic check
622case MessageID.IDS_FeatureStaticLocalFunctions: // semantic check
623case MessageID.IDS_FeatureNameShadowingInNestedFunctions:
624case MessageID.IDS_FeatureUnmanagedConstructedTypes: // semantic check
625case MessageID.IDS_FeatureObsoleteOnPropertyAccessor:
626case MessageID.IDS_FeatureReadOnlyMembers:
627case MessageID.IDS_DefaultInterfaceImplementation: // semantic check
628case MessageID.IDS_OverrideWithConstraints: // semantic check
629case MessageID.IDS_FeatureNestedStackalloc: // semantic check
630case MessageID.IDS_FeatureNotNullGenericTypeConstraint:// semantic check
631case MessageID.IDS_FeatureSwitchExpression:
632case MessageID.IDS_FeatureAsyncUsing:
633case MessageID.IDS_FeatureNullPointerConstantPattern: //semantic check
637case MessageID.IDS_FeatureAttributesOnBackingFields: // semantic check
638case MessageID.IDS_FeatureImprovedOverloadCandidates: // semantic check
639case MessageID.IDS_FeatureTupleEquality: // semantic check
640case MessageID.IDS_FeatureRefReassignment: // semantic check
641case MessageID.IDS_FeatureRefFor:
642case MessageID.IDS_FeatureRefForEach: // semantic check
643case MessageID.IDS_FeatureEnumGenericTypeConstraint: // semantic check
644case MessageID.IDS_FeatureDelegateGenericTypeConstraint: // semantic check
645case MessageID.IDS_FeatureUnmanagedGenericTypeConstraint: // semantic check
646case MessageID.IDS_FeatureStackAllocInitializer: // semantic check
647case MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers: // semantic check
648case MessageID.IDS_FeatureExtensibleFixedStatement: // semantic check
649case MessageID.IDS_FeatureIndexingMovableFixedBuffers: //semantic check
653case MessageID.IDS_FeatureNonTrailingNamedArguments: // semantic check
654case MessageID.IDS_FeatureLeadingDigitSeparator:
655case MessageID.IDS_FeaturePrivateProtected:
656case MessageID.IDS_FeatureReadOnlyReferences: // semantic check
657case MessageID.IDS_FeatureRefStructs: // semantic check
658case MessageID.IDS_FeatureReadOnlyStructs: // semantic check
659case MessageID.IDS_FeatureRefExtensionMethods:
660case MessageID.IDS_FeatureRefConditional:
664case MessageID.IDS_FeatureAsyncMain:
665case MessageID.IDS_FeatureDefaultLiteral: // semantic check
666case MessageID.IDS_FeatureInferredTupleNames:
667case MessageID.IDS_FeatureGenericPatternMatching:
671case MessageID.IDS_FeatureBinaryLiteral:
672case MessageID.IDS_FeatureDigitSeparator:
673case MessageID.IDS_FeatureLocalFunctions: // semantic check
674case MessageID.IDS_FeatureRefLocalsReturns:
675case MessageID.IDS_FeaturePatternMatching: // semantic check
676case MessageID.IDS_FeatureThrowExpression: // semantic check
677case MessageID.IDS_FeatureTuples:
678case MessageID.IDS_FeatureOutVar: // semantic check
679case MessageID.IDS_FeatureExpressionBodiedAccessor:
680case MessageID.IDS_FeatureExpressionBodiedDeOrConstructor:
681case MessageID.IDS_FeatureDiscards:
685case MessageID.IDS_FeatureExceptionFilter: // semantic check
686case MessageID.IDS_FeatureAutoPropertyInitializer: // semantic check
687case MessageID.IDS_FeatureNullPropagatingOperator: // semantic check
688case MessageID.IDS_FeatureExpressionBodiedMethod:
689case MessageID.IDS_FeatureExpressionBodiedProperty: // semantic check
690case MessageID.IDS_FeatureExpressionBodiedIndexer: // semantic check
691case MessageID.IDS_FeatureNameof:
692case MessageID.IDS_FeatureDictionaryInitializer: // semantic check
693case MessageID.IDS_FeatureUsingStatic: // semantic check
694case MessageID.IDS_FeatureInterpolatedStrings: // semantic check
695case MessageID.IDS_AwaitInCatchAndFinally:
696case MessageID.IDS_FeatureReadonlyAutoImplementedProperties:
700case MessageID.IDS_FeatureAsync: // semantic check
704case MessageID.IDS_FeatureDynamic: // Checked in the binder.
705case MessageID.IDS_FeatureTypeVariance: // semantic check
706case MessageID.IDS_FeatureNamedArgument: // semantic check
707case MessageID.IDS_FeatureOptionalParameter: // semantic check
711case MessageID.IDS_FeatureImplicitArray: // semantic check
712case MessageID.IDS_FeatureAnonymousTypes: // semantic check
713case MessageID.IDS_FeatureObjectInitializer:
714case MessageID.IDS_FeatureCollectionInitializer:
715case MessageID.IDS_FeatureLambda: // semantic check
716case MessageID.IDS_FeatureQueryExpression: // semantic check
717case MessageID.IDS_FeatureExtensionMethod:
718case MessageID.IDS_FeaturePartialMethod: // semantic check
719case MessageID.IDS_FeatureImplicitLocal: // Checked in the binder.
720case MessageID.IDS_FeatureAutoImplementedProperties:
724case MessageID.IDS_FeatureGenerics: // Also affects crefs.
725case MessageID.IDS_FeatureAnonDelegates: // semantic check
726case MessageID.IDS_FeatureGlobalNamespace: // Also affects crefs.
727case MessageID.IDS_FeatureFixedBuffer: // semantic check
728case MessageID.IDS_FeatureStaticClasses: // semantic check
729case MessageID.IDS_FeaturePartialTypes: // semantic check
730case MessageID.IDS_FeaturePropertyAccessorMods:
731case MessageID.IDS_FeatureExternAlias: // semantic check
732case MessageID.IDS_FeatureIterators: // semantic check
733case MessageID.IDS_FeatureDefault: // semantic check
734case MessageID.IDS_FeatureNullable:
735case MessageID.IDS_FeaturePragma: // Checked in the directive parser.
736case MessageID.IDS_FeatureSwitchOnBool: // Checked in the binder.
740case MessageID.IDS_FeatureModuleAttrLoc:
Parser\DocumentationCommentParser.cs (7)
1068operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUnsignedRightShift, forceWarning: true);
1078operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1110operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1169operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1183checkedKeyword = CheckFeatureAvailability(checkedKeyword, MessageID.IDS_FeatureCheckedUserDefinedOperators, forceWarning: true);
1398open = CheckFeatureAvailability(open, MessageID.IDS_FeatureGenerics, forceWarning: true);
1462alias = CheckFeatureAvailability(alias, MessageID.IDS_FeatureGlobalNamespace, forceWarning: true);
Symbols\Source\ModifierUtils.cs (18)
33modifierErrors |= !MessageID.IDS_FeatureReadOnlyMembers.CheckFeatureAvailability(diagnostics, readonlyToken);
112checkFeature(DeclarationModifiers.PrivateProtected, MessageID.IDS_FeaturePrivateProtected) |
113checkFeature(DeclarationModifiers.Required, MessageID.IDS_FeatureRequiredMembers) |
114checkFeature(DeclarationModifiers.File, MessageID.IDS_FeatureFileTypes) |
115checkFeature(DeclarationModifiers.Closed, MessageID.IDS_FeatureClosedClasses) |
116checkFeature(DeclarationModifiers.Async, MessageID.IDS_FeatureAsync);
122? !Binder.CheckFeatureAvailability(errorLocation.SourceTree, MessageID.IDS_FeatureUnsafeEvolution, diagnostics, errorLocation)
123: !MessageID.IDS_FeatureUnsafeEvolution.CheckFeatureAvailability(diagnostics, safeToken);
135bool checkFeature(DeclarationModifiers modifier, MessageID featureID)
143if (MessageID.IDS_FeatureRefFields.GetFeatureAvailabilityDiagnosticInfo((CSharpParseOptions)syntax.SyntaxTree.Options) is { } diagnosticInfo)
172requiredVersion = MessageID.IDS_FeatureStaticAbstractMembersInInterfaces.RequiredVersion();
185Binder.CheckFeatureAvailability(errorLocation.SourceTree, MessageID.IDS_DefaultInterfaceImplementation, diagnostics, errorLocation);
190requiredVersion = MessageID.IDS_DefaultInterfaceImplementation.RequiredVersion();
223LanguageVersion requiredVersion = MessageID.IDS_FeatureStaticAbstractMembersInInterfaces.RequiredVersion();
237LanguageVersion requiredVersion = MessageID.IDS_FeaturePartialEventsAndConstructors.RequiredVersion();
485var messageId = SyntaxFacts.IsTypeDeclaration(partialToken.Parent.Kind()) ? MessageID.IDS_FeaturePartialTypes : MessageID.IDS_FeaturePartialMethod;
Symbols\Source\ParameterHelpers.cs (8)
228bool allowShadowingNames = withTypeParametersBinder.Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNameShadowingInNestedFunctions) &&
607Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureExtensionMethod, diagnostics);
611Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
640Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
728MessageID.IDS_FeatureLambdaParamsArray.CheckFeatureAvailability(diagnostics, modifier);
738Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureReadOnlyReferences, diagnostics);
742Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
805Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
Symbols\Source\SourceMemberContainerSymbol.cs (20)
531if (reportIfContextual(SyntaxKind.RecordKeyword, MessageID.IDS_FeatureRecords, ErrorCode.WRN_RecordNamedDisallowed)
532|| reportIfContextual(SyntaxKind.RequiredKeyword, MessageID.IDS_FeatureRequiredMembers, ErrorCode.ERR_RequiredNameDisallowed)
533|| reportIfContextual(SyntaxKind.FileKeyword, MessageID.IDS_FeatureFileTypes, ErrorCode.ERR_FileTypeNameDisallowed)
534|| reportIfContextual(SyntaxKind.ClosedKeyword, MessageID.IDS_FeatureClosedClasses, ErrorCode.ERR_ClosedTypeNameDisallowed)
535|| reportIfContextual(SyntaxKind.ScopedKeyword, MessageID.IDS_FeatureRefFields, ErrorCode.ERR_ScopedTypeNameDisallowed)
536|| reportIfContextual(SyntaxKind.ExtensionKeyword, MessageID.IDS_FeatureExtensions, ErrorCode.ERR_ExtensionTypeNameDisallowed))
545bool reportIfContextual(SyntaxKind contextualKind, MessageID featureId, ErrorCode error)
1480Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.GetFirstLocation());
1948MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, compilation, location);
2407var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD;
4827MessageID.IDS_FeatureExtensionIndexers.CheckFeatureAvailability(diagnostics, this.DeclaringCompilation, member.GetFirstLocation());
4866return MessageID.IDS_FeatureExtensionIndexers.RequiredVersion() <= languageVersion;
4902MessageID.IDS_FeatureParameterlessStructConstructors.CheckFeatureAvailability(diagnostics, m.DeclaringCompilation, location);
4931MessageID.IDS_FeatureStructFieldInitializers.CheckFeatureAvailability(diagnostics, symbol.DeclaringCompilation, symbol.GetFirstLocation());
5350if (baseToStringMethod.ContainingModule != this.ContainingModule && !this.DeclaringCompilation.IsFeatureEnabled(MessageID.IDS_FeatureSealedToStringInRecord))
5353var requiredVersion = MessageID.IDS_FeatureSealedToStringInRecord.RequiredVersion();
5376MessageID.IDS_FeatureSealedToStringInRecord.CheckFeatureAvailability(
5440Binder.CheckFeatureAvailability(syntax, MessageID.IDS_FeaturePositionalFieldsInRecords, diagnostics);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (9)
604MessageID.IDS_FeatureMemberNotNull.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
609MessageID.IDS_FeatureMemberNotNull.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
614MessageID.IDS_FeatureModuleInitializers.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
634MessageID.IDS_FeatureRefStructInterfaces.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
648MessageID.IDS_FeatureOverloadResolutionPriority.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
720MessageID.IDS_FeatureObsoleteOnPropertyAccessor.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
1437diagnostics.Add(ErrorCode.ERR_CannotUseManagedTypeInUnmanagedCallersOnly, syntax.Location, type, (isParam ? MessageID.IDS_Parameter : MessageID.IDS_Return).Localize());
1564MessageID.IDS_AsyncMethodBuilderOverride.CheckFeatureAvailability(diagnostics, this.DeclaringCompilation, errorLocation);
Symbols\VarianceSafety.cs (9)
179return MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers.RequiredVersion() <= member.DeclaringCompilation.LanguageVersion;
314diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Invariantly);
320diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Covariantly);
326diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Contravariantly);
448MessageID expectedVariance)
451MessageID actualVariance;
455actualVariance = MessageID.IDS_Contravariant;
458actualVariance = MessageID.IDS_Covariant;
478new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers.RequiredVersion()));