Binder\Binder.ValueChecks.cs (15)
709Error(diagnostics, ErrorCode.ERR_BadSKknown, node, ns.NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
714Error(diagnostics, ErrorCode.ERR_BadSKknown, node, type.Type, MessageID.IDS_SK_TYPE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
725Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, unconvertedAddressOf.Operand.Name, MessageID.IDS_AddressOfMethodGroup.Localize());
736Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, methodGroup.Name, MessageID.IDS_MethodGroup.Localize());
990Error(diagnostics, ErrorCode.ERR_BadSKknown, expr.Syntax, ((BoundNamespaceExpression)expr).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
993Error(diagnostics, ErrorCode.ERR_BadSKunknown, expr.Syntax, expr.Type, MessageID.IDS_SK_TYPE.Localize());
1008else if (this.IsDirectlyInIterator && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
1730CheckFeatureAvailability(node, MessageID.IDS_FeatureInitOnlySetters, diagnostics);
3055MessageID cause;
3058cause = MessageID.IDS_FOREACHLOCAL;
3062cause = MessageID.IDS_USINGLOCAL;
3066cause = MessageID.IDS_FIXEDLOCAL;
Binder\Binder_Expressions.cs (48)
420if (CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInferredDelegateType, diagnostics))
712MessageID.IDS_FeatureDefaultLiteral.CheckFeatureAvailability(diagnostics, node);
872MessageID.IDS_FeatureThrowExpression.CheckFeatureAvailability(diagnostics, node.ThrowKeyword);
995MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, node);
1460case ManagedKind.UnmanagedWithGenerics when MessageID.IDS_FeatureUnmanagedConstructedTypes.GetFeatureAvailabilityDiagnosticInfo(compilation) is CSDiagnosticInfo diagnosticInfo:
1478MessageID.IDS_FeatureDefault.CheckFeatureAvailability(diagnostics, node.Keyword);
1747var requiredVersion = MessageID.IDS_FeatureFieldKeyword.RequiredVersion();
1784CheckFeatureAvailability(node, MessageID.IDS_FeatureDiscards, diagnostics);
2224if (!IsInsideNameof || (EnclosingNameofArgument != node && !node.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
2258CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics);
2518CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexOperator, diagnostics);
2559CheckFeatureAvailability(node, MessageID.IDS_FeatureRangeOperator, diagnostics);
2740diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
2914nameString = MessageID.IDS_Lambda.Localize().ToString();
3049MessageID.IDS_FeatureReadOnlyReferences.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3054MessageID.IDS_FeatureOutVar.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3132CheckFeatureAvailability(declarationExpression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
3210CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
3250CheckFeatureAvailability(nameColonSyntax, MessageID.IDS_FeatureNamedArgument, diagnostics);
3297new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNonTrailingNamedArguments.RequiredVersion()));
3369if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefReadonlyParameters))
3376var available = CheckFeatureAvailability(argument.Syntax, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
4022MessageID.IDS_FeatureImplicitArray.CheckFeatureAvailability(diagnostics, node.NewKeyword);
4487LanguageVersion requiredVersion = MessageID.IDS_FeatureNestedStackalloc.RequiredVersion();
4493MessageID.IDS_FeatureNestedStackalloc.CheckFeatureAvailability(diagnostics, node.GetFirstToken());
4512CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructs, diagnostics);
4575MessageID.IDS_FeatureStackAllocInitializer.CheckFeatureAvailability(diagnostics, stackAllocKeyword);
5075MessageID.IDS_FeatureImplicitObjectCreation.CheckFeatureAvailability(diagnostics, node.NewKeyword);
5162MessageID.IDS_FeatureCollectionExpressions.CheckFeatureAvailability(diagnostics, syntax, syntax.OpenBracketToken.GetLocation());
5587MessageID.IDS_FeatureObjectInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
5733MessageID.IDS_FeatureDictionaryInitializer.CheckFeatureAvailability(diagnostics, implicitIndexing.ArgumentList.OpenBracketToken);
5831MessageID.IDS_FeatureImplicitIndexerInitializer.CheckFeatureAvailability(diagnostics, implicitIndexer.Syntax);
6104MessageID.IDS_FeatureCollectionInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6165CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
7235MessageID.IDS_FeatureRawStringLiterals.CheckFeatureAvailability(diagnostics, node);
7248CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
7251CheckFeatureAvailability(node, MessageID.IDS_FeatureUtf8StringLiterals, diagnostics);
7548var msgId = ((UnboundLambda)boundLeft).MessageID;
7747CheckFeatureAvailability(boundLeft.Syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
7779Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
7808Error(diagnostics, ErrorCode.ERR_BadSKunknown, methodGroup.NameSyntax, method, MessageID.IDS_SK_METHOD.Localize());
8465CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexingMovableFixedBuffers, diagnostics);
8511CheckFeatureAvailability(node, MessageID.IDS_FeatureRefFields, diagnostics);
8720else if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics))
9090CheckFeatureAvailability(node, MessageID.IDS_FeatureInlineArrays, diagnostics);
9848_ = MessageID.IDS_FeatureIndexOperator.CheckFeatureAvailability(diagnostics, syntax);
10750MessageID.IDS_FeatureNullPropagatingOperator.CheckFeatureAvailability(diagnostics, node.OperatorToken);
10927var 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()));
524CheckFeatureAvailability(syntax, MessageID.IDS_FeatureImprovedInterpolatedStrings, diagnostics);
526else if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureImprovedInterpolatedStrings) && diagnostics.AccumulatesDiagnostics)
551CheckFeatureAvailability(value.Syntax, MessageID.IDS_FeatureImprovedInterpolatedStrings, diagnostics);
561CheckFeatureAvailability(value.Syntax, MessageID.IDS_FeatureImprovedInterpolatedStrings, diagnostics);
Binder\Binder_Lookup.cs (4)
1780diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, namedType, MessageID.IDS_SK_TYPE.Localize()) : null;
1785diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, namedType, MessageID.IDS_SK_TYPE.Localize(), namedType.Arity) : null;
1801diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, method, MessageID.IDS_SK_METHOD.Localize()) : null;
1806diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, method, MessageID.IDS_SK_METHOD.Localize(), method.Arity) : null;
Binder\Binder_Operators.cs (15)
548CheckFeatureAvailability(node, MessageID.IDS_FeatureTupleEquality, diagnostics);
1381Binder.CheckFeatureAvailability(node, MessageID.IDS_DefaultInterfaceImplementation, diagnostics);
2396result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
2407result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
2415result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
2426result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
2430result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
2441MessageID.IDS_FeatureNullableReferenceTypes.CheckFeatureAvailability(diagnostics, node.OperatorToken);
3227((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching))
3274if (wasUnderscore && ((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeatureRecursivePatterns))
4029CheckFeatureAvailability(node, MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator, diagnostics);
4167MessageID.IDS_FeatureCoalesceAssignmentExpression.CheckFeatureAvailability(diagnostics, node.OperatorToken);
4288CheckFeatureAvailability(node, MessageID.IDS_FeatureRefConditional, diagnostics);
4443CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
4459CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
Binder\Binder_Patterns.cs (22)
20MessageID.IDS_FeaturePatternMatching.CheckFeatureAvailability(diagnostics, node.IsKeyword);
147MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node.SwitchKeyword);
197MessageID.IDS_FeatureParenthesizedPattern.CheckFeatureAvailability(diagnostics, node.OpenParenToken);
295CheckFeatureAvailability(node, MessageID.IDS_FeatureListPattern, diagnostics);
403MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
445CheckFeatureAvailability(innerExpression, MessageID.IDS_FeatureTypePattern, diagnostics);
574CheckFeatureAvailability(patternExpression, MessageID.IDS_FeatureNullPointerConstantPattern, diagnostics);
630var requiredVersion = MessageID.IDS_FeatureRecursivePatterns.RequiredVersion();
654if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
773LanguageVersion requiredVersion = MessageID.IDS_FeatureGenericPatternMatching.RequiredVersion();
888CheckFeatureAvailability(designation, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
963MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1091MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, subPattern.ExpressionColon.ColonToken);
1246if (Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion())
1324|| (inputType.IsPointerType() && Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion()))
1372MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1469MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, p.ExpressionColon.ColonToken);
1616MessageID.IDS_FeatureTypePattern.CheckFeatureAvailability(diagnostics, node);
1629MessageID.IDS_FeatureRelationalPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1723MessageID.IDS_FeatureNotPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1740MessageID.IDS_FeatureOrPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1825MessageID.IDS_FeatureAndPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
Binder\Binder_Query.cs (6)
26MessageID.IDS_FeatureQueryExpression.CheckFeatureAvailability(diagnostics, node.FromClause.FromKeyword);
773CheckFeatureAvailability(expression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics, locals[0].GetFirstLocation());
949diagnostics.Add(ErrorCode.ERR_BadSKunknown, ultimateReceiver.Syntax.Location, ((BoundNamespaceExpression)ultimateReceiver).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize());
954diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, MessageID.IDS_AnonMethod.Localize(), methodName);
970diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, MessageID.IDS_SK_METHOD.Localize(), methodName);
982Error(diagnostics, ErrorCode.ERR_BadSKunknown, ultimateReceiver.Syntax, ultimateReceiver.Type, MessageID.IDS_SK_TYVAR.Localize());
Binder\Binder_Statements.cs (24)
48CheckFeatureAvailability(attributeList, MessageID.IDS_FeatureLocalFunctionAttributes, diagnostics);
179CheckFeatureAvailability(node.UnsafeKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
216MessageID.IDS_FeatureIterators.CheckFeatureAvailability(diagnostics, statement.YieldKeyword);
221MessageID.IDS_FeatureAsyncStreams.CheckFeatureAvailability(
269else if (InUnsafeRegion && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
395if (Compilation.LanguageVersion < MessageID.IDS_FeatureSwitchExpression.RequiredVersion())
555MessageID.IDS_FeatureLocalFunctions.CheckFeatureAvailability(diagnostics, node.Identifier);
600MessageID.IDS_FeatureStaticLocalFunctions.CheckFeatureAvailability(diagnostics, modifier);
602MessageID.IDS_FeatureExternLocalFunctions.CheckFeatureAvailability(diagnostics, modifier);
1165return !CheckFeatureAvailability(identifierToken, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
1288bool extensibleFixedEnabled = ((CSharpParseOptions)initializerOpt.SyntaxTree.Options)?.IsFeatureEnabled(MessageID.IDS_FeatureExtensibleFixedStatement) != false;
1299CheckFeatureAvailability(initializerOpt.Syntax, MessageID.IDS_FeatureExtensibleFixedStatement, diagnostics);
1419MessageID.IDS_FeatureRefReassignment.CheckFeatureAvailability(diagnostics, node.Right.GetFirstToken());
1606return MessageID.IDS_ArrayAccess.Localize();
1610return MessageID.IDS_PointerElementAccess.Localize();
2453syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType))
3255MessageID.IDS_FeatureExceptionFilter.CheckFeatureAvailability(diagnostics, filter.WhenKeyword);
3453ConstructorDeclarationSyntax or DestructorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedDeOrConstructor,
3454AccessorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedAccessor,
3455BaseMethodDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedMethod,
3456IndexerDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedIndexer,
3457PropertyDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedProperty,
3461LocalFunctionStatementSyntax => (MessageID?)null,
3568MessageID.IDS_TopLevelStatements.CheckFeatureAvailability(diagnostics, topLevelStatement);
Binder\Binder_Symbols.cs (23)
115CheckFeatureAvailability(syntax, MessageID.IDS_FeatureImplicitLocal, diagnostics);
159CheckFeatureAvailability(syntax, MessageID.IDS_FeatureUnmanagedGenericTypeConstraint, diagnostics);
162CheckFeatureAvailability(identifierSyntax, MessageID.IDS_FeatureNotNullGenericTypeConstraint, diagnostics);
340var diagnosticInfo = diagnostics.Add(ErrorCode.ERR_BadSKknown, syntax.Location, syntax, symbol.Symbol.GetKindText(), MessageID.IDS_SK_TYPE.Localize());
449MessageID.IDS_FeatureFunctionPointers.CheckFeatureAvailability(diagnostics, functionPointerTypeSyntax.DelegateKeyword);
540MessageID.IDS_FeatureNullable.CheckFeatureAvailability(diagnostics, nullableSyntax.QuestionToken);
577MessageID.IDS_FeatureGlobalNamespace.CheckFeatureAvailability(diagnostics, node.Alias);
617var requiredVersion = MessageID.IDS_FeatureDefaultTypeParameterConstraint.RequiredVersion();
678MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, syntax);
733bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
931if (Compilation.LanguageVersion < MessageID.IDS_FeatureDynamic.RequiredVersion())
1022CheckFeatureAvailability(node, MessageID.IDS_FeatureNativeInt, diagnostics);
1358var binder = !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureUsingTypeAlias)
1378Error(diagnostics, ErrorCode.ERR_BadArity, typeSyntax, type, MessageID.IDS_SK_TYPE.Localize(), typeArgumentsSyntax.Count);
1413Error(diagnostics, ErrorCode.ERR_BadArity, syntax, plainName, MessageID.IDS_MethodGroup.Localize(), typeArgumentsSyntax.Count);
1563bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
2718internal static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null)
2721internal static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, BindingDiagnosticBag diagnostics, bool forceWarning = false)
2724internal static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, BindingDiagnosticBag diagnostics, Location location)
2727private static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, DiagnosticBag? diagnostics, Location? location = null)
2730private static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, DiagnosticBag? diagnostics, bool forceWarning = false)
2733private static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, Location location)
2739private 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);
241var messageId = IsAsync ? MessageID.IDS_FeatureExtensionGetAsyncEnumerator : MessageID.IDS_FeatureExtensionGetEnumerator;
293MessageID.IDS_FeatureRefForEach.CheckFeatureAvailability(diagnostics, typeSyntax);
530CheckFeatureAvailability(foreachKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
875CheckFeatureAvailability(collectionExpr.Syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
1227CheckFeatureAvailability(expr.Syntax, MessageID.IDS_FeatureDisposalPattern, diagnostics);
1270CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
1448MessageID patternName = isAsync ? MessageID.IDS_FeatureAsyncStreams : MessageID.IDS_Collection;
1484diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1555diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1714diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1777CheckFeatureAvailability(collectionSyntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
CommandLine\CSharpCommandLineParser.cs (23)
208AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/langversion:");
280ParseAndResolveReferencePaths(name, valueMemory, baseDirectory, libPaths, MessageID.IDS_LIB_OPTION, diagnostics);
328ParseAndResolveReferencePaths(name, valueMemory, baseDirectory, sourcePaths, MessageID.IDS_REFERENCEPATH_OPTION, diagnostics);
417AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
618AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "modulename");
666AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
679AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
687AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/doc:"); // Different argument.
699AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/addmodule:");
791AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
1048AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "keycontainer");
1110AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "subsystemversion");
1131AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "touchedfiles");
1421ParseAndResolveReferencePaths(null, additionalReferenceDirectories.AsMemory(), baseDirectory, libPaths, MessageID.IDS_LIB_ENV, diagnostics);
1536if (nullableContextOptions != NullableContextOptions.Disable && parseOptions.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
1540new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())), Location.None));
1599private static void ParseAndResolveReferencePaths(string? switchName, ReadOnlyMemory<char>? switchValue, string? baseDirectory, List<string> builder, MessageID origin, List<Diagnostic> diagnostics)
1604AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_PathList.Localize(), switchName);
1613AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryHasInvalidPath.Localize());
1617AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryDoesNotExist.Localize());
1856AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Namespace1.Localize(), arg);
1870AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
1897AddDiagnostic(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)
480MessageID.IDS_FeatureUsingStatic.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.StaticKeyword.GetLocation());
483MessageID.IDS_FeatureGlobalUsing.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.GlobalKeyword.GetLocation());
490MessageID.IDS_FeatureExternAlias.CheckFeatureAvailability(diagnostics, externAlias, externAlias.ExternKeyword.GetLocation());
528MessageID.IDS_FeatureFileScopedNamespace.CheckFeatureAvailability(diagnostics, node, node.NamespaceKeyword.GetLocation());
728MessageID.IDS_FeatureRecordStructs.CheckFeatureAvailability(diagnostics, record, record.ClassOrStructKeyword.GetLocation());
741MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node.ParameterList);
746MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
757MessageID.IDS_FeatureStaticClasses.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
761MessageID.IDS_FeatureReadOnlyStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
765MessageID.IDS_FeatureRefStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
852MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
Errors\MessageID.cs (190)
301private readonly MessageID _id;
303internal LocalizableErrorArgument(MessageID id)
323public static LocalizableErrorArgument Localize(this MessageID id)
334internal static string? RequiredFeature(this MessageID feature)
345this MessageID feature,
359this MessageID feature,
373this MessageID feature,
387this MessageID feature,
401this MessageID feature,
416this MessageID feature,
431this MessageID feature,
444internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpParseOptions options)
447internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpCompilation compilation)
450private static CSDiagnosticInfo GetDisabledFeatureDiagnosticInfo(MessageID feature, LanguageVersion availableVersion)
464internal static LanguageVersion RequiredVersion(this MessageID feature)
475case MessageID.IDS_FeatureFieldKeyword:
479case MessageID.IDS_FeatureStringEscapeCharacter: // lexer check
480case MessageID.IDS_FeatureImplicitIndexerInitializer:
481case MessageID.IDS_FeatureLockObject:
482case MessageID.IDS_FeatureParamsCollections:
483case MessageID.IDS_FeatureRefUnsafeInIteratorAsync:
484case MessageID.IDS_FeatureRefStructInterfaces:
485case MessageID.IDS_FeatureAllowsRefStructConstraint:
486case MessageID.IDS_FeaturePartialProperties:
487case MessageID.IDS_OverloadResolutionPriority:
491case MessageID.IDS_FeatureLambdaOptionalParameters: // semantic check
492case MessageID.IDS_FeatureLambdaParamsArray: // semantic check
493case MessageID.IDS_FeaturePrimaryConstructors: // declaration table check
494case MessageID.IDS_FeatureUsingTypeAlias: // semantic check
495case MessageID.IDS_FeatureInstanceMemberInNameof: // semantic check
496case MessageID.IDS_FeatureInlineArrays: // semantic check
497case MessageID.IDS_FeatureCollectionExpressions: // semantic check
498case MessageID.IDS_FeatureRefReadonlyParameters: // semantic check
502case MessageID.IDS_FeatureRawStringLiterals:
503case MessageID.IDS_FeatureStaticAbstractMembersInInterfaces: // semantic check
504case MessageID.IDS_FeatureNewLinesInInterpolations: // semantic check
505case MessageID.IDS_FeatureListPattern: // semantic check
506case MessageID.IDS_FeatureRequiredMembers: // semantic check
507case MessageID.IDS_FeatureCacheStaticMethodGroupConversion: // lowering check
508case MessageID.IDS_FeatureSpanCharConstantPattern:
509case MessageID.IDS_FeatureAutoDefaultStructs: // semantic check
510case MessageID.IDS_FeatureCheckedUserDefinedOperators: // semantic check for declarations, parsing check for doc comments
511case MessageID.IDS_FeatureUtf8StringLiterals: // semantic check
512case MessageID.IDS_FeatureUnsignedRightShift: // semantic check for declarations and consumption, parsing check for doc comments
513case MessageID.IDS_FeatureRelaxedShiftOperator: // semantic check
514case MessageID.IDS_FeatureRefFields: // semantic check
515case MessageID.IDS_FeatureFileTypes: // semantic check
516case MessageID.IDS_FeatureGenericAttributes: // semantic check
520case MessageID.IDS_FeatureMixedDeclarationsAndExpressionsInDeconstruction: // semantic check
521case MessageID.IDS_FeatureSealedToStringInRecord: // semantic check
522case MessageID.IDS_FeatureImprovedInterpolatedStrings: // semantic check
523case MessageID.IDS_FeatureRecordStructs:
524case MessageID.IDS_FeatureWithOnStructs: // semantic check
525case MessageID.IDS_FeatureWithOnAnonymousTypes: // semantic check
526case MessageID.IDS_FeaturePositionalFieldsInRecords: // semantic check
527case MessageID.IDS_FeatureGlobalUsing:
528case MessageID.IDS_FeatureInferredDelegateType: // semantic check
529case MessageID.IDS_FeatureLambdaAttributes: // semantic check
530case MessageID.IDS_FeatureExtendedPropertyPatterns: // semantic check
531case MessageID.IDS_FeatureLambdaReturnType: // semantic check
532case MessageID.IDS_AsyncMethodBuilderOverride: // semantic check
533case MessageID.IDS_FeatureConstantInterpolatedStrings: // semantic check
534case MessageID.IDS_FeatureImplicitImplementationOfNonPublicMembers: // semantic check
535case MessageID.IDS_FeatureFileScopedNamespace: // semantic check
536case MessageID.IDS_FeatureParameterlessStructConstructors: // semantic check
537case MessageID.IDS_FeatureStructFieldInitializers: // semantic check
541case MessageID.IDS_FeatureLambdaDiscardParameters: // semantic check
542case MessageID.IDS_FeatureFunctionPointers: // semantic check
543case MessageID.IDS_FeatureLocalFunctionAttributes: // syntax check
544case MessageID.IDS_FeatureExternLocalFunctions: // semantic check
545case MessageID.IDS_FeatureImplicitObjectCreation: // semantic check
546case MessageID.IDS_FeatureMemberNotNull:
547case MessageID.IDS_FeatureAndPattern: // semantic check
548case MessageID.IDS_FeatureNotPattern: // semantic check
549case MessageID.IDS_FeatureOrPattern: // semantic check
550case MessageID.IDS_FeatureParenthesizedPattern: // semantic check
551case MessageID.IDS_FeatureTypePattern: // semantic check
552case MessageID.IDS_FeatureRelationalPattern: // semantic check
553case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
554case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
555case MessageID.IDS_FeatureNativeInt:
556case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
557case MessageID.IDS_TopLevelStatements:
558case MessageID.IDS_FeatureInitOnlySetters: // semantic check
559case MessageID.IDS_FeatureRecords: // semantic check
560case MessageID.IDS_FeatureTargetTypedConditional: // semantic check
561case MessageID.IDS_FeatureCovariantReturnsForOverrides: // semantic check
562case MessageID.IDS_FeatureStaticAnonymousFunction: // semantic check
563case MessageID.IDS_FeatureModuleInitializers: // semantic check on method attribute
564case MessageID.IDS_FeatureDefaultTypeParameterConstraint: // semantic check
565case MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers: // semantic check
569case MessageID.IDS_FeatureAltInterpolatedVerbatimStrings: // semantic check
570case MessageID.IDS_FeatureCoalesceAssignmentExpression: // semantic check
571case MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator:
572case MessageID.IDS_FeatureNullableReferenceTypes: // syntax and semantic check
573case MessageID.IDS_FeatureIndexOperator: // semantic check
574case MessageID.IDS_FeatureRangeOperator: // semantic check
575case MessageID.IDS_FeatureAsyncStreams: // semantic check
576case MessageID.IDS_FeatureRecursivePatterns: // semantic check
577case MessageID.IDS_FeatureUsingDeclarations: // semantic check
578case MessageID.IDS_FeatureDisposalPattern: //semantic check
579case MessageID.IDS_FeatureStaticLocalFunctions: // semantic check
580case MessageID.IDS_FeatureNameShadowingInNestedFunctions:
581case MessageID.IDS_FeatureUnmanagedConstructedTypes: // semantic check
582case MessageID.IDS_FeatureObsoleteOnPropertyAccessor:
583case MessageID.IDS_FeatureReadOnlyMembers:
584case MessageID.IDS_DefaultInterfaceImplementation: // semantic check
585case MessageID.IDS_OverrideWithConstraints: // semantic check
586case MessageID.IDS_FeatureNestedStackalloc: // semantic check
587case MessageID.IDS_FeatureNotNullGenericTypeConstraint:// semantic check
588case MessageID.IDS_FeatureSwitchExpression:
589case MessageID.IDS_FeatureAsyncUsing:
590case MessageID.IDS_FeatureNullPointerConstantPattern: //semantic check
594case MessageID.IDS_FeatureAttributesOnBackingFields: // semantic check
595case MessageID.IDS_FeatureImprovedOverloadCandidates: // semantic check
596case MessageID.IDS_FeatureTupleEquality: // semantic check
597case MessageID.IDS_FeatureRefReassignment: // semantic check
598case MessageID.IDS_FeatureRefFor:
599case MessageID.IDS_FeatureRefForEach: // semantic check
600case MessageID.IDS_FeatureEnumGenericTypeConstraint: // semantic check
601case MessageID.IDS_FeatureDelegateGenericTypeConstraint: // semantic check
602case MessageID.IDS_FeatureUnmanagedGenericTypeConstraint: // semantic check
603case MessageID.IDS_FeatureStackAllocInitializer: // semantic check
604case MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers: // semantic check
605case MessageID.IDS_FeatureExtensibleFixedStatement: // semantic check
606case MessageID.IDS_FeatureIndexingMovableFixedBuffers: //semantic check
610case MessageID.IDS_FeatureNonTrailingNamedArguments: // semantic check
611case MessageID.IDS_FeatureLeadingDigitSeparator:
612case MessageID.IDS_FeaturePrivateProtected:
613case MessageID.IDS_FeatureReadOnlyReferences: // semantic check
614case MessageID.IDS_FeatureRefStructs: // semantic check
615case MessageID.IDS_FeatureReadOnlyStructs: // semantic check
616case MessageID.IDS_FeatureRefExtensionMethods:
617case MessageID.IDS_FeatureRefConditional:
621case MessageID.IDS_FeatureAsyncMain:
622case MessageID.IDS_FeatureDefaultLiteral: // semantic check
623case MessageID.IDS_FeatureInferredTupleNames:
624case MessageID.IDS_FeatureGenericPatternMatching:
628case MessageID.IDS_FeatureBinaryLiteral:
629case MessageID.IDS_FeatureDigitSeparator:
630case MessageID.IDS_FeatureLocalFunctions: // semantic check
631case MessageID.IDS_FeatureRefLocalsReturns:
632case MessageID.IDS_FeaturePatternMatching: // semantic check
633case MessageID.IDS_FeatureThrowExpression: // semantic check
634case MessageID.IDS_FeatureTuples:
635case MessageID.IDS_FeatureOutVar: // semantic check
636case MessageID.IDS_FeatureExpressionBodiedAccessor:
637case MessageID.IDS_FeatureExpressionBodiedDeOrConstructor:
638case MessageID.IDS_FeatureDiscards:
642case MessageID.IDS_FeatureExceptionFilter: // semantic check
643case MessageID.IDS_FeatureAutoPropertyInitializer: // semantic check
644case MessageID.IDS_FeatureNullPropagatingOperator: // semantic check
645case MessageID.IDS_FeatureExpressionBodiedMethod:
646case MessageID.IDS_FeatureExpressionBodiedProperty: // semantic check
647case MessageID.IDS_FeatureExpressionBodiedIndexer: // semantic check
648case MessageID.IDS_FeatureNameof:
649case MessageID.IDS_FeatureDictionaryInitializer: // semantic check
650case MessageID.IDS_FeatureUsingStatic: // semantic check
651case MessageID.IDS_FeatureInterpolatedStrings: // semantic check
652case MessageID.IDS_AwaitInCatchAndFinally:
653case MessageID.IDS_FeatureReadonlyAutoImplementedProperties:
657case MessageID.IDS_FeatureAsync: // semantic check
661case MessageID.IDS_FeatureDynamic: // Checked in the binder.
662case MessageID.IDS_FeatureTypeVariance: // semantic check
663case MessageID.IDS_FeatureNamedArgument: // semantic check
664case MessageID.IDS_FeatureOptionalParameter: // semantic check
668case MessageID.IDS_FeatureImplicitArray: // semantic check
669case MessageID.IDS_FeatureAnonymousTypes: // semantic check
670case MessageID.IDS_FeatureObjectInitializer:
671case MessageID.IDS_FeatureCollectionInitializer:
672case MessageID.IDS_FeatureLambda: // semantic check
673case MessageID.IDS_FeatureQueryExpression: // semantic check
674case MessageID.IDS_FeatureExtensionMethod:
675case MessageID.IDS_FeaturePartialMethod: // semantic check
676case MessageID.IDS_FeatureImplicitLocal: // Checked in the binder.
677case MessageID.IDS_FeatureAutoImplementedProperties:
681case MessageID.IDS_FeatureGenerics: // Also affects crefs.
682case MessageID.IDS_FeatureAnonDelegates: // semantic check
683case MessageID.IDS_FeatureGlobalNamespace: // Also affects crefs.
684case MessageID.IDS_FeatureFixedBuffer: // semantic check
685case MessageID.IDS_FeatureStaticClasses: // semantic check
686case MessageID.IDS_FeaturePartialTypes: // semantic check
687case MessageID.IDS_FeaturePropertyAccessorMods:
688case MessageID.IDS_FeatureExternAlias: // semantic check
689case MessageID.IDS_FeatureIterators: // semantic check
690case MessageID.IDS_FeatureDefault: // semantic check
691case MessageID.IDS_FeatureNullable:
692case MessageID.IDS_FeaturePragma: // Checked in the directive parser.
693case MessageID.IDS_FeatureSwitchOnBool: // Checked in the binder.
697case MessageID.IDS_FeatureModuleAttrLoc:
Symbols\Source\ParameterHelpers.cs (8)
212bool allowShadowingNames = withTypeParametersBinder.Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNameShadowingInNestedFunctions) &&
442Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureExtensionMethod, diagnostics);
446Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
474Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
558MessageID.IDS_FeatureLambdaParamsArray.CheckFeatureAvailability(diagnostics, modifier);
563Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureReadOnlyReferences, diagnostics);
567Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
613Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
Symbols\Source\SourceMemberContainerSymbol.cs (15)
498if (reportIfContextual(SyntaxKind.RecordKeyword, MessageID.IDS_FeatureRecords, ErrorCode.WRN_RecordNamedDisallowed)
499|| reportIfContextual(SyntaxKind.RequiredKeyword, MessageID.IDS_FeatureRequiredMembers, ErrorCode.ERR_RequiredNameDisallowed)
500|| reportIfContextual(SyntaxKind.FileKeyword, MessageID.IDS_FeatureFileTypes, ErrorCode.ERR_FileTypeNameDisallowed)
501|| reportIfContextual(SyntaxKind.ScopedKeyword, MessageID.IDS_FeatureRefFields, ErrorCode.ERR_ScopedTypeNameDisallowed))
510bool reportIfContextual(SyntaxKind contextualKind, MessageID featureId, ErrorCode error)
1362Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.GetFirstLocation());
2158var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD;
4067MessageID.IDS_FeatureParameterlessStructConstructors.CheckFeatureAvailability(diagnostics, m.DeclaringCompilation, location);
4096MessageID.IDS_FeatureStructFieldInitializers.CheckFeatureAvailability(diagnostics, symbol.DeclaringCompilation, symbol.GetFirstLocation());
4414if (baseToStringMethod.ContainingModule != this.ContainingModule && !this.DeclaringCompilation.IsFeatureEnabled(MessageID.IDS_FeatureSealedToStringInRecord))
4417var requiredVersion = MessageID.IDS_FeatureSealedToStringInRecord.RequiredVersion();
4440MessageID.IDS_FeatureSealedToStringInRecord.CheckFeatureAvailability(
4504Binder.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);
623MessageID.IDS_FeatureRefStructInterfaces.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
637MessageID.IDS_OverloadResolutionPriority.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
699MessageID.IDS_FeatureObsoleteOnPropertyAccessor.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
1419diagnostics.Add(ErrorCode.ERR_CannotUseManagedTypeInUnmanagedCallersOnly, syntax.Location, type, (isParam ? MessageID.IDS_Parameter : MessageID.IDS_Return).Localize());
1546MessageID.IDS_AsyncMethodBuilderOverride.CheckFeatureAvailability(diagnostics, this.DeclaringCompilation, errorLocation);
Symbols\VarianceSafety.cs (9)
176return MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers.RequiredVersion() <= member.DeclaringCompilation.LanguageVersion;
311diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Invariantly);
317diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Covariantly);
323diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Contravariantly);
445MessageID expectedVariance)
448MessageID actualVariance;
452actualVariance = MessageID.IDS_Contravariant;
455actualVariance = MessageID.IDS_Covariant;
475new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers.RequiredVersion()));