Binder\Binder.ValueChecks.cs (15)
981Error(diagnostics, ErrorCode.ERR_BadSKknown, node, ns.NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
986Error(diagnostics, ErrorCode.ERR_BadSKknown, node, type.Type, MessageID.IDS_SK_TYPE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
997Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, unconvertedAddressOf.Operand.Name, MessageID.IDS_AddressOfMethodGroup.Localize());
1008Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, methodGroup.Name, MessageID.IDS_MethodGroup.Localize());
1263Error(diagnostics, ErrorCode.ERR_BadSKknown, expr.Syntax, ((BoundNamespaceExpression)expr).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
1271Error(diagnostics, ErrorCode.ERR_BadSKunknown, expr.Syntax, expr.Type, MessageID.IDS_SK_TYPE.Localize());
1308else if (this.IsDirectlyInIterator && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
2053CheckFeatureAvailability(node, MessageID.IDS_FeatureInitOnlySetters, diagnostics);
3456MessageID cause;
3459cause = MessageID.IDS_FOREACHLOCAL;
3463cause = MessageID.IDS_USINGLOCAL;
3467cause = MessageID.IDS_FIXEDLOCAL;
Binder\Binder_Conversions.cs (10)
440CheckFeatureAvailability(syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
452CheckFeatureAvailability(syntax, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
463CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
507CheckFeatureAvailability(syntax, MessageID.IDS_FeatureFirstClassSpan, diagnostics);
2395if (targetTyped && !destination.IsErrorType() && !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureTargetTypedConditional))
2403new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureTargetTypedConditional.RequiredVersion()));
2636Debug.Assert(syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType));
2856Error(diagnostics, ErrorCode.WRN_OptionalParamValueMismatch, lambdaParameter.GetFirstLocation(), p + 1, lambdaParamDefault, delegateParamDefault ?? ((object)MessageID.IDS_Missing.Localize()));
2900CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructs, diagnostics);
3213else if (WasImplicitReceiver(receiverOpt) && !(IsInsideNameof && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
Binder\Binder_Expressions.cs (52)
38if (!isExplicit && IsInsideNameof && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof))
457if (CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInferredDelegateType, diagnostics))
753MessageID.IDS_FeatureDefaultLiteral.CheckFeatureAvailability(diagnostics, node);
913MessageID.IDS_FeatureThrowExpression.CheckFeatureAvailability(diagnostics, node.ThrowKeyword);
1036MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, node);
1569var requiredVersion = MessageID.IDS_FeatureFieldKeyword.RequiredVersion();
1611case ManagedKind.UnmanagedWithGenerics when MessageID.IDS_FeatureUnmanagedConstructedTypes.GetFeatureAvailabilityDiagnosticInfo(compilation) is CSDiagnosticInfo diagnosticInfo:
1629MessageID.IDS_FeatureDefault.CheckFeatureAvailability(diagnostics, node.Keyword);
1930CheckFeatureAvailability(node, MessageID.IDS_FeatureDiscards, diagnostics);
2385if (!IsInsideNameof || (EnclosingNameofArgument != node && !node.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
2419CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics);
2679CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexOperator, diagnostics);
2720CheckFeatureAvailability(node, MessageID.IDS_FeatureRangeOperator, diagnostics);
2901diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
3075nameString = MessageID.IDS_Lambda.Localize().ToString();
3210MessageID.IDS_FeatureReadOnlyReferences.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3215MessageID.IDS_FeatureOutVar.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3295CheckFeatureAvailability(declarationExpression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
3373CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
3413CheckFeatureAvailability(nameColonSyntax, MessageID.IDS_FeatureNamedArgument, diagnostics);
3460new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNonTrailingNamedArguments.RequiredVersion()));
3984if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefReadonlyParameters))
3990var available = CheckFeatureAvailability(argument.Syntax, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
4202MessageID.IDS_FeatureImplicitArray.CheckFeatureAvailability(diagnostics, node.NewKeyword);
4667LanguageVersion requiredVersion = MessageID.IDS_FeatureNestedStackalloc.RequiredVersion();
4673MessageID.IDS_FeatureNestedStackalloc.CheckFeatureAvailability(diagnostics, node.GetFirstToken());
4692CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructs, diagnostics);
4755MessageID.IDS_FeatureStackAllocInitializer.CheckFeatureAvailability(diagnostics, stackAllocKeyword);
5257MessageID.IDS_FeatureImplicitObjectCreation.CheckFeatureAvailability(diagnostics, node.NewKeyword);
5342MessageID.IDS_FeatureCollectionExpressions.CheckFeatureAvailability(diagnostics, syntax, syntax.OpenBracketToken.GetLocation());
5351MessageID.IDS_FeatureCollectionExpressionArguments.CheckFeatureAvailability(diagnostics, syntax, withElementSyntax.WithKeyword.GetLocation());
5847MessageID.IDS_FeatureObjectInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6051MessageID.IDS_FeatureDictionaryInitializer.CheckFeatureAvailability(diagnostics, implicitIndexing.ArgumentList.OpenBracketToken);
6149MessageID.IDS_FeatureImplicitIndexerInitializer.CheckFeatureAvailability(diagnostics, implicitIndexer.Syntax);
6422MessageID.IDS_FeatureCollectionInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6483CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
7586MessageID.IDS_FeatureRawStringLiterals.CheckFeatureAvailability(diagnostics, node);
7599CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
7602CheckFeatureAvailability(node, MessageID.IDS_FeatureUtf8StringLiterals, diagnostics);
7928var msgId = ((UnboundLambda)boundLeft).MessageID;
8128CheckFeatureAvailability(boundLeft.Syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
8175Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
8205Error(diagnostics, ErrorCode.ERR_BadSKunknown, methodGroup.NameSyntax, method, MessageID.IDS_SK_METHOD.Localize());
8265MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, syntax);
9165CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexingMovableFixedBuffers, diagnostics);
9211CheckFeatureAvailability(node, MessageID.IDS_FeatureRefFields, diagnostics);
9440else if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics))
9810CheckFeatureAvailability(node, MessageID.IDS_FeatureInlineArrays, diagnostics);
10568_ = MessageID.IDS_FeatureIndexOperator.CheckFeatureAvailability(diagnostics, syntax);
11608MessageID.IDS_FeatureNullPropagatingOperator.CheckFeatureAvailability(diagnostics, node.OperatorToken);
11616MessageID.IDS_FeatureNullConditionalAssignment.CheckFeatureAvailability(diagnostics, assignment.OperatorToken);
11797var 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)
1830diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, namedType, MessageID.IDS_SK_TYPE.Localize()) : null;
1835diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, namedType, MessageID.IDS_SK_TYPE.Localize(), namedType.Arity) : null;
1851diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, method, MessageID.IDS_SK_METHOD.Localize()) : null;
1856diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, method, MessageID.IDS_SK_METHOD.Localize(), method.Arity) : null;
Binder\Binder_Operators.cs (20)
352!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
498CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
981CheckFeatureAvailability(node, MessageID.IDS_FeatureTupleEquality, diagnostics);
2234Binder.CheckFeatureAvailability(node, MessageID.IDS_DefaultInterfaceImplementation, diagnostics);
3447!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
3586CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
3991result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4002result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4010result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4021result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
4025result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
4029result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4040MessageID.IDS_FeatureNullableReferenceTypes.CheckFeatureAvailability(diagnostics, node.OperatorToken);
4831((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching))
4878if (wasUnderscore && ((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeatureRecursivePatterns))
5635CheckFeatureAvailability(node, MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator, diagnostics);
5773MessageID.IDS_FeatureCoalesceAssignmentExpression.CheckFeatureAvailability(diagnostics, node.OperatorToken);
5892CheckFeatureAvailability(node, MessageID.IDS_FeatureRefConditional, diagnostics);
6045CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
6061CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
Binder\Binder_Patterns.cs (22)
21MessageID.IDS_FeaturePatternMatching.CheckFeatureAvailability(diagnostics, node.IsKeyword);
159MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node.SwitchKeyword);
209MessageID.IDS_FeatureParenthesizedPattern.CheckFeatureAvailability(diagnostics, node.OpenParenToken);
307CheckFeatureAvailability(node, MessageID.IDS_FeatureListPattern, diagnostics);
415MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
457CheckFeatureAvailability(innerExpression, MessageID.IDS_FeatureTypePattern, diagnostics);
586CheckFeatureAvailability(patternExpression, MessageID.IDS_FeatureNullPointerConstantPattern, diagnostics);
642var requiredVersion = MessageID.IDS_FeatureRecursivePatterns.RequiredVersion();
666if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
785LanguageVersion requiredVersion = MessageID.IDS_FeatureGenericPatternMatching.RequiredVersion();
900CheckFeatureAvailability(designation, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
975MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1103MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, subPattern.ExpressionColon.ColonToken);
1258if (Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion())
1336|| (inputType.IsPointerType() && Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion()))
1384MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1481MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, p.ExpressionColon.ColonToken);
1628MessageID.IDS_FeatureTypePattern.CheckFeatureAvailability(diagnostics, node);
1641MessageID.IDS_FeatureRelationalPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1735MessageID.IDS_FeatureNotPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1799MessageID.IDS_FeatureOrPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1866MessageID.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 (24)
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());
1643return MessageID.IDS_ArrayAccess.Localize();
1647return MessageID.IDS_PointerElementAccess.Localize();
2534syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType))
3402MessageID.IDS_FeatureExceptionFilter.CheckFeatureAvailability(diagnostics, filter.WhenKeyword);
3600ConstructorDeclarationSyntax or DestructorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedDeOrConstructor,
3601AccessorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedAccessor,
3602BaseMethodDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedMethod,
3603IndexerDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedIndexer,
3604PropertyDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedProperty,
3608LocalFunctionStatementSyntax => (MessageID?)null,
3715MessageID.IDS_TopLevelStatements.CheckFeatureAvailability(diagnostics, topLevelStatement);
Binder\Binder_Symbols.cs (24)
117CheckFeatureAvailability(syntax, MessageID.IDS_FeatureImplicitLocal, diagnostics);
161CheckFeatureAvailability(syntax, MessageID.IDS_FeatureUnmanagedGenericTypeConstraint, diagnostics);
164CheckFeatureAvailability(identifierSyntax, MessageID.IDS_FeatureNotNullGenericTypeConstraint, diagnostics);
342var diagnosticInfo = diagnostics.Add(ErrorCode.ERR_BadSKknown, syntax.Location, syntax, symbol.Symbol.GetKindText(), MessageID.IDS_SK_TYPE.Localize());
459MessageID.IDS_FeatureFunctionPointers.CheckFeatureAvailability(diagnostics, functionPointerTypeSyntax.DelegateKeyword);
550MessageID.IDS_FeatureNullable.CheckFeatureAvailability(diagnostics, nullableSyntax.QuestionToken);
587MessageID.IDS_FeatureGlobalNamespace.CheckFeatureAvailability(diagnostics, node.Alias);
627var requiredVersion = MessageID.IDS_FeatureDefaultTypeParameterConstraint.RequiredVersion();
688MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, syntax);
743bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
941if (Compilation.LanguageVersion < MessageID.IDS_FeatureDynamic.RequiredVersion())
1032CheckFeatureAvailability(node, MessageID.IDS_FeatureNativeInt, diagnostics);
1378var binder = !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureUsingTypeAlias)
1399CheckFeatureAvailability(typeSyntax, MessageID.IDS_FeatureUnboundGenericTypesInNameof, diagnostics);
1419Error(diagnostics, ErrorCode.ERR_BadArity, typeSyntax, type, MessageID.IDS_SK_TYPE.Localize(), typeArgumentsSyntax.Count);
1451Error(diagnostics, ErrorCode.ERR_BadArity, syntax, plainName, MessageID.IDS_MethodGroup.Localize(), typeArgumentsSyntax.Count);
1641bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
2819internal static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null)
2822internal static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, BindingDiagnosticBag diagnostics, bool forceWarning = false)
2825internal static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, BindingDiagnosticBag diagnostics, Location location)
2828private static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, DiagnosticBag? diagnostics, Location? location = null)
2831private static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, DiagnosticBag? diagnostics, bool forceWarning = false)
2834private static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, Location location)
2840private static bool CheckFeatureAvailability<TData>(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, TData data, Func<TData, Location> getLocation, bool forceWarning = false)
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);
543CheckFeatureAvailability(foreachKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
895CheckFeatureAvailability(collectionExpr.Syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
1239CheckFeatureAvailability(expr.Syntax, MessageID.IDS_FeatureDisposalPattern, diagnostics);
1283CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
1462MessageID patternName = isAsync ? MessageID.IDS_FeatureAsyncStreams : MessageID.IDS_Collection;
1499diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1596diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1755diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1819CheckFeatureAvailability(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);
435AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
649AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "modulename");
697AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
710AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
718AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/doc:"); // Different argument.
730AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/addmodule:");
820AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
1077AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "keycontainer");
1139AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "subsystemversion");
1160AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "touchedfiles");
1455ParseAndResolveReferencePaths(null, additionalReferenceDirectories.AsMemory(), baseDirectory, libPaths, MessageID.IDS_LIB_ENV, diagnostics);
1570if (nullableContextOptions != NullableContextOptions.Disable && parseOptions.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
1574new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())), Location.None));
1633private static void ParseAndResolveReferencePaths(string? switchName, ReadOnlyMemory<char>? switchValue, string? baseDirectory, List<string> builder, MessageID origin, List<Diagnostic> diagnostics)
1638AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_PathList.Localize(), switchName);
1647AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryHasInvalidPath.Localize());
1651AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryDoesNotExist.Localize());
1892AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Namespace1.Localize(), arg);
1906AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
1933AddDiagnostic(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 (11)
481MessageID.IDS_FeatureUsingStatic.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.StaticKeyword.GetLocation());
484MessageID.IDS_FeatureGlobalUsing.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.GlobalKeyword.GetLocation());
491MessageID.IDS_FeatureExternAlias.CheckFeatureAvailability(diagnostics, externAlias, externAlias.ExternKeyword.GetLocation());
529MessageID.IDS_FeatureFileScopedNamespace.CheckFeatureAvailability(diagnostics, node, node.NamespaceKeyword.GetLocation());
734MessageID.IDS_FeatureRecordStructs.CheckFeatureAvailability(diagnostics, record, record.ClassOrStructKeyword.GetLocation());
747MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node.ParameterList);
752MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
763MessageID.IDS_FeatureStaticClasses.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
767MessageID.IDS_FeatureReadOnlyStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
771MessageID.IDS_FeatureRefStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
859MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
Errors\MessageID.cs (199)
316private readonly MessageID _id;
318internal LocalizableErrorArgument(MessageID id)
338public static LocalizableErrorArgument Localize(this MessageID id)
349internal static string? RequiredFeature(this MessageID feature)
360this MessageID feature,
374this MessageID feature,
388this MessageID feature,
402this MessageID feature,
416this MessageID feature,
431this MessageID feature,
446this MessageID feature,
459internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpParseOptions options)
462internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpCompilation compilation)
465private static CSDiagnosticInfo GetDisabledFeatureDiagnosticInfo(MessageID feature, LanguageVersion availableVersion)
479internal static LanguageVersion RequiredVersion(this MessageID feature)
490case MessageID.IDS_FeatureCollectionExpressionArguments:
494case MessageID.IDS_FeatureFieldKeyword:
495case MessageID.IDS_FeatureFirstClassSpan:
496case MessageID.IDS_FeatureUnboundGenericTypesInNameof:
497case MessageID.IDS_FeatureSimpleLambdaParameterModifiers:
498case MessageID.IDS_FeaturePartialEventsAndConstructors:
499case MessageID.IDS_FeatureExtensions:
500case MessageID.IDS_FeatureNullConditionalAssignment:
501case MessageID.IDS_FeatureExpressionOptionalAndNamedArguments:
502case MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators:
506case MessageID.IDS_FeatureStringEscapeCharacter: // lexer check
507case MessageID.IDS_FeatureImplicitIndexerInitializer:
508case MessageID.IDS_FeatureLockObject:
509case MessageID.IDS_FeatureParamsCollections:
510case MessageID.IDS_FeatureRefUnsafeInIteratorAsync:
511case MessageID.IDS_FeatureRefStructInterfaces:
512case MessageID.IDS_FeatureAllowsRefStructConstraint:
513case MessageID.IDS_FeaturePartialProperties:
514case MessageID.IDS_FeatureOverloadResolutionPriority:
518case MessageID.IDS_FeatureLambdaOptionalParameters: // semantic check
519case MessageID.IDS_FeatureLambdaParamsArray: // semantic check
520case MessageID.IDS_FeaturePrimaryConstructors: // declaration table check
521case MessageID.IDS_FeatureUsingTypeAlias: // semantic check
522case MessageID.IDS_FeatureInstanceMemberInNameof: // semantic check
523case MessageID.IDS_FeatureInlineArrays: // semantic check
524case MessageID.IDS_FeatureCollectionExpressions: // semantic check
525case MessageID.IDS_FeatureRefReadonlyParameters: // semantic check
529case MessageID.IDS_FeatureRawStringLiterals:
530case MessageID.IDS_FeatureStaticAbstractMembersInInterfaces: // semantic check
531case MessageID.IDS_FeatureNewLinesInInterpolations: // semantic check
532case MessageID.IDS_FeatureListPattern: // semantic check
533case MessageID.IDS_FeatureRequiredMembers: // semantic check
534case MessageID.IDS_FeatureCacheStaticMethodGroupConversion: // lowering check
535case MessageID.IDS_FeatureSpanCharConstantPattern:
536case MessageID.IDS_FeatureAutoDefaultStructs: // semantic check
537case MessageID.IDS_FeatureCheckedUserDefinedOperators: // semantic check for declarations, parsing check for doc comments
538case MessageID.IDS_FeatureUtf8StringLiterals: // semantic check
539case MessageID.IDS_FeatureUnsignedRightShift: // semantic check for declarations and consumption, parsing check for doc comments
540case MessageID.IDS_FeatureRelaxedShiftOperator: // semantic check
541case MessageID.IDS_FeatureRefFields: // semantic check
542case MessageID.IDS_FeatureFileTypes: // semantic check
543case MessageID.IDS_FeatureGenericAttributes: // semantic check
547case MessageID.IDS_FeatureMixedDeclarationsAndExpressionsInDeconstruction: // semantic check
548case MessageID.IDS_FeatureSealedToStringInRecord: // semantic check
549case MessageID.IDS_FeatureImprovedInterpolatedStrings: // semantic check
550case MessageID.IDS_FeatureRecordStructs:
551case MessageID.IDS_FeatureWithOnStructs: // semantic check
552case MessageID.IDS_FeatureWithOnAnonymousTypes: // semantic check
553case MessageID.IDS_FeaturePositionalFieldsInRecords: // semantic check
554case MessageID.IDS_FeatureGlobalUsing:
555case MessageID.IDS_FeatureInferredDelegateType: // semantic check
556case MessageID.IDS_FeatureLambdaAttributes: // semantic check
557case MessageID.IDS_FeatureExtendedPropertyPatterns: // semantic check
558case MessageID.IDS_FeatureLambdaReturnType: // semantic check
559case MessageID.IDS_AsyncMethodBuilderOverride: // semantic check
560case MessageID.IDS_FeatureConstantInterpolatedStrings: // semantic check
561case MessageID.IDS_FeatureImplicitImplementationOfNonPublicMembers: // semantic check
562case MessageID.IDS_FeatureFileScopedNamespace: // semantic check
563case MessageID.IDS_FeatureParameterlessStructConstructors: // semantic check
564case MessageID.IDS_FeatureStructFieldInitializers: // semantic check
568case MessageID.IDS_FeatureLambdaDiscardParameters: // semantic check
569case MessageID.IDS_FeatureFunctionPointers: // semantic check
570case MessageID.IDS_FeatureLocalFunctionAttributes: // syntax check
571case MessageID.IDS_FeatureExternLocalFunctions: // semantic check
572case MessageID.IDS_FeatureImplicitObjectCreation: // semantic check
573case MessageID.IDS_FeatureMemberNotNull:
574case MessageID.IDS_FeatureAndPattern: // semantic check
575case MessageID.IDS_FeatureNotPattern: // semantic check
576case MessageID.IDS_FeatureOrPattern: // semantic check
577case MessageID.IDS_FeatureParenthesizedPattern: // semantic check
578case MessageID.IDS_FeatureTypePattern: // semantic check
579case MessageID.IDS_FeatureRelationalPattern: // semantic check
580case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
581case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
582case MessageID.IDS_FeatureNativeInt:
583case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
584case MessageID.IDS_TopLevelStatements:
585case MessageID.IDS_FeatureInitOnlySetters: // semantic check
586case MessageID.IDS_FeatureRecords: // semantic check
587case MessageID.IDS_FeatureTargetTypedConditional: // semantic check
588case MessageID.IDS_FeatureCovariantReturnsForOverrides: // semantic check
589case MessageID.IDS_FeatureStaticAnonymousFunction: // semantic check
590case MessageID.IDS_FeatureModuleInitializers: // semantic check on method attribute
591case MessageID.IDS_FeatureDefaultTypeParameterConstraint: // semantic check
592case MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers: // semantic check
596case MessageID.IDS_FeatureAltInterpolatedVerbatimStrings: // semantic check
597case MessageID.IDS_FeatureCoalesceAssignmentExpression: // semantic check
598case MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator:
599case MessageID.IDS_FeatureNullableReferenceTypes: // syntax and semantic check
600case MessageID.IDS_FeatureIndexOperator: // semantic check
601case MessageID.IDS_FeatureRangeOperator: // semantic check
602case MessageID.IDS_FeatureAsyncStreams: // semantic check
603case MessageID.IDS_FeatureRecursivePatterns: // semantic check
604case MessageID.IDS_FeatureUsingDeclarations: // semantic check
605case MessageID.IDS_FeatureDisposalPattern: //semantic check
606case MessageID.IDS_FeatureStaticLocalFunctions: // semantic check
607case MessageID.IDS_FeatureNameShadowingInNestedFunctions:
608case MessageID.IDS_FeatureUnmanagedConstructedTypes: // semantic check
609case MessageID.IDS_FeatureObsoleteOnPropertyAccessor:
610case MessageID.IDS_FeatureReadOnlyMembers:
611case MessageID.IDS_DefaultInterfaceImplementation: // semantic check
612case MessageID.IDS_OverrideWithConstraints: // semantic check
613case MessageID.IDS_FeatureNestedStackalloc: // semantic check
614case MessageID.IDS_FeatureNotNullGenericTypeConstraint:// semantic check
615case MessageID.IDS_FeatureSwitchExpression:
616case MessageID.IDS_FeatureAsyncUsing:
617case MessageID.IDS_FeatureNullPointerConstantPattern: //semantic check
621case MessageID.IDS_FeatureAttributesOnBackingFields: // semantic check
622case MessageID.IDS_FeatureImprovedOverloadCandidates: // semantic check
623case MessageID.IDS_FeatureTupleEquality: // semantic check
624case MessageID.IDS_FeatureRefReassignment: // semantic check
625case MessageID.IDS_FeatureRefFor:
626case MessageID.IDS_FeatureRefForEach: // semantic check
627case MessageID.IDS_FeatureEnumGenericTypeConstraint: // semantic check
628case MessageID.IDS_FeatureDelegateGenericTypeConstraint: // semantic check
629case MessageID.IDS_FeatureUnmanagedGenericTypeConstraint: // semantic check
630case MessageID.IDS_FeatureStackAllocInitializer: // semantic check
631case MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers: // semantic check
632case MessageID.IDS_FeatureExtensibleFixedStatement: // semantic check
633case MessageID.IDS_FeatureIndexingMovableFixedBuffers: //semantic check
637case MessageID.IDS_FeatureNonTrailingNamedArguments: // semantic check
638case MessageID.IDS_FeatureLeadingDigitSeparator:
639case MessageID.IDS_FeaturePrivateProtected:
640case MessageID.IDS_FeatureReadOnlyReferences: // semantic check
641case MessageID.IDS_FeatureRefStructs: // semantic check
642case MessageID.IDS_FeatureReadOnlyStructs: // semantic check
643case MessageID.IDS_FeatureRefExtensionMethods:
644case MessageID.IDS_FeatureRefConditional:
648case MessageID.IDS_FeatureAsyncMain:
649case MessageID.IDS_FeatureDefaultLiteral: // semantic check
650case MessageID.IDS_FeatureInferredTupleNames:
651case MessageID.IDS_FeatureGenericPatternMatching:
655case MessageID.IDS_FeatureBinaryLiteral:
656case MessageID.IDS_FeatureDigitSeparator:
657case MessageID.IDS_FeatureLocalFunctions: // semantic check
658case MessageID.IDS_FeatureRefLocalsReturns:
659case MessageID.IDS_FeaturePatternMatching: // semantic check
660case MessageID.IDS_FeatureThrowExpression: // semantic check
661case MessageID.IDS_FeatureTuples:
662case MessageID.IDS_FeatureOutVar: // semantic check
663case MessageID.IDS_FeatureExpressionBodiedAccessor:
664case MessageID.IDS_FeatureExpressionBodiedDeOrConstructor:
665case MessageID.IDS_FeatureDiscards:
669case MessageID.IDS_FeatureExceptionFilter: // semantic check
670case MessageID.IDS_FeatureAutoPropertyInitializer: // semantic check
671case MessageID.IDS_FeatureNullPropagatingOperator: // semantic check
672case MessageID.IDS_FeatureExpressionBodiedMethod:
673case MessageID.IDS_FeatureExpressionBodiedProperty: // semantic check
674case MessageID.IDS_FeatureExpressionBodiedIndexer: // semantic check
675case MessageID.IDS_FeatureNameof:
676case MessageID.IDS_FeatureDictionaryInitializer: // semantic check
677case MessageID.IDS_FeatureUsingStatic: // semantic check
678case MessageID.IDS_FeatureInterpolatedStrings: // semantic check
679case MessageID.IDS_AwaitInCatchAndFinally:
680case MessageID.IDS_FeatureReadonlyAutoImplementedProperties:
684case MessageID.IDS_FeatureAsync: // semantic check
688case MessageID.IDS_FeatureDynamic: // Checked in the binder.
689case MessageID.IDS_FeatureTypeVariance: // semantic check
690case MessageID.IDS_FeatureNamedArgument: // semantic check
691case MessageID.IDS_FeatureOptionalParameter: // semantic check
695case MessageID.IDS_FeatureImplicitArray: // semantic check
696case MessageID.IDS_FeatureAnonymousTypes: // semantic check
697case MessageID.IDS_FeatureObjectInitializer:
698case MessageID.IDS_FeatureCollectionInitializer:
699case MessageID.IDS_FeatureLambda: // semantic check
700case MessageID.IDS_FeatureQueryExpression: // semantic check
701case MessageID.IDS_FeatureExtensionMethod:
702case MessageID.IDS_FeaturePartialMethod: // semantic check
703case MessageID.IDS_FeatureImplicitLocal: // Checked in the binder.
704case MessageID.IDS_FeatureAutoImplementedProperties:
708case MessageID.IDS_FeatureGenerics: // Also affects crefs.
709case MessageID.IDS_FeatureAnonDelegates: // semantic check
710case MessageID.IDS_FeatureGlobalNamespace: // Also affects crefs.
711case MessageID.IDS_FeatureFixedBuffer: // semantic check
712case MessageID.IDS_FeatureStaticClasses: // semantic check
713case MessageID.IDS_FeaturePartialTypes: // semantic check
714case MessageID.IDS_FeaturePropertyAccessorMods:
715case MessageID.IDS_FeatureExternAlias: // semantic check
716case MessageID.IDS_FeatureIterators: // semantic check
717case MessageID.IDS_FeatureDefault: // semantic check
718case MessageID.IDS_FeatureNullable:
719case MessageID.IDS_FeaturePragma: // Checked in the directive parser.
720case MessageID.IDS_FeatureSwitchOnBool: // Checked in the binder.
724case 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\ParameterHelpers.cs (8)
228bool allowShadowingNames = withTypeParametersBinder.Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNameShadowingInNestedFunctions) &&
617Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureExtensionMethod, diagnostics);
621Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
650Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
738MessageID.IDS_FeatureLambdaParamsArray.CheckFeatureAvailability(diagnostics, modifier);
748Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureReadOnlyReferences, diagnostics);
752Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
815Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
Symbols\Source\SourceMemberContainerSymbol.cs (17)
508if (reportIfContextual(SyntaxKind.RecordKeyword, MessageID.IDS_FeatureRecords, ErrorCode.WRN_RecordNamedDisallowed)
509|| reportIfContextual(SyntaxKind.RequiredKeyword, MessageID.IDS_FeatureRequiredMembers, ErrorCode.ERR_RequiredNameDisallowed)
510|| reportIfContextual(SyntaxKind.FileKeyword, MessageID.IDS_FeatureFileTypes, ErrorCode.ERR_FileTypeNameDisallowed)
511|| reportIfContextual(SyntaxKind.ScopedKeyword, MessageID.IDS_FeatureRefFields, ErrorCode.ERR_ScopedTypeNameDisallowed)
512|| reportIfContextual(SyntaxKind.ExtensionKeyword, MessageID.IDS_FeatureExtensions, ErrorCode.ERR_ExtensionTypeNameDisallowed))
521bool reportIfContextual(SyntaxKind contextualKind, MessageID featureId, ErrorCode error)
1386Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.GetFirstLocation());
1855MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, compilation, location);
2243var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD;
4701MessageID.IDS_FeatureParameterlessStructConstructors.CheckFeatureAvailability(diagnostics, m.DeclaringCompilation, location);
4730MessageID.IDS_FeatureStructFieldInitializers.CheckFeatureAvailability(diagnostics, symbol.DeclaringCompilation, symbol.GetFirstLocation());
5057if (baseToStringMethod.ContainingModule != this.ContainingModule && !this.DeclaringCompilation.IsFeatureEnabled(MessageID.IDS_FeatureSealedToStringInRecord))
5060var requiredVersion = MessageID.IDS_FeatureSealedToStringInRecord.RequiredVersion();
5083MessageID.IDS_FeatureSealedToStringInRecord.CheckFeatureAvailability(
5147Binder.CheckFeatureAvailability(syntax, MessageID.IDS_FeaturePositionalFieldsInRecords, diagnostics);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (9)
598MessageID.IDS_FeatureMemberNotNull.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
603MessageID.IDS_FeatureMemberNotNull.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
608MessageID.IDS_FeatureModuleInitializers.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
628MessageID.IDS_FeatureRefStructInterfaces.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
642MessageID.IDS_FeatureOverloadResolutionPriority.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
714MessageID.IDS_FeatureObsoleteOnPropertyAccessor.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
1433diagnostics.Add(ErrorCode.ERR_CannotUseManagedTypeInUnmanagedCallersOnly, syntax.Location, type, (isParam ? MessageID.IDS_Parameter : MessageID.IDS_Return).Localize());
1560MessageID.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()));