Binder\Binder.ValueChecks.cs (15)
743Error(diagnostics, ErrorCode.ERR_BadSKknown, node, ns.NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
748Error(diagnostics, ErrorCode.ERR_BadSKknown, node, type.Type, MessageID.IDS_SK_TYPE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
759Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, unconvertedAddressOf.Operand.Name, MessageID.IDS_AddressOfMethodGroup.Localize());
770Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, methodGroup.Name, MessageID.IDS_MethodGroup.Localize());
1024Error(diagnostics, ErrorCode.ERR_BadSKknown, expr.Syntax, ((BoundNamespaceExpression)expr).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
1027Error(diagnostics, ErrorCode.ERR_BadSKunknown, expr.Syntax, expr.Type, MessageID.IDS_SK_TYPE.Localize());
1042else if (this.IsDirectlyInIterator && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
1779CheckFeatureAvailability(node, MessageID.IDS_FeatureInitOnlySetters, diagnostics);
3172MessageID cause;
3175cause = MessageID.IDS_FOREACHLOCAL;
3179cause = MessageID.IDS_USINGLOCAL;
3183cause = MessageID.IDS_FIXEDLOCAL;
Binder\Binder_Expressions.cs (49)
425if (CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInferredDelegateType, diagnostics))
721MessageID.IDS_FeatureDefaultLiteral.CheckFeatureAvailability(diagnostics, node);
881MessageID.IDS_FeatureThrowExpression.CheckFeatureAvailability(diagnostics, node.ThrowKeyword);
1004MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, node);
1515var requiredVersion = MessageID.IDS_FeatureFieldKeyword.RequiredVersion();
1552case ManagedKind.UnmanagedWithGenerics when MessageID.IDS_FeatureUnmanagedConstructedTypes.GetFeatureAvailabilityDiagnosticInfo(compilation) is CSDiagnosticInfo diagnosticInfo:
1570MessageID.IDS_FeatureDefault.CheckFeatureAvailability(diagnostics, node.Keyword);
1862CheckFeatureAvailability(node, MessageID.IDS_FeatureDiscards, diagnostics);
2310if (!IsInsideNameof || (EnclosingNameofArgument != node && !node.IsFeatureEnabled(MessageID.IDS_FeatureInstanceMemberInNameof)))
2344CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics);
2604CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexOperator, diagnostics);
2645CheckFeatureAvailability(node, MessageID.IDS_FeatureRangeOperator, diagnostics);
2826diagnostics.Add(ErrorCode.ERR_NoExplicitConv, syntax.Location, MessageID.IDS_SK_METHOD.Localize(), targetType);
3000nameString = MessageID.IDS_Lambda.Localize().ToString();
3135MessageID.IDS_FeatureReadOnlyReferences.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3140MessageID.IDS_FeatureOutVar.CheckFeatureAvailability(diagnostics, argumentSyntax.RefKindKeyword);
3220CheckFeatureAvailability(declarationExpression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
3298CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
3338CheckFeatureAvailability(nameColonSyntax, MessageID.IDS_FeatureNamedArgument, diagnostics);
3385new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNonTrailingNamedArguments.RequiredVersion()));
3896if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefReadonlyParameters))
3902var available = CheckFeatureAvailability(argument.Syntax, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
4114MessageID.IDS_FeatureImplicitArray.CheckFeatureAvailability(diagnostics, node.NewKeyword);
4579LanguageVersion requiredVersion = MessageID.IDS_FeatureNestedStackalloc.RequiredVersion();
4585MessageID.IDS_FeatureNestedStackalloc.CheckFeatureAvailability(diagnostics, node.GetFirstToken());
4604CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructs, diagnostics);
4667MessageID.IDS_FeatureStackAllocInitializer.CheckFeatureAvailability(diagnostics, stackAllocKeyword);
5167MessageID.IDS_FeatureImplicitObjectCreation.CheckFeatureAvailability(diagnostics, node.NewKeyword);
5254MessageID.IDS_FeatureCollectionExpressions.CheckFeatureAvailability(diagnostics, syntax, syntax.OpenBracketToken.GetLocation());
5679MessageID.IDS_FeatureObjectInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
5883MessageID.IDS_FeatureDictionaryInitializer.CheckFeatureAvailability(diagnostics, implicitIndexing.ArgumentList.OpenBracketToken);
5981MessageID.IDS_FeatureImplicitIndexerInitializer.CheckFeatureAvailability(diagnostics, implicitIndexer.Syntax);
6254MessageID.IDS_FeatureCollectionInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6315CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
7383MessageID.IDS_FeatureRawStringLiterals.CheckFeatureAvailability(diagnostics, node);
7396CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
7399CheckFeatureAvailability(node, MessageID.IDS_FeatureUtf8StringLiterals, diagnostics);
7696var msgId = ((UnboundLambda)boundLeft).MessageID;
7896CheckFeatureAvailability(boundLeft.Syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
7943Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
7973Error(diagnostics, ErrorCode.ERR_BadSKunknown, methodGroup.NameSyntax, method, MessageID.IDS_SK_METHOD.Localize());
8940CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexingMovableFixedBuffers, diagnostics);
8986CheckFeatureAvailability(node, MessageID.IDS_FeatureRefFields, diagnostics);
9195else if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics))
9565CheckFeatureAvailability(node, MessageID.IDS_FeatureInlineArrays, diagnostics);
10323_ = MessageID.IDS_FeatureIndexOperator.CheckFeatureAvailability(diagnostics, syntax);
11323MessageID.IDS_FeatureNullPropagatingOperator.CheckFeatureAvailability(diagnostics, node.OperatorToken);
11331MessageID.IDS_FeatureNullConditionalAssignment.CheckFeatureAvailability(diagnostics, assignment.OperatorToken);
11509var 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)
1870diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, namedType, MessageID.IDS_SK_TYPE.Localize()) : null;
1875diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, namedType, MessageID.IDS_SK_TYPE.Localize(), namedType.Arity) : null;
1891diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_HasNoTypeVars, method, MessageID.IDS_SK_METHOD.Localize()) : null;
1896diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadArity, method, MessageID.IDS_SK_METHOD.Localize(), method.Arity) : null;
Binder\Binder_Operators.cs (17)
270!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
693CheckFeatureAvailability(node, MessageID.IDS_FeatureTupleEquality, diagnostics);
1531Binder.CheckFeatureAvailability(node, MessageID.IDS_DefaultInterfaceImplementation, diagnostics);
2542!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
2791result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
2802result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
2810result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
2821result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
2825result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
2836MessageID.IDS_FeatureNullableReferenceTypes.CheckFeatureAvailability(diagnostics, node.OperatorToken);
3622((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching))
3669if (wasUnderscore && ((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeatureRecursivePatterns))
4426CheckFeatureAvailability(node, MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator, diagnostics);
4564MessageID.IDS_FeatureCoalesceAssignmentExpression.CheckFeatureAvailability(diagnostics, node.OperatorToken);
4685CheckFeatureAvailability(node, MessageID.IDS_FeatureRefConditional, diagnostics);
4840CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
4856CheckFeatureAvailability(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);
1787MessageID.IDS_FeatureOrPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
1854MessageID.IDS_FeatureAndPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
Binder\Binder_Query.cs (5)
26MessageID.IDS_FeatureQueryExpression.CheckFeatureAvailability(diagnostics, node.FromClause.FromKeyword);
773CheckFeatureAvailability(expression, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics, locals[0].GetFirstLocation());
951diagnostics.Add(ErrorCode.ERR_BadSKunknown, ultimateReceiver.Syntax.Location, ((BoundNamespaceExpression)ultimateReceiver).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize());
956diagnostics.Add(ErrorCode.ERR_QueryNoProvider, node.Location, MessageID.IDS_AnonMethod.Localize(), methodName);
966Error(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);
1168return !CheckFeatureAvailability(identifierToken, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
1289bool extensibleFixedEnabled = ((CSharpParseOptions)initializerOpt.SyntaxTree.Options)?.IsFeatureEnabled(MessageID.IDS_FeatureExtensibleFixedStatement) != false;
1300CheckFeatureAvailability(initializerOpt.Syntax, MessageID.IDS_FeatureExtensibleFixedStatement, diagnostics);
1420MessageID.IDS_FeatureRefReassignment.CheckFeatureAvailability(diagnostics, node.Right.GetFirstToken());
1622return MessageID.IDS_ArrayAccess.Localize();
1626return MessageID.IDS_PointerElementAccess.Localize();
2504syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType))
3369MessageID.IDS_FeatureExceptionFilter.CheckFeatureAvailability(diagnostics, filter.WhenKeyword);
3567ConstructorDeclarationSyntax or DestructorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedDeOrConstructor,
3568AccessorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedAccessor,
3569BaseMethodDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedMethod,
3570IndexerDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedIndexer,
3571PropertyDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedProperty,
3575LocalFunctionStatementSyntax => (MessageID?)null,
3682MessageID.IDS_TopLevelStatements.CheckFeatureAvailability(diagnostics, topLevelStatement);
Binder\Binder_Symbols.cs (24)
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());
457MessageID.IDS_FeatureFunctionPointers.CheckFeatureAvailability(diagnostics, functionPointerTypeSyntax.DelegateKeyword);
548MessageID.IDS_FeatureNullable.CheckFeatureAvailability(diagnostics, nullableSyntax.QuestionToken);
585MessageID.IDS_FeatureGlobalNamespace.CheckFeatureAvailability(diagnostics, node.Alias);
625var requiredVersion = MessageID.IDS_FeatureDefaultTypeParameterConstraint.RequiredVersion();
686MessageID.IDS_FeatureTuples.CheckFeatureAvailability(diagnostics, syntax);
741bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
939if (Compilation.LanguageVersion < MessageID.IDS_FeatureDynamic.RequiredVersion())
1030CheckFeatureAvailability(node, MessageID.IDS_FeatureNativeInt, diagnostics);
1366var binder = !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureUsingTypeAlias)
1387CheckFeatureAvailability(typeSyntax, MessageID.IDS_FeatureUnboundGenericTypesInNameof, diagnostics);
1407Error(diagnostics, ErrorCode.ERR_BadArity, typeSyntax, type, MessageID.IDS_SK_TYPE.Localize(), typeArgumentsSyntax.Count);
1439Error(diagnostics, ErrorCode.ERR_BadArity, syntax, plainName, MessageID.IDS_MethodGroup.Localize(), typeArgumentsSyntax.Count);
1589bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
2746internal static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null)
2749internal static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, BindingDiagnosticBag diagnostics, bool forceWarning = false)
2752internal static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, BindingDiagnosticBag diagnostics, Location location)
2755private static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, DiagnosticBag? diagnostics, Location? location = null)
2758private static bool CheckFeatureAvailability(SyntaxToken syntax, MessageID feature, DiagnosticBag? diagnostics, bool forceWarning = false)
2761private static bool CheckFeatureAvailability(SyntaxTree tree, MessageID feature, DiagnosticBag? diagnostics, Location location)
2767private 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);
540CheckFeatureAvailability(foreachKeyword, MessageID.IDS_FeatureRefUnsafeInIteratorAsync, diagnostics);
886CheckFeatureAvailability(collectionExpr.Syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
1253CheckFeatureAvailability(expr.Syntax, MessageID.IDS_FeatureDisposalPattern, diagnostics);
1296CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
1474MessageID patternName = isAsync ? MessageID.IDS_FeatureAsyncStreams : MessageID.IDS_Collection;
1510diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1603diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1762diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1825CheckFeatureAvailability(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());
1858AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Namespace1.Localize(), arg);
1872AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
1899AddDiagnostic(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 (198)
314private readonly MessageID _id;
316internal LocalizableErrorArgument(MessageID id)
336public static LocalizableErrorArgument Localize(this MessageID id)
347internal static string? RequiredFeature(this MessageID feature)
358this MessageID feature,
372this MessageID feature,
386this MessageID feature,
400this MessageID feature,
414this MessageID feature,
429this MessageID feature,
444this MessageID feature,
457internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpParseOptions options)
460internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpCompilation compilation)
463private static CSDiagnosticInfo GetDisabledFeatureDiagnosticInfo(MessageID feature, LanguageVersion availableVersion)
477internal static LanguageVersion RequiredVersion(this MessageID feature)
488case MessageID.IDS_FeatureFieldKeyword:
489case MessageID.IDS_FeatureFirstClassSpan:
490case MessageID.IDS_FeatureUnboundGenericTypesInNameof:
491case MessageID.IDS_FeatureSimpleLambdaParameterModifiers:
492case MessageID.IDS_FeaturePartialEventsAndConstructors:
493case MessageID.IDS_FeatureExtensions:
494case MessageID.IDS_FeatureNullConditionalAssignment:
495case MessageID.IDS_FeatureExpressionOptionalAndNamedArguments:
496case MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators:
500case MessageID.IDS_FeatureStringEscapeCharacter: // lexer check
501case MessageID.IDS_FeatureImplicitIndexerInitializer:
502case MessageID.IDS_FeatureLockObject:
503case MessageID.IDS_FeatureParamsCollections:
504case MessageID.IDS_FeatureRefUnsafeInIteratorAsync:
505case MessageID.IDS_FeatureRefStructInterfaces:
506case MessageID.IDS_FeatureAllowsRefStructConstraint:
507case MessageID.IDS_FeaturePartialProperties:
508case MessageID.IDS_FeatureOverloadResolutionPriority:
512case MessageID.IDS_FeatureLambdaOptionalParameters: // semantic check
513case MessageID.IDS_FeatureLambdaParamsArray: // semantic check
514case MessageID.IDS_FeaturePrimaryConstructors: // declaration table check
515case MessageID.IDS_FeatureUsingTypeAlias: // semantic check
516case MessageID.IDS_FeatureInstanceMemberInNameof: // semantic check
517case MessageID.IDS_FeatureInlineArrays: // semantic check
518case MessageID.IDS_FeatureCollectionExpressions: // semantic check
519case MessageID.IDS_FeatureRefReadonlyParameters: // semantic check
523case MessageID.IDS_FeatureRawStringLiterals:
524case MessageID.IDS_FeatureStaticAbstractMembersInInterfaces: // semantic check
525case MessageID.IDS_FeatureNewLinesInInterpolations: // semantic check
526case MessageID.IDS_FeatureListPattern: // semantic check
527case MessageID.IDS_FeatureRequiredMembers: // semantic check
528case MessageID.IDS_FeatureCacheStaticMethodGroupConversion: // lowering check
529case MessageID.IDS_FeatureSpanCharConstantPattern:
530case MessageID.IDS_FeatureAutoDefaultStructs: // semantic check
531case MessageID.IDS_FeatureCheckedUserDefinedOperators: // semantic check for declarations, parsing check for doc comments
532case MessageID.IDS_FeatureUtf8StringLiterals: // semantic check
533case MessageID.IDS_FeatureUnsignedRightShift: // semantic check for declarations and consumption, parsing check for doc comments
534case MessageID.IDS_FeatureRelaxedShiftOperator: // semantic check
535case MessageID.IDS_FeatureRefFields: // semantic check
536case MessageID.IDS_FeatureFileTypes: // semantic check
537case MessageID.IDS_FeatureGenericAttributes: // semantic check
541case MessageID.IDS_FeatureMixedDeclarationsAndExpressionsInDeconstruction: // semantic check
542case MessageID.IDS_FeatureSealedToStringInRecord: // semantic check
543case MessageID.IDS_FeatureImprovedInterpolatedStrings: // semantic check
544case MessageID.IDS_FeatureRecordStructs:
545case MessageID.IDS_FeatureWithOnStructs: // semantic check
546case MessageID.IDS_FeatureWithOnAnonymousTypes: // semantic check
547case MessageID.IDS_FeaturePositionalFieldsInRecords: // semantic check
548case MessageID.IDS_FeatureGlobalUsing:
549case MessageID.IDS_FeatureInferredDelegateType: // semantic check
550case MessageID.IDS_FeatureLambdaAttributes: // semantic check
551case MessageID.IDS_FeatureExtendedPropertyPatterns: // semantic check
552case MessageID.IDS_FeatureLambdaReturnType: // semantic check
553case MessageID.IDS_AsyncMethodBuilderOverride: // semantic check
554case MessageID.IDS_FeatureConstantInterpolatedStrings: // semantic check
555case MessageID.IDS_FeatureImplicitImplementationOfNonPublicMembers: // semantic check
556case MessageID.IDS_FeatureFileScopedNamespace: // semantic check
557case MessageID.IDS_FeatureParameterlessStructConstructors: // semantic check
558case MessageID.IDS_FeatureStructFieldInitializers: // semantic check
562case MessageID.IDS_FeatureLambdaDiscardParameters: // semantic check
563case MessageID.IDS_FeatureFunctionPointers: // semantic check
564case MessageID.IDS_FeatureLocalFunctionAttributes: // syntax check
565case MessageID.IDS_FeatureExternLocalFunctions: // semantic check
566case MessageID.IDS_FeatureImplicitObjectCreation: // semantic check
567case MessageID.IDS_FeatureMemberNotNull:
568case MessageID.IDS_FeatureAndPattern: // semantic check
569case MessageID.IDS_FeatureNotPattern: // semantic check
570case MessageID.IDS_FeatureOrPattern: // semantic check
571case MessageID.IDS_FeatureParenthesizedPattern: // semantic check
572case MessageID.IDS_FeatureTypePattern: // semantic check
573case MessageID.IDS_FeatureRelationalPattern: // semantic check
574case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
575case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
576case MessageID.IDS_FeatureNativeInt:
577case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
578case MessageID.IDS_TopLevelStatements:
579case MessageID.IDS_FeatureInitOnlySetters: // semantic check
580case MessageID.IDS_FeatureRecords: // semantic check
581case MessageID.IDS_FeatureTargetTypedConditional: // semantic check
582case MessageID.IDS_FeatureCovariantReturnsForOverrides: // semantic check
583case MessageID.IDS_FeatureStaticAnonymousFunction: // semantic check
584case MessageID.IDS_FeatureModuleInitializers: // semantic check on method attribute
585case MessageID.IDS_FeatureDefaultTypeParameterConstraint: // semantic check
586case MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers: // semantic check
590case MessageID.IDS_FeatureAltInterpolatedVerbatimStrings: // semantic check
591case MessageID.IDS_FeatureCoalesceAssignmentExpression: // semantic check
592case MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator:
593case MessageID.IDS_FeatureNullableReferenceTypes: // syntax and semantic check
594case MessageID.IDS_FeatureIndexOperator: // semantic check
595case MessageID.IDS_FeatureRangeOperator: // semantic check
596case MessageID.IDS_FeatureAsyncStreams: // semantic check
597case MessageID.IDS_FeatureRecursivePatterns: // semantic check
598case MessageID.IDS_FeatureUsingDeclarations: // semantic check
599case MessageID.IDS_FeatureDisposalPattern: //semantic check
600case MessageID.IDS_FeatureStaticLocalFunctions: // semantic check
601case MessageID.IDS_FeatureNameShadowingInNestedFunctions:
602case MessageID.IDS_FeatureUnmanagedConstructedTypes: // semantic check
603case MessageID.IDS_FeatureObsoleteOnPropertyAccessor:
604case MessageID.IDS_FeatureReadOnlyMembers:
605case MessageID.IDS_DefaultInterfaceImplementation: // semantic check
606case MessageID.IDS_OverrideWithConstraints: // semantic check
607case MessageID.IDS_FeatureNestedStackalloc: // semantic check
608case MessageID.IDS_FeatureNotNullGenericTypeConstraint:// semantic check
609case MessageID.IDS_FeatureSwitchExpression:
610case MessageID.IDS_FeatureAsyncUsing:
611case MessageID.IDS_FeatureNullPointerConstantPattern: //semantic check
615case MessageID.IDS_FeatureAttributesOnBackingFields: // semantic check
616case MessageID.IDS_FeatureImprovedOverloadCandidates: // semantic check
617case MessageID.IDS_FeatureTupleEquality: // semantic check
618case MessageID.IDS_FeatureRefReassignment: // semantic check
619case MessageID.IDS_FeatureRefFor:
620case MessageID.IDS_FeatureRefForEach: // semantic check
621case MessageID.IDS_FeatureEnumGenericTypeConstraint: // semantic check
622case MessageID.IDS_FeatureDelegateGenericTypeConstraint: // semantic check
623case MessageID.IDS_FeatureUnmanagedGenericTypeConstraint: // semantic check
624case MessageID.IDS_FeatureStackAllocInitializer: // semantic check
625case MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers: // semantic check
626case MessageID.IDS_FeatureExtensibleFixedStatement: // semantic check
627case MessageID.IDS_FeatureIndexingMovableFixedBuffers: //semantic check
631case MessageID.IDS_FeatureNonTrailingNamedArguments: // semantic check
632case MessageID.IDS_FeatureLeadingDigitSeparator:
633case MessageID.IDS_FeaturePrivateProtected:
634case MessageID.IDS_FeatureReadOnlyReferences: // semantic check
635case MessageID.IDS_FeatureRefStructs: // semantic check
636case MessageID.IDS_FeatureReadOnlyStructs: // semantic check
637case MessageID.IDS_FeatureRefExtensionMethods:
638case MessageID.IDS_FeatureRefConditional:
642case MessageID.IDS_FeatureAsyncMain:
643case MessageID.IDS_FeatureDefaultLiteral: // semantic check
644case MessageID.IDS_FeatureInferredTupleNames:
645case MessageID.IDS_FeatureGenericPatternMatching:
649case MessageID.IDS_FeatureBinaryLiteral:
650case MessageID.IDS_FeatureDigitSeparator:
651case MessageID.IDS_FeatureLocalFunctions: // semantic check
652case MessageID.IDS_FeatureRefLocalsReturns:
653case MessageID.IDS_FeaturePatternMatching: // semantic check
654case MessageID.IDS_FeatureThrowExpression: // semantic check
655case MessageID.IDS_FeatureTuples:
656case MessageID.IDS_FeatureOutVar: // semantic check
657case MessageID.IDS_FeatureExpressionBodiedAccessor:
658case MessageID.IDS_FeatureExpressionBodiedDeOrConstructor:
659case MessageID.IDS_FeatureDiscards:
663case MessageID.IDS_FeatureExceptionFilter: // semantic check
664case MessageID.IDS_FeatureAutoPropertyInitializer: // semantic check
665case MessageID.IDS_FeatureNullPropagatingOperator: // semantic check
666case MessageID.IDS_FeatureExpressionBodiedMethod:
667case MessageID.IDS_FeatureExpressionBodiedProperty: // semantic check
668case MessageID.IDS_FeatureExpressionBodiedIndexer: // semantic check
669case MessageID.IDS_FeatureNameof:
670case MessageID.IDS_FeatureDictionaryInitializer: // semantic check
671case MessageID.IDS_FeatureUsingStatic: // semantic check
672case MessageID.IDS_FeatureInterpolatedStrings: // semantic check
673case MessageID.IDS_AwaitInCatchAndFinally:
674case MessageID.IDS_FeatureReadonlyAutoImplementedProperties:
678case MessageID.IDS_FeatureAsync: // semantic check
682case MessageID.IDS_FeatureDynamic: // Checked in the binder.
683case MessageID.IDS_FeatureTypeVariance: // semantic check
684case MessageID.IDS_FeatureNamedArgument: // semantic check
685case MessageID.IDS_FeatureOptionalParameter: // semantic check
689case MessageID.IDS_FeatureImplicitArray: // semantic check
690case MessageID.IDS_FeatureAnonymousTypes: // semantic check
691case MessageID.IDS_FeatureObjectInitializer:
692case MessageID.IDS_FeatureCollectionInitializer:
693case MessageID.IDS_FeatureLambda: // semantic check
694case MessageID.IDS_FeatureQueryExpression: // semantic check
695case MessageID.IDS_FeatureExtensionMethod:
696case MessageID.IDS_FeaturePartialMethod: // semantic check
697case MessageID.IDS_FeatureImplicitLocal: // Checked in the binder.
698case MessageID.IDS_FeatureAutoImplementedProperties:
702case MessageID.IDS_FeatureGenerics: // Also affects crefs.
703case MessageID.IDS_FeatureAnonDelegates: // semantic check
704case MessageID.IDS_FeatureGlobalNamespace: // Also affects crefs.
705case MessageID.IDS_FeatureFixedBuffer: // semantic check
706case MessageID.IDS_FeatureStaticClasses: // semantic check
707case MessageID.IDS_FeaturePartialTypes: // semantic check
708case MessageID.IDS_FeaturePropertyAccessorMods:
709case MessageID.IDS_FeatureExternAlias: // semantic check
710case MessageID.IDS_FeatureIterators: // semantic check
711case MessageID.IDS_FeatureDefault: // semantic check
712case MessageID.IDS_FeatureNullable:
713case MessageID.IDS_FeaturePragma: // Checked in the directive parser.
714case MessageID.IDS_FeatureSwitchOnBool: // Checked in the binder.
718case MessageID.IDS_FeatureModuleAttrLoc:
Parser\DocumentationCommentParser.cs (7)
1035operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUnsignedRightShift, forceWarning: true);
1045operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1077operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1136operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1150checkedKeyword = CheckFeatureAvailability(checkedKeyword, MessageID.IDS_FeatureCheckedUserDefinedOperators, forceWarning: true);
1359open = CheckFeatureAvailability(open, MessageID.IDS_FeatureGenerics, forceWarning: true);
1423alias = CheckFeatureAvailability(alias, MessageID.IDS_FeatureGlobalNamespace, forceWarning: true);
Symbols\Source\ParameterHelpers.cs (8)
228bool allowShadowingNames = withTypeParametersBinder.Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNameShadowingInNestedFunctions) &&
543Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureExtensionMethod, diagnostics);
547Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
576Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
664MessageID.IDS_FeatureLambdaParamsArray.CheckFeatureAvailability(diagnostics, modifier);
674Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureReadOnlyReferences, diagnostics);
678Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
724Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
Symbols\Source\SourceMemberContainerSymbol.cs (10)
505if (reportIfContextual(SyntaxKind.RecordKeyword, MessageID.IDS_FeatureRecords, ErrorCode.WRN_RecordNamedDisallowed)
506|| reportIfContextual(SyntaxKind.RequiredKeyword, MessageID.IDS_FeatureRequiredMembers, ErrorCode.ERR_RequiredNameDisallowed)
507|| reportIfContextual(SyntaxKind.FileKeyword, MessageID.IDS_FeatureFileTypes, ErrorCode.ERR_FileTypeNameDisallowed)
508|| reportIfContextual(SyntaxKind.ScopedKeyword, MessageID.IDS_FeatureRefFields, ErrorCode.ERR_ScopedTypeNameDisallowed)
509|| reportIfContextual(SyntaxKind.ExtensionKeyword, MessageID.IDS_FeatureExtensions, ErrorCode.ERR_ExtensionTypeNameDisallowed))
518bool reportIfContextual(SyntaxKind contextualKind, MessageID featureId, ErrorCode error)
1373Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.GetFirstLocation());
2204var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD;
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);
704MessageID.IDS_FeatureObsoleteOnPropertyAccessor.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
1425diagnostics.Add(ErrorCode.ERR_CannotUseManagedTypeInUnmanagedCallersOnly, syntax.Location, type, (isParam ? MessageID.IDS_Parameter : MessageID.IDS_Return).Localize());
1552MessageID.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()));