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))
2061CheckFeatureAvailability(node, MessageID.IDS_FeatureInitOnlySetters, diagnostics);
3466MessageID cause;
3469cause = MessageID.IDS_FOREACHLOCAL;
3473cause = MessageID.IDS_USINGLOCAL;
3477cause = MessageID.IDS_FIXEDLOCAL;
Binder\Binder_Conversions.cs (11)
485CheckFeatureAvailability(syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
497CheckFeatureAvailability(syntax, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
503CheckFeatureAvailability(syntax, MessageID.IDS_FeatureUnions, diagnostics);
512CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
557CheckFeatureAvailability(syntax, MessageID.IDS_FeatureFirstClassSpan, diagnostics);
2448if (targetTyped && !destination.IsErrorType() && !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureTargetTypedConditional))
2456new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureTargetTypedConditional.RequiredVersion()));
2766Debug.Assert(syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType));
2986Error(diagnostics, ErrorCode.WRN_OptionalParamValueMismatch, lambdaParameter.GetFirstLocation(), p + 1, lambdaParamDefault, delegateParamDefault ?? ((object)MessageID.IDS_Missing.Localize()));
3039CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructs, diagnostics);
3352else 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);
2386if (!IsInsideNameof || (EnclosingNameofArgument != node && !node.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
2420CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics);
2680CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexOperator, diagnostics);
2721CheckFeatureAvailability(node, MessageID.IDS_FeatureRangeOperator, diagnostics);
2902diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
3076nameString = MessageID.IDS_Lambda.Localize().ToString();
3211MessageID.IDS_FeatureReadOnlyReferences.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3216MessageID.IDS_FeatureOutVar.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3296CheckFeatureAvailability(declarationExpression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
3374CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
3414CheckFeatureAvailability(nameColonSyntax, MessageID.IDS_FeatureNamedArgument, diagnostics);
3461new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNonTrailingNamedArguments.RequiredVersion()));
3985if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefReadonlyParameters))
3991var available = CheckFeatureAvailability(argument.Syntax, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
4203MessageID.IDS_FeatureImplicitArray.CheckFeatureAvailability(diagnostics, node.NewKeyword);
4668LanguageVersion requiredVersion = MessageID.IDS_FeatureNestedStackalloc.RequiredVersion();
4674MessageID.IDS_FeatureNestedStackalloc.CheckFeatureAvailability(diagnostics, node.GetFirstToken());
4693CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructs, diagnostics);
4756MessageID.IDS_FeatureStackAllocInitializer.CheckFeatureAvailability(diagnostics, stackAllocKeyword);
5259MessageID.IDS_FeatureImplicitObjectCreation.CheckFeatureAvailability(diagnostics, node.NewKeyword);
5344MessageID.IDS_FeatureCollectionExpressions.CheckFeatureAvailability(diagnostics, syntax, syntax.OpenBracketToken.GetLocation());
5353MessageID.IDS_FeatureCollectionExpressionArguments.CheckFeatureAvailability(diagnostics, syntax, withElementSyntax.WithKeyword.GetLocation());
5849MessageID.IDS_FeatureObjectInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6032MessageID.IDS_FeatureDictionaryInitializer.CheckFeatureAvailability(diagnostics, implicitIndexing.ArgumentList.OpenBracketToken);
6129MessageID.IDS_FeatureImplicitIndexerInitializer.CheckFeatureAvailability(diagnostics, implicitIndexer.Syntax);
6402MessageID.IDS_FeatureCollectionInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6462CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
7566MessageID.IDS_FeatureRawStringLiterals.CheckFeatureAvailability(diagnostics, node);
7579CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
7582CheckFeatureAvailability(node, MessageID.IDS_FeatureUtf8StringLiterals, diagnostics);
7913var msgId = ((UnboundLambda)boundLeft).MessageID;
8114CheckFeatureAvailability(boundLeft.Syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
8161Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
8191Error(diagnostics, ErrorCode.ERR_BadSKunknown, methodGroup.NameSyntax, method, MessageID.IDS_SK_METHOD.Localize());
8251MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, syntax);
9152CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexingMovableFixedBuffers, diagnostics);
9198CheckFeatureAvailability(node, MessageID.IDS_FeatureRefFields, diagnostics);
9442else if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics))
9820CheckFeatureAvailability(node, MessageID.IDS_FeatureInlineArrays, diagnostics);
10580_ = MessageID.IDS_FeatureIndexOperator.CheckFeatureAvailability(diagnostics, syntax);
11620MessageID.IDS_FeatureNullPropagatingOperator.CheckFeatureAvailability(diagnostics, node.OperatorToken);
11628MessageID.IDS_FeatureNullConditionalAssignment.CheckFeatureAvailability(diagnostics, assignment.OperatorToken);
11809var 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)
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);
3438!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
3578CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
3983result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
3994result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4002result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4013result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
4017result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
4021result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4032MessageID.IDS_FeatureNullableReferenceTypes.CheckFeatureAvailability(diagnostics, node.OperatorToken);
4834((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching))
4927if (wasUnderscore && ((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeatureRecursivePatterns))
5684CheckFeatureAvailability(node, MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator, diagnostics);
5822MessageID.IDS_FeatureCoalesceAssignmentExpression.CheckFeatureAvailability(diagnostics, node.OperatorToken);
5941CheckFeatureAvailability(node, MessageID.IDS_FeatureRefConditional, diagnostics);
6094CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
6110CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
Binder\Binder_Patterns.cs (23)
23MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, node);
205MessageID.IDS_FeaturePatternMatching.CheckFeatureAvailability(diagnostics, node.IsKeyword);
345MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node.SwitchKeyword);
400MessageID.IDS_FeatureParenthesizedPattern.CheckFeatureAvailability(diagnostics, node.OpenParenToken);
514CheckFeatureAvailability(node, MessageID.IDS_FeatureListPattern, diagnostics);
624MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
690CheckFeatureAvailability(innerExpression, MessageID.IDS_FeatureTypePattern, diagnostics);
830CheckFeatureAvailability(patternExpression, MessageID.IDS_FeatureNullPointerConstantPattern, diagnostics);
888var requiredVersion = MessageID.IDS_FeatureRecursivePatterns.RequiredVersion();
912if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
1105LanguageVersion requiredVersion = MessageID.IDS_FeatureGenericPatternMatching.RequiredVersion();
1253CheckFeatureAvailability(designation, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
1335MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1470MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, subPattern.ExpressionColon.ColonToken);
1617if (Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion())
1701|| (inputType.IsPointerType() && Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion()))
1771MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1892MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, p.ExpressionColon.ColonToken);
2046MessageID.IDS_FeatureTypePattern.CheckFeatureAvailability(diagnostics, node);
2064MessageID.IDS_FeatureRelationalPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2174MessageID.IDS_FeatureNotPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2250MessageID.IDS_FeatureOrPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2270MessageID.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))
3418MessageID.IDS_FeatureExceptionFilter.CheckFeatureAvailability(diagnostics, filter.WhenKeyword);
3616ConstructorDeclarationSyntax or DestructorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedDeOrConstructor,
3617AccessorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedAccessor,
3618BaseMethodDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedMethod,
3619IndexerDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedIndexer,
3620PropertyDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedProperty,
3624LocalFunctionStatementSyntax => (MessageID?)null,
3731MessageID.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);
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);
2823internal static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null)
2826internal static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, BindingDiagnosticBag diagnostics, bool forceWarning = false)
2829internal static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, BindingDiagnosticBag diagnostics, Location location)
2832private static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, DiagnosticBag? diagnostics, Location? location = null)
2835private static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, DiagnosticBag? diagnostics, bool forceWarning = false)
2838private static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, Location location)
2844private 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);
545CheckFeatureAvailability(foreachKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
898CheckFeatureAvailability(collectionExpr.Syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
1242CheckFeatureAvailability(expr.Syntax, MessageID.IDS_FeatureDisposalPattern, diagnostics);
1286CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
1465MessageID patternName = isAsync ? MessageID.IDS_FeatureAsyncStreams : MessageID.IDS_Collection;
1502diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1600diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1759diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1823CheckFeatureAvailability(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());
751MessageID.IDS_FeatureRecordStructs.CheckFeatureAvailability(diagnostics, record, record.ClassOrStructKeyword.GetLocation());
764MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node.ParameterList);
769MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
774MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, node, node.Keyword.GetLocation()); // https://github.com/dotnet/roslyn/issues/82636: Add test coverage, manual tree creation is needed
784MessageID.IDS_FeatureStaticClasses.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
788MessageID.IDS_FeatureReadOnlyStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
792MessageID.IDS_FeatureRefStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
880MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
Errors\MessageID.cs (201)
319private readonly MessageID _id;
321internal LocalizableErrorArgument(MessageID id)
341public static LocalizableErrorArgument Localize(this MessageID id)
352internal static string? RequiredFeature(this MessageID feature)
363this MessageID feature,
377this MessageID feature,
391this MessageID feature,
405this MessageID feature,
419this MessageID feature,
434this MessageID feature,
449this MessageID feature,
462internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpParseOptions options)
465internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpCompilation compilation)
468private static CSDiagnosticInfo GetDisabledFeatureDiagnosticInfo(MessageID feature, LanguageVersion availableVersion)
482internal static LanguageVersion RequiredVersion(this MessageID feature)
493case MessageID.IDS_FeatureCollectionExpressionArguments:
494case MessageID.IDS_FeatureUnsafeEvolution: // https://github.com/dotnet/roslyn/issues/82546: keep this in preview until C# 16
495case MessageID.IDS_FeatureUnions:
499case MessageID.IDS_FeatureFieldKeyword:
500case MessageID.IDS_FeatureFirstClassSpan:
501case MessageID.IDS_FeatureUnboundGenericTypesInNameof:
502case MessageID.IDS_FeatureSimpleLambdaParameterModifiers:
503case MessageID.IDS_FeaturePartialEventsAndConstructors:
504case MessageID.IDS_FeatureExtensions:
505case MessageID.IDS_FeatureNullConditionalAssignment:
506case MessageID.IDS_FeatureExpressionOptionalAndNamedArguments:
507case MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators:
511case MessageID.IDS_FeatureStringEscapeCharacter: // lexer check
512case MessageID.IDS_FeatureImplicitIndexerInitializer:
513case MessageID.IDS_FeatureLockObject:
514case MessageID.IDS_FeatureParamsCollections:
515case MessageID.IDS_FeatureRefUnsafeInIteratorAsync:
516case MessageID.IDS_FeatureRefStructInterfaces:
517case MessageID.IDS_FeatureAllowsRefStructConstraint:
518case MessageID.IDS_FeaturePartialProperties:
519case MessageID.IDS_FeatureOverloadResolutionPriority:
523case MessageID.IDS_FeatureLambdaOptionalParameters: // semantic check
524case MessageID.IDS_FeatureLambdaParamsArray: // semantic check
525case MessageID.IDS_FeaturePrimaryConstructors: // declaration table check
526case MessageID.IDS_FeatureUsingTypeAlias: // semantic check
527case MessageID.IDS_FeatureInstanceMemberInNameof: // semantic check
528case MessageID.IDS_FeatureInlineArrays: // semantic check
529case MessageID.IDS_FeatureCollectionExpressions: // semantic check
530case MessageID.IDS_FeatureRefReadonlyParameters: // semantic check
534case MessageID.IDS_FeatureRawStringLiterals:
535case MessageID.IDS_FeatureStaticAbstractMembersInInterfaces: // semantic check
536case MessageID.IDS_FeatureNewLinesInInterpolations: // semantic check
537case MessageID.IDS_FeatureListPattern: // semantic check
538case MessageID.IDS_FeatureRequiredMembers: // semantic check
539case MessageID.IDS_FeatureCacheStaticMethodGroupConversion: // lowering check
540case MessageID.IDS_FeatureSpanCharConstantPattern:
541case MessageID.IDS_FeatureAutoDefaultStructs: // semantic check
542case MessageID.IDS_FeatureCheckedUserDefinedOperators: // semantic check for declarations, parsing check for doc comments
543case MessageID.IDS_FeatureUtf8StringLiterals: // semantic check
544case MessageID.IDS_FeatureUnsignedRightShift: // semantic check for declarations and consumption, parsing check for doc comments
545case MessageID.IDS_FeatureRelaxedShiftOperator: // semantic check
546case MessageID.IDS_FeatureRefFields: // semantic check
547case MessageID.IDS_FeatureFileTypes: // semantic check
548case MessageID.IDS_FeatureGenericAttributes: // semantic check
552case MessageID.IDS_FeatureMixedDeclarationsAndExpressionsInDeconstruction: // semantic check
553case MessageID.IDS_FeatureSealedToStringInRecord: // semantic check
554case MessageID.IDS_FeatureImprovedInterpolatedStrings: // semantic check
555case MessageID.IDS_FeatureRecordStructs:
556case MessageID.IDS_FeatureWithOnStructs: // semantic check
557case MessageID.IDS_FeatureWithOnAnonymousTypes: // semantic check
558case MessageID.IDS_FeaturePositionalFieldsInRecords: // semantic check
559case MessageID.IDS_FeatureGlobalUsing:
560case MessageID.IDS_FeatureInferredDelegateType: // semantic check
561case MessageID.IDS_FeatureLambdaAttributes: // semantic check
562case MessageID.IDS_FeatureExtendedPropertyPatterns: // semantic check
563case MessageID.IDS_FeatureLambdaReturnType: // semantic check
564case MessageID.IDS_AsyncMethodBuilderOverride: // semantic check
565case MessageID.IDS_FeatureConstantInterpolatedStrings: // semantic check
566case MessageID.IDS_FeatureImplicitImplementationOfNonPublicMembers: // semantic check
567case MessageID.IDS_FeatureFileScopedNamespace: // semantic check
568case MessageID.IDS_FeatureParameterlessStructConstructors: // semantic check
569case MessageID.IDS_FeatureStructFieldInitializers: // semantic check
573case MessageID.IDS_FeatureLambdaDiscardParameters: // semantic check
574case MessageID.IDS_FeatureFunctionPointers: // semantic check
575case MessageID.IDS_FeatureLocalFunctionAttributes: // syntax check
576case MessageID.IDS_FeatureExternLocalFunctions: // semantic check
577case MessageID.IDS_FeatureImplicitObjectCreation: // semantic check
578case MessageID.IDS_FeatureMemberNotNull:
579case MessageID.IDS_FeatureAndPattern: // semantic check
580case MessageID.IDS_FeatureNotPattern: // semantic check
581case MessageID.IDS_FeatureOrPattern: // semantic check
582case MessageID.IDS_FeatureParenthesizedPattern: // semantic check
583case MessageID.IDS_FeatureTypePattern: // semantic check
584case MessageID.IDS_FeatureRelationalPattern: // semantic check
585case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
586case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
587case MessageID.IDS_FeatureNativeInt:
588case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
589case MessageID.IDS_TopLevelStatements:
590case MessageID.IDS_FeatureInitOnlySetters: // semantic check
591case MessageID.IDS_FeatureRecords: // semantic check
592case MessageID.IDS_FeatureTargetTypedConditional: // semantic check
593case MessageID.IDS_FeatureCovariantReturnsForOverrides: // semantic check
594case MessageID.IDS_FeatureStaticAnonymousFunction: // semantic check
595case MessageID.IDS_FeatureModuleInitializers: // semantic check on method attribute
596case MessageID.IDS_FeatureDefaultTypeParameterConstraint: // semantic check
597case MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers: // semantic check
601case MessageID.IDS_FeatureAltInterpolatedVerbatimStrings: // semantic check
602case MessageID.IDS_FeatureCoalesceAssignmentExpression: // semantic check
603case MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator:
604case MessageID.IDS_FeatureNullableReferenceTypes: // syntax and semantic check
605case MessageID.IDS_FeatureIndexOperator: // semantic check
606case MessageID.IDS_FeatureRangeOperator: // semantic check
607case MessageID.IDS_FeatureAsyncStreams: // semantic check
608case MessageID.IDS_FeatureRecursivePatterns: // semantic check
609case MessageID.IDS_FeatureUsingDeclarations: // semantic check
610case MessageID.IDS_FeatureDisposalPattern: //semantic check
611case MessageID.IDS_FeatureStaticLocalFunctions: // semantic check
612case MessageID.IDS_FeatureNameShadowingInNestedFunctions:
613case MessageID.IDS_FeatureUnmanagedConstructedTypes: // semantic check
614case MessageID.IDS_FeatureObsoleteOnPropertyAccessor:
615case MessageID.IDS_FeatureReadOnlyMembers:
616case MessageID.IDS_DefaultInterfaceImplementation: // semantic check
617case MessageID.IDS_OverrideWithConstraints: // semantic check
618case MessageID.IDS_FeatureNestedStackalloc: // semantic check
619case MessageID.IDS_FeatureNotNullGenericTypeConstraint:// semantic check
620case MessageID.IDS_FeatureSwitchExpression:
621case MessageID.IDS_FeatureAsyncUsing:
622case MessageID.IDS_FeatureNullPointerConstantPattern: //semantic check
626case MessageID.IDS_FeatureAttributesOnBackingFields: // semantic check
627case MessageID.IDS_FeatureImprovedOverloadCandidates: // semantic check
628case MessageID.IDS_FeatureTupleEquality: // semantic check
629case MessageID.IDS_FeatureRefReassignment: // semantic check
630case MessageID.IDS_FeatureRefFor:
631case MessageID.IDS_FeatureRefForEach: // semantic check
632case MessageID.IDS_FeatureEnumGenericTypeConstraint: // semantic check
633case MessageID.IDS_FeatureDelegateGenericTypeConstraint: // semantic check
634case MessageID.IDS_FeatureUnmanagedGenericTypeConstraint: // semantic check
635case MessageID.IDS_FeatureStackAllocInitializer: // semantic check
636case MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers: // semantic check
637case MessageID.IDS_FeatureExtensibleFixedStatement: // semantic check
638case MessageID.IDS_FeatureIndexingMovableFixedBuffers: //semantic check
642case MessageID.IDS_FeatureNonTrailingNamedArguments: // semantic check
643case MessageID.IDS_FeatureLeadingDigitSeparator:
644case MessageID.IDS_FeaturePrivateProtected:
645case MessageID.IDS_FeatureReadOnlyReferences: // semantic check
646case MessageID.IDS_FeatureRefStructs: // semantic check
647case MessageID.IDS_FeatureReadOnlyStructs: // semantic check
648case MessageID.IDS_FeatureRefExtensionMethods:
649case MessageID.IDS_FeatureRefConditional:
653case MessageID.IDS_FeatureAsyncMain:
654case MessageID.IDS_FeatureDefaultLiteral: // semantic check
655case MessageID.IDS_FeatureInferredTupleNames:
656case MessageID.IDS_FeatureGenericPatternMatching:
660case MessageID.IDS_FeatureBinaryLiteral:
661case MessageID.IDS_FeatureDigitSeparator:
662case MessageID.IDS_FeatureLocalFunctions: // semantic check
663case MessageID.IDS_FeatureRefLocalsReturns:
664case MessageID.IDS_FeaturePatternMatching: // semantic check
665case MessageID.IDS_FeatureThrowExpression: // semantic check
666case MessageID.IDS_FeatureTuples:
667case MessageID.IDS_FeatureOutVar: // semantic check
668case MessageID.IDS_FeatureExpressionBodiedAccessor:
669case MessageID.IDS_FeatureExpressionBodiedDeOrConstructor:
670case MessageID.IDS_FeatureDiscards:
674case MessageID.IDS_FeatureExceptionFilter: // semantic check
675case MessageID.IDS_FeatureAutoPropertyInitializer: // semantic check
676case MessageID.IDS_FeatureNullPropagatingOperator: // semantic check
677case MessageID.IDS_FeatureExpressionBodiedMethod:
678case MessageID.IDS_FeatureExpressionBodiedProperty: // semantic check
679case MessageID.IDS_FeatureExpressionBodiedIndexer: // semantic check
680case MessageID.IDS_FeatureNameof:
681case MessageID.IDS_FeatureDictionaryInitializer: // semantic check
682case MessageID.IDS_FeatureUsingStatic: // semantic check
683case MessageID.IDS_FeatureInterpolatedStrings: // semantic check
684case MessageID.IDS_AwaitInCatchAndFinally:
685case MessageID.IDS_FeatureReadonlyAutoImplementedProperties:
689case MessageID.IDS_FeatureAsync: // semantic check
693case MessageID.IDS_FeatureDynamic: // Checked in the binder.
694case MessageID.IDS_FeatureTypeVariance: // semantic check
695case MessageID.IDS_FeatureNamedArgument: // semantic check
696case MessageID.IDS_FeatureOptionalParameter: // semantic check
700case MessageID.IDS_FeatureImplicitArray: // semantic check
701case MessageID.IDS_FeatureAnonymousTypes: // semantic check
702case MessageID.IDS_FeatureObjectInitializer:
703case MessageID.IDS_FeatureCollectionInitializer:
704case MessageID.IDS_FeatureLambda: // semantic check
705case MessageID.IDS_FeatureQueryExpression: // semantic check
706case MessageID.IDS_FeatureExtensionMethod:
707case MessageID.IDS_FeaturePartialMethod: // semantic check
708case MessageID.IDS_FeatureImplicitLocal: // Checked in the binder.
709case MessageID.IDS_FeatureAutoImplementedProperties:
713case MessageID.IDS_FeatureGenerics: // Also affects crefs.
714case MessageID.IDS_FeatureAnonDelegates: // semantic check
715case MessageID.IDS_FeatureGlobalNamespace: // Also affects crefs.
716case MessageID.IDS_FeatureFixedBuffer: // semantic check
717case MessageID.IDS_FeatureStaticClasses: // semantic check
718case MessageID.IDS_FeaturePartialTypes: // semantic check
719case MessageID.IDS_FeaturePropertyAccessorMods:
720case MessageID.IDS_FeatureExternAlias: // semantic check
721case MessageID.IDS_FeatureIterators: // semantic check
722case MessageID.IDS_FeatureDefault: // semantic check
723case MessageID.IDS_FeatureNullable:
724case MessageID.IDS_FeaturePragma: // Checked in the directive parser.
725case MessageID.IDS_FeatureSwitchOnBool: // Checked in the binder.
729case 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)
516if (reportIfContextual(SyntaxKind.RecordKeyword, MessageID.IDS_FeatureRecords, ErrorCode.WRN_RecordNamedDisallowed)
517|| reportIfContextual(SyntaxKind.RequiredKeyword, MessageID.IDS_FeatureRequiredMembers, ErrorCode.ERR_RequiredNameDisallowed)
518|| reportIfContextual(SyntaxKind.FileKeyword, MessageID.IDS_FeatureFileTypes, ErrorCode.ERR_FileTypeNameDisallowed)
519|| reportIfContextual(SyntaxKind.ScopedKeyword, MessageID.IDS_FeatureRefFields, ErrorCode.ERR_ScopedTypeNameDisallowed)
520|| reportIfContextual(SyntaxKind.ExtensionKeyword, MessageID.IDS_FeatureExtensions, ErrorCode.ERR_ExtensionTypeNameDisallowed))
529bool reportIfContextual(SyntaxKind contextualKind, MessageID featureId, ErrorCode error)
1402Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.GetFirstLocation());
1871MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, compilation, location);
2279var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD;
4756MessageID.IDS_FeatureParameterlessStructConstructors.CheckFeatureAvailability(diagnostics, m.DeclaringCompilation, location);
4785MessageID.IDS_FeatureStructFieldInitializers.CheckFeatureAvailability(diagnostics, symbol.DeclaringCompilation, symbol.GetFirstLocation());
5192if (baseToStringMethod.ContainingModule != this.ContainingModule && !this.DeclaringCompilation.IsFeatureEnabled(MessageID.IDS_FeatureSealedToStringInRecord))
5195var requiredVersion = MessageID.IDS_FeatureSealedToStringInRecord.RequiredVersion();
5218MessageID.IDS_FeatureSealedToStringInRecord.CheckFeatureAvailability(
5282Binder.CheckFeatureAvailability(syntax, MessageID.IDS_FeaturePositionalFieldsInRecords, diagnostics);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (10)
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);
646MessageID.IDS_FeatureUnsafeEvolution.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
662MessageID.IDS_FeatureOverloadResolutionPriority.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
734MessageID.IDS_FeatureObsoleteOnPropertyAccessor.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
1453diagnostics.Add(ErrorCode.ERR_CannotUseManagedTypeInUnmanagedCallersOnly, syntax.Location, type, (isParam ? MessageID.IDS_Parameter : MessageID.IDS_Return).Localize());
1580MessageID.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()));