Binder\Binder.ValueChecks.cs (15)
982Error(diagnostics, ErrorCode.ERR_BadSKknown, node, ns.NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
987Error(diagnostics, ErrorCode.ERR_BadSKknown, node, type.Type, MessageID.IDS_SK_TYPE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
998Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, unconvertedAddressOf.Operand.Name, MessageID.IDS_AddressOfMethodGroup.Localize());
1009Error(diagnostics, GetMethodGroupOrFunctionPointerLvalueError(valueKind), node, methodGroup.Name, MessageID.IDS_MethodGroup.Localize());
1264Error(diagnostics, ErrorCode.ERR_BadSKknown, expr.Syntax, ((BoundNamespaceExpression)expr).NamespaceSymbol, MessageID.IDS_SK_NAMESPACE.Localize(), MessageID.IDS_SK_VARIABLE.Localize());
1272Error(diagnostics, ErrorCode.ERR_BadSKunknown, expr.Syntax, expr.Type, MessageID.IDS_SK_TYPE.Localize());
1309else if (this.IsDirectlyInIterator && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
2062CheckFeatureAvailability(node, MessageID.IDS_FeatureInitOnlySetters, diagnostics);
3467MessageID cause;
3470cause = MessageID.IDS_FOREACHLOCAL;
3474cause = MessageID.IDS_USINGLOCAL;
3478cause = MessageID.IDS_FIXEDLOCAL;
Binder\Binder_Conversions.cs (11)
486CheckFeatureAvailability(syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
498CheckFeatureAvailability(syntax, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
504CheckFeatureAvailability(syntax, MessageID.IDS_FeatureUnions, diagnostics);
521CheckFeatureAvailability(syntax, MessageID.IDS_FeatureInlineArrays, diagnostics);
565CheckFeatureAvailability(syntax, MessageID.IDS_FeatureFirstClassSpan, diagnostics);
2473if (targetTyped && !destination.IsErrorType() && !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureTargetTypedConditional))
2481new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureTargetTypedConditional.RequiredVersion()));
2843Debug.Assert(syntax.IsFeatureEnabled(MessageID.IDS_FeatureInferredDelegateType));
3063Error(diagnostics, ErrorCode.WRN_OptionalParamValueMismatch, lambdaParameter.GetFirstLocation(), p + 1, lambdaParamDefault, delegateParamDefault ?? ((object)MessageID.IDS_Missing.Localize()));
3117CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructs, diagnostics);
3430else 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);
6033MessageID.IDS_FeatureDictionaryInitializer.CheckFeatureAvailability(diagnostics, implicitIndexing.ArgumentList.OpenBracketToken);
6130MessageID.IDS_FeatureImplicitIndexerInitializer.CheckFeatureAvailability(diagnostics, implicitIndexer.Syntax);
6403MessageID.IDS_FeatureCollectionInitializer.CheckFeatureAvailability(diagnostics, initializerSyntax.OpenBraceToken);
6463CheckFeatureAvailability(node, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
7573MessageID.IDS_FeatureRawStringLiterals.CheckFeatureAvailability(diagnostics, node);
7586CheckFeatureAvailability(node, MessageID.IDS_FeatureRawStringLiterals, diagnostics);
7589CheckFeatureAvailability(node, MessageID.IDS_FeatureUtf8StringLiterals, diagnostics);
7920var msgId = ((UnboundLambda)boundLeft).MessageID;
8121CheckFeatureAvailability(boundLeft.Syntax, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
8168Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
8198Error(diagnostics, ErrorCode.ERR_BadSKunknown, methodGroup.NameSyntax, method, MessageID.IDS_SK_METHOD.Localize());
8258MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, syntax);
9169CheckFeatureAvailability(node, MessageID.IDS_FeatureIndexingMovableFixedBuffers, diagnostics);
9215CheckFeatureAvailability(node, MessageID.IDS_FeatureRefFields, diagnostics);
9459else if (CheckFeatureAvailability(node, MessageID.IDS_FeatureInstanceMemberInNameof, diagnostics))
9837CheckFeatureAvailability(node, MessageID.IDS_FeatureInlineArrays, diagnostics);
10597_ = MessageID.IDS_FeatureIndexOperator.CheckFeatureAvailability(diagnostics, syntax);
11637MessageID.IDS_FeatureNullPropagatingOperator.CheckFeatureAvailability(diagnostics, node.OperatorToken);
11645MessageID.IDS_FeatureNullConditionalAssignment.CheckFeatureAvailability(diagnostics, assignment.OperatorToken);
11826var 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);
3461!node.IsFeatureEnabled(MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators))
3601CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
4008result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4019result = CheckFeatureAvailability(node, MessageID.IDS_FeatureStaticAbstractMembersInInterfaces, diagnostics);
4027result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4038result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureExtensions, diagnostics);
4042result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureCheckedUserDefinedOperators, diagnostics);
4046result &= CheckFeatureAvailability(node, MessageID.IDS_FeatureUnsignedRightShift, diagnostics);
4057MessageID.IDS_FeatureNullableReferenceTypes.CheckFeatureAvailability(diagnostics, node.OperatorToken);
4859((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeaturePatternMatching))
4954if (wasUnderscore && ((CSharpParseOptions)node.SyntaxTree.Options).IsFeatureEnabled(MessageID.IDS_FeatureRecursivePatterns))
5711CheckFeatureAvailability(node, MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator, diagnostics);
5849MessageID.IDS_FeatureCoalesceAssignmentExpression.CheckFeatureAvailability(diagnostics, node.OperatorToken);
5968CheckFeatureAvailability(node, MessageID.IDS_FeatureRefConditional, diagnostics);
6121CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
6137CheckFeatureAvailability(syntax, MessageID.IDS_FeatureNativeInt, diagnostics);
Binder\Binder_Patterns.cs (24)
23MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, node);
444MessageID.IDS_FeaturePatternMatching.CheckFeatureAvailability(diagnostics, node.IsKeyword);
584MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node.SwitchKeyword);
639MessageID.IDS_FeatureParenthesizedPattern.CheckFeatureAvailability(diagnostics, node.OpenParenToken);
753CheckFeatureAvailability(node, MessageID.IDS_FeatureListPattern, diagnostics);
863MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
932CheckFeatureAvailability(innerExpression, MessageID.IDS_FeatureTypePattern, diagnostics);
1072CheckFeatureAvailability(patternExpression, MessageID.IDS_FeatureNullPointerConstantPattern, diagnostics);
1129var requiredVersion = MessageID.IDS_FeatureRecursivePatterns.RequiredVersion();
1153if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
1346LanguageVersion requiredVersion = MessageID.IDS_FeatureGenericPatternMatching.RequiredVersion();
1494CheckFeatureAvailability(designation, MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers, diagnostics);
1576MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
1711MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, subPattern.ExpressionColon.ColonToken);
1858if (Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion())
1942|| (inputType.IsPointerType() && Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion()))
2009MessageID.IDS_FeatureRecursivePatterns.CheckFeatureAvailability(diagnostics, node);
2130MessageID.IDS_FeatureExtendedPropertyPatterns.CheckFeatureAvailability(diagnostics, p.ExpressionColon.ColonToken);
2170MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, expr is MemberAccessExpressionSyntax memberAccess ? memberAccess.Name : expr); // Since new exhaustiveness rules will be used by DecisionDagBuilder.
2313MessageID.IDS_FeatureTypePattern.CheckFeatureAvailability(diagnostics, node);
2331MessageID.IDS_FeatureRelationalPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2441MessageID.IDS_FeatureNotPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2517MessageID.IDS_FeatureOrPattern.CheckFeatureAvailability(diagnostics, node.OperatorToken);
2537MessageID.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);
1243CheckFeatureAvailability(expr.Syntax, MessageID.IDS_FeatureDisposalPattern, diagnostics);
1291CheckFeatureAvailability(syntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
1470MessageID patternName = isAsync ? MessageID.IDS_FeatureAsyncStreams : MessageID.IDS_Collection;
1507diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, patternType, MessageID.IDS_Collection.Localize(),
1605diagnostics.Add(ErrorCode.WRN_PatternIsAmbiguous, collectionSyntax.Location, collectionExpr.Type, MessageID.IDS_Collection.Localize(),
1764diagnostics.Add(ErrorCode.WRN_PatternBadSignature, collectionSyntax.Location, enumeratorType, MessageID.IDS_Collection.Localize(), patternMemberCandidate);
1828CheckFeatureAvailability(collectionSyntax, MessageID.IDS_FeatureRefStructInterfaces, diagnostics);
CommandLine\CSharpCommandLineParser.cs (23)
211AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/langversion:");
283ParseAndResolveReferencePaths(name, valueMemory, baseDirectory, libPaths, MessageID.IDS_LIB_OPTION, diagnostics);
346ParseAndResolveReferencePaths(name, valueMemory, baseDirectory, sourcePaths, MessageID.IDS_REFERENCEPATH_OPTION, diagnostics);
434AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
648AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "modulename");
696AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
709AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
717AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/doc:"); // Different argument.
729AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "/addmodule:");
819AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), name);
1076AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "keycontainer");
1138AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "subsystemversion");
1159AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), "touchedfiles");
1454ParseAndResolveReferencePaths(null, additionalReferenceDirectories.AsMemory(), baseDirectory, libPaths, MessageID.IDS_LIB_ENV, diagnostics);
1569if (nullableContextOptions != NullableContextOptions.Disable && parseOptions.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
1573new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())), Location.None));
1632private static void ParseAndResolveReferencePaths(string? switchName, ReadOnlyMemory<char>? switchValue, string? baseDirectory, List<string> builder, MessageID origin, List<Diagnostic> diagnostics)
1637AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_PathList.Localize(), switchName);
1646AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryHasInvalidPath.Localize());
1650AddDiagnostic(diagnostics, ErrorCode.WRN_InvalidSearchPathDir, path, origin.Localize(), MessageID.IDS_DirectoryDoesNotExist.Localize());
1891AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Namespace1.Localize(), arg);
1905AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
1932AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
Compiler\DocumentationCommentCompiler.IncludeElementExpander.cs (12)
283_diagnostics.Add(ErrorCode.WRN_FailedInclude, location, filePathValue, xpathValue, new LocalizableErrorArgument(MessageID.IDS_OperationCausedStackOverflow));
286commentMessage = ErrorFacts.GetMessage(MessageID.IDS_XMLNOINCLUDE, CultureInfo.CurrentUICulture);
303var subMessage = hasFileAttribute ? MessageID.IDS_XMLMISSINGINCLUDEPATH.Localize() : MessageID.IDS_XMLMISSINGINCLUDEFILE.Localize();
305commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLBADINCLUDE);
316commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
326commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
347commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
360commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLFAILEDINCLUDE);
396commentMessage = MakeCommentMessage(location, MessageID.IDS_XMLNOINCLUDE);
409commentMessage = string.Format(ErrorFacts.GetMessage(MessageID.IDS_XMLIGNORED2, CultureInfo.CurrentUICulture), resolvedFilePath);
434private static string MakeCommentMessage(Location location, MessageID messageId)
Declarations\DeclarationTreeBuilder.cs (12)
482MessageID.IDS_FeatureUsingStatic.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.StaticKeyword.GetLocation());
485MessageID.IDS_FeatureGlobalUsing.CheckFeatureAvailability(diagnostics, usingDirective, usingDirective.GlobalKeyword.GetLocation());
492MessageID.IDS_FeatureExternAlias.CheckFeatureAvailability(diagnostics, externAlias, externAlias.ExternKeyword.GetLocation());
530MessageID.IDS_FeatureFileScopedNamespace.CheckFeatureAvailability(diagnostics, node, node.NamespaceKeyword.GetLocation());
761MessageID.IDS_FeatureRecordStructs.CheckFeatureAvailability(diagnostics, record, record.ClassOrStructKeyword.GetLocation());
774MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node.ParameterList);
779MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
784MessageID.IDS_FeatureUnions.CheckFeatureAvailability(diagnostics, node, node.Keyword.GetLocation());
794MessageID.IDS_FeatureStaticClasses.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
798MessageID.IDS_FeatureReadOnlyStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
802MessageID.IDS_FeatureRefStructs.CheckFeatureAvailability(diagnostics, node, modifier.GetLocation());
890MessageID.IDS_FeaturePrimaryConstructors.CheckFeatureAvailability(diagnostics, node, node.SemicolonToken.GetLocation());
Errors\MessageID.cs (203)
322private readonly MessageID _id;
324internal LocalizableErrorArgument(MessageID id)
344public static LocalizableErrorArgument Localize(this MessageID id)
355internal static string? RequiredFeature(this MessageID feature)
366this MessageID feature,
380this MessageID feature,
394this MessageID feature,
408this MessageID feature,
422this MessageID feature,
437this MessageID feature,
452this MessageID feature,
465internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpParseOptions options)
468internal static CSDiagnosticInfo? GetFeatureAvailabilityDiagnosticInfo(this MessageID feature, CSharpCompilation compilation)
471private static CSDiagnosticInfo GetDisabledFeatureDiagnosticInfo(MessageID feature, LanguageVersion availableVersion)
485internal static LanguageVersion RequiredVersion(this MessageID feature)
496case MessageID.IDS_FeatureCollectionExpressionArguments:
497case MessageID.IDS_FeatureUnsafeEvolution: // https://github.com/dotnet/roslyn/issues/82546: keep this in preview until C# 16
498case MessageID.IDS_FeatureUnions:
499case MessageID.IDS_FeatureStaticMembersInInterfaces:
500case MessageID.IDS_FeatureClosedClasses: // semantic check
504case MessageID.IDS_FeatureFieldKeyword:
505case MessageID.IDS_FeatureFirstClassSpan:
506case MessageID.IDS_FeatureUnboundGenericTypesInNameof:
507case MessageID.IDS_FeatureSimpleLambdaParameterModifiers:
508case MessageID.IDS_FeaturePartialEventsAndConstructors:
509case MessageID.IDS_FeatureExtensions:
510case MessageID.IDS_FeatureNullConditionalAssignment:
511case MessageID.IDS_FeatureExpressionOptionalAndNamedArguments:
512case MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators:
516case MessageID.IDS_FeatureStringEscapeCharacter: // lexer check
517case MessageID.IDS_FeatureImplicitIndexerInitializer:
518case MessageID.IDS_FeatureLockObject:
519case MessageID.IDS_FeatureParamsCollections:
520case MessageID.IDS_FeatureRefUnsafeInIteratorAsync:
521case MessageID.IDS_FeatureRefStructInterfaces:
522case MessageID.IDS_FeatureAllowsRefStructConstraint:
523case MessageID.IDS_FeaturePartialProperties:
524case MessageID.IDS_FeatureOverloadResolutionPriority:
528case MessageID.IDS_FeatureLambdaOptionalParameters: // semantic check
529case MessageID.IDS_FeatureLambdaParamsArray: // semantic check
530case MessageID.IDS_FeaturePrimaryConstructors: // declaration table check
531case MessageID.IDS_FeatureUsingTypeAlias: // semantic check
532case MessageID.IDS_FeatureInstanceMemberInNameof: // semantic check
533case MessageID.IDS_FeatureInlineArrays: // semantic check
534case MessageID.IDS_FeatureCollectionExpressions: // semantic check
535case MessageID.IDS_FeatureRefReadonlyParameters: // semantic check
539case MessageID.IDS_FeatureRawStringLiterals:
540case MessageID.IDS_FeatureStaticAbstractMembersInInterfaces: // semantic check
541case MessageID.IDS_FeatureNewLinesInInterpolations: // semantic check
542case MessageID.IDS_FeatureListPattern: // semantic check
543case MessageID.IDS_FeatureRequiredMembers: // semantic check
544case MessageID.IDS_FeatureCacheStaticMethodGroupConversion: // lowering check
545case MessageID.IDS_FeatureSpanCharConstantPattern:
546case MessageID.IDS_FeatureAutoDefaultStructs: // semantic check
547case MessageID.IDS_FeatureCheckedUserDefinedOperators: // semantic check for declarations, parsing check for doc comments
548case MessageID.IDS_FeatureUtf8StringLiterals: // semantic check
549case MessageID.IDS_FeatureUnsignedRightShift: // semantic check for declarations and consumption, parsing check for doc comments
550case MessageID.IDS_FeatureRelaxedShiftOperator: // semantic check
551case MessageID.IDS_FeatureRefFields: // semantic check
552case MessageID.IDS_FeatureFileTypes: // semantic check
553case MessageID.IDS_FeatureGenericAttributes: // semantic check
557case MessageID.IDS_FeatureMixedDeclarationsAndExpressionsInDeconstruction: // semantic check
558case MessageID.IDS_FeatureSealedToStringInRecord: // semantic check
559case MessageID.IDS_FeatureImprovedInterpolatedStrings: // semantic check
560case MessageID.IDS_FeatureRecordStructs:
561case MessageID.IDS_FeatureWithOnStructs: // semantic check
562case MessageID.IDS_FeatureWithOnAnonymousTypes: // semantic check
563case MessageID.IDS_FeaturePositionalFieldsInRecords: // semantic check
564case MessageID.IDS_FeatureGlobalUsing:
565case MessageID.IDS_FeatureInferredDelegateType: // semantic check
566case MessageID.IDS_FeatureLambdaAttributes: // semantic check
567case MessageID.IDS_FeatureExtendedPropertyPatterns: // semantic check
568case MessageID.IDS_FeatureLambdaReturnType: // semantic check
569case MessageID.IDS_AsyncMethodBuilderOverride: // semantic check
570case MessageID.IDS_FeatureConstantInterpolatedStrings: // semantic check
571case MessageID.IDS_FeatureImplicitImplementationOfNonPublicMembers: // semantic check
572case MessageID.IDS_FeatureFileScopedNamespace: // semantic check
573case MessageID.IDS_FeatureParameterlessStructConstructors: // semantic check
574case MessageID.IDS_FeatureStructFieldInitializers: // semantic check
578case MessageID.IDS_FeatureLambdaDiscardParameters: // semantic check
579case MessageID.IDS_FeatureFunctionPointers: // semantic check
580case MessageID.IDS_FeatureLocalFunctionAttributes: // syntax check
581case MessageID.IDS_FeatureExternLocalFunctions: // semantic check
582case MessageID.IDS_FeatureImplicitObjectCreation: // semantic check
583case MessageID.IDS_FeatureMemberNotNull:
584case MessageID.IDS_FeatureAndPattern: // semantic check
585case MessageID.IDS_FeatureNotPattern: // semantic check
586case MessageID.IDS_FeatureOrPattern: // semantic check
587case MessageID.IDS_FeatureParenthesizedPattern: // semantic check
588case MessageID.IDS_FeatureTypePattern: // semantic check
589case MessageID.IDS_FeatureRelationalPattern: // semantic check
590case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
591case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
592case MessageID.IDS_FeatureNativeInt:
593case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
594case MessageID.IDS_TopLevelStatements:
595case MessageID.IDS_FeatureInitOnlySetters: // semantic check
596case MessageID.IDS_FeatureRecords: // semantic check
597case MessageID.IDS_FeatureTargetTypedConditional: // semantic check
598case MessageID.IDS_FeatureCovariantReturnsForOverrides: // semantic check
599case MessageID.IDS_FeatureStaticAnonymousFunction: // semantic check
600case MessageID.IDS_FeatureModuleInitializers: // semantic check on method attribute
601case MessageID.IDS_FeatureDefaultTypeParameterConstraint: // semantic check
602case MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers: // semantic check
606case MessageID.IDS_FeatureAltInterpolatedVerbatimStrings: // semantic check
607case MessageID.IDS_FeatureCoalesceAssignmentExpression: // semantic check
608case MessageID.IDS_FeatureUnconstrainedTypeParameterInNullCoalescingOperator:
609case MessageID.IDS_FeatureNullableReferenceTypes: // syntax and semantic check
610case MessageID.IDS_FeatureIndexOperator: // semantic check
611case MessageID.IDS_FeatureRangeOperator: // semantic check
612case MessageID.IDS_FeatureAsyncStreams: // semantic check
613case MessageID.IDS_FeatureRecursivePatterns: // semantic check
614case MessageID.IDS_FeatureUsingDeclarations: // semantic check
615case MessageID.IDS_FeatureDisposalPattern: //semantic check
616case MessageID.IDS_FeatureStaticLocalFunctions: // semantic check
617case MessageID.IDS_FeatureNameShadowingInNestedFunctions:
618case MessageID.IDS_FeatureUnmanagedConstructedTypes: // semantic check
619case MessageID.IDS_FeatureObsoleteOnPropertyAccessor:
620case MessageID.IDS_FeatureReadOnlyMembers:
621case MessageID.IDS_DefaultInterfaceImplementation: // semantic check
622case MessageID.IDS_OverrideWithConstraints: // semantic check
623case MessageID.IDS_FeatureNestedStackalloc: // semantic check
624case MessageID.IDS_FeatureNotNullGenericTypeConstraint:// semantic check
625case MessageID.IDS_FeatureSwitchExpression:
626case MessageID.IDS_FeatureAsyncUsing:
627case MessageID.IDS_FeatureNullPointerConstantPattern: //semantic check
631case MessageID.IDS_FeatureAttributesOnBackingFields: // semantic check
632case MessageID.IDS_FeatureImprovedOverloadCandidates: // semantic check
633case MessageID.IDS_FeatureTupleEquality: // semantic check
634case MessageID.IDS_FeatureRefReassignment: // semantic check
635case MessageID.IDS_FeatureRefFor:
636case MessageID.IDS_FeatureRefForEach: // semantic check
637case MessageID.IDS_FeatureEnumGenericTypeConstraint: // semantic check
638case MessageID.IDS_FeatureDelegateGenericTypeConstraint: // semantic check
639case MessageID.IDS_FeatureUnmanagedGenericTypeConstraint: // semantic check
640case MessageID.IDS_FeatureStackAllocInitializer: // semantic check
641case MessageID.IDS_FeatureExpressionVariablesInQueriesAndInitializers: // semantic check
642case MessageID.IDS_FeatureExtensibleFixedStatement: // semantic check
643case MessageID.IDS_FeatureIndexingMovableFixedBuffers: //semantic check
647case MessageID.IDS_FeatureNonTrailingNamedArguments: // semantic check
648case MessageID.IDS_FeatureLeadingDigitSeparator:
649case MessageID.IDS_FeaturePrivateProtected:
650case MessageID.IDS_FeatureReadOnlyReferences: // semantic check
651case MessageID.IDS_FeatureRefStructs: // semantic check
652case MessageID.IDS_FeatureReadOnlyStructs: // semantic check
653case MessageID.IDS_FeatureRefExtensionMethods:
654case MessageID.IDS_FeatureRefConditional:
658case MessageID.IDS_FeatureAsyncMain:
659case MessageID.IDS_FeatureDefaultLiteral: // semantic check
660case MessageID.IDS_FeatureInferredTupleNames:
661case MessageID.IDS_FeatureGenericPatternMatching:
665case MessageID.IDS_FeatureBinaryLiteral:
666case MessageID.IDS_FeatureDigitSeparator:
667case MessageID.IDS_FeatureLocalFunctions: // semantic check
668case MessageID.IDS_FeatureRefLocalsReturns:
669case MessageID.IDS_FeaturePatternMatching: // semantic check
670case MessageID.IDS_FeatureThrowExpression: // semantic check
671case MessageID.IDS_FeatureTuples:
672case MessageID.IDS_FeatureOutVar: // semantic check
673case MessageID.IDS_FeatureExpressionBodiedAccessor:
674case MessageID.IDS_FeatureExpressionBodiedDeOrConstructor:
675case MessageID.IDS_FeatureDiscards:
679case MessageID.IDS_FeatureExceptionFilter: // semantic check
680case MessageID.IDS_FeatureAutoPropertyInitializer: // semantic check
681case MessageID.IDS_FeatureNullPropagatingOperator: // semantic check
682case MessageID.IDS_FeatureExpressionBodiedMethod:
683case MessageID.IDS_FeatureExpressionBodiedProperty: // semantic check
684case MessageID.IDS_FeatureExpressionBodiedIndexer: // semantic check
685case MessageID.IDS_FeatureNameof:
686case MessageID.IDS_FeatureDictionaryInitializer: // semantic check
687case MessageID.IDS_FeatureUsingStatic: // semantic check
688case MessageID.IDS_FeatureInterpolatedStrings: // semantic check
689case MessageID.IDS_AwaitInCatchAndFinally:
690case MessageID.IDS_FeatureReadonlyAutoImplementedProperties:
694case MessageID.IDS_FeatureAsync: // semantic check
698case MessageID.IDS_FeatureDynamic: // Checked in the binder.
699case MessageID.IDS_FeatureTypeVariance: // semantic check
700case MessageID.IDS_FeatureNamedArgument: // semantic check
701case MessageID.IDS_FeatureOptionalParameter: // semantic check
705case MessageID.IDS_FeatureImplicitArray: // semantic check
706case MessageID.IDS_FeatureAnonymousTypes: // semantic check
707case MessageID.IDS_FeatureObjectInitializer:
708case MessageID.IDS_FeatureCollectionInitializer:
709case MessageID.IDS_FeatureLambda: // semantic check
710case MessageID.IDS_FeatureQueryExpression: // semantic check
711case MessageID.IDS_FeatureExtensionMethod:
712case MessageID.IDS_FeaturePartialMethod: // semantic check
713case MessageID.IDS_FeatureImplicitLocal: // Checked in the binder.
714case MessageID.IDS_FeatureAutoImplementedProperties:
718case MessageID.IDS_FeatureGenerics: // Also affects crefs.
719case MessageID.IDS_FeatureAnonDelegates: // semantic check
720case MessageID.IDS_FeatureGlobalNamespace: // Also affects crefs.
721case MessageID.IDS_FeatureFixedBuffer: // semantic check
722case MessageID.IDS_FeatureStaticClasses: // semantic check
723case MessageID.IDS_FeaturePartialTypes: // semantic check
724case MessageID.IDS_FeaturePropertyAccessorMods:
725case MessageID.IDS_FeatureExternAlias: // semantic check
726case MessageID.IDS_FeatureIterators: // semantic check
727case MessageID.IDS_FeatureDefault: // semantic check
728case MessageID.IDS_FeatureNullable:
729case MessageID.IDS_FeaturePragma: // Checked in the directive parser.
730case MessageID.IDS_FeatureSwitchOnBool: // Checked in the binder.
734case MessageID.IDS_FeatureModuleAttrLoc:
Parser\DocumentationCommentParser.cs (7)
1068operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUnsignedRightShift, forceWarning: true);
1078operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1110operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1169operatorToken = CheckFeatureAvailability(operatorToken, MessageID.IDS_FeatureUserDefinedCompoundAssignmentOperators, forceWarning: true);
1183checkedKeyword = CheckFeatureAvailability(checkedKeyword, MessageID.IDS_FeatureCheckedUserDefinedOperators, forceWarning: true);
1398open = CheckFeatureAvailability(open, MessageID.IDS_FeatureGenerics, forceWarning: true);
1462alias = CheckFeatureAvailability(alias, MessageID.IDS_FeatureGlobalNamespace, forceWarning: true);
Symbols\Source\ModifierUtils.cs (16)
31modifierErrors |= !MessageID.IDS_FeatureReadOnlyMembers.CheckFeatureAvailability(diagnostics, readonlyToken);
109checkFeature(DeclarationModifiers.PrivateProtected, MessageID.IDS_FeaturePrivateProtected) |
110checkFeature(DeclarationModifiers.Required, MessageID.IDS_FeatureRequiredMembers) |
111checkFeature(DeclarationModifiers.File, MessageID.IDS_FeatureFileTypes) |
112checkFeature(DeclarationModifiers.Closed, MessageID.IDS_FeatureClosedClasses) |
113checkFeature(DeclarationModifiers.Async, MessageID.IDS_FeatureAsync);
117bool checkFeature(DeclarationModifiers modifier, MessageID featureID)
125if (MessageID.IDS_FeatureRefFields.GetFeatureAvailabilityDiagnosticInfo((CSharpParseOptions)syntax.SyntaxTree.Options) is { } diagnosticInfo)
170requiredVersion = MessageID.IDS_FeatureStaticAbstractMembersInInterfaces.RequiredVersion();
183Binder.CheckFeatureAvailability(errorLocation.SourceTree, MessageID.IDS_DefaultInterfaceImplementation, diagnostics, errorLocation);
188requiredVersion = MessageID.IDS_DefaultInterfaceImplementation.RequiredVersion();
221LanguageVersion requiredVersion = MessageID.IDS_FeatureStaticAbstractMembersInInterfaces.RequiredVersion();
235LanguageVersion requiredVersion = MessageID.IDS_FeaturePartialEventsAndConstructors.RequiredVersion();
455var messageId = isForTypeDeclaration ? MessageID.IDS_FeaturePartialTypes : MessageID.IDS_FeaturePartialMethod;
Symbols\Source\ParameterHelpers.cs (8)
228bool allowShadowingNames = withTypeParametersBinder.Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNameShadowingInNestedFunctions) &&
607Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureExtensionMethod, diagnostics);
611Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
640Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
728MessageID.IDS_FeatureLambdaParamsArray.CheckFeatureAvailability(diagnostics, modifier);
738Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureReadOnlyReferences, diagnostics);
742Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
805Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefReadonlyParameters, diagnostics);
Symbols\Source\SourceMemberContainerSymbol.cs (18)
532if (reportIfContextual(SyntaxKind.RecordKeyword, MessageID.IDS_FeatureRecords, ErrorCode.WRN_RecordNamedDisallowed)
533|| reportIfContextual(SyntaxKind.RequiredKeyword, MessageID.IDS_FeatureRequiredMembers, ErrorCode.ERR_RequiredNameDisallowed)
534|| reportIfContextual(SyntaxKind.FileKeyword, MessageID.IDS_FeatureFileTypes, ErrorCode.ERR_FileTypeNameDisallowed)
535|| reportIfContextual(SyntaxKind.ClosedKeyword, MessageID.IDS_FeatureClosedClasses, ErrorCode.ERR_ClosedTypeNameDisallowed)
536|| reportIfContextual(SyntaxKind.ScopedKeyword, MessageID.IDS_FeatureRefFields, ErrorCode.ERR_ScopedTypeNameDisallowed)
537|| reportIfContextual(SyntaxKind.ExtensionKeyword, MessageID.IDS_FeatureExtensions, ErrorCode.ERR_ExtensionTypeNameDisallowed))
546bool reportIfContextual(SyntaxKind contextualKind, MessageID featureId, ErrorCode error)
1481Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.GetFirstLocation());
1949MessageID.IDS_FeatureExtensions.CheckFeatureAvailability(diagnostics, compilation, location);
2381var methodKind = method1.MethodKind == MethodKind.Constructor ? MessageID.IDS_SK_CONSTRUCTOR : MessageID.IDS_SK_METHOD;
4867MessageID.IDS_FeatureParameterlessStructConstructors.CheckFeatureAvailability(diagnostics, m.DeclaringCompilation, location);
4896MessageID.IDS_FeatureStructFieldInitializers.CheckFeatureAvailability(diagnostics, symbol.DeclaringCompilation, symbol.GetFirstLocation());
5315if (baseToStringMethod.ContainingModule != this.ContainingModule && !this.DeclaringCompilation.IsFeatureEnabled(MessageID.IDS_FeatureSealedToStringInRecord))
5318var requiredVersion = MessageID.IDS_FeatureSealedToStringInRecord.RequiredVersion();
5341MessageID.IDS_FeatureSealedToStringInRecord.CheckFeatureAvailability(
5405Binder.CheckFeatureAvailability(syntax, MessageID.IDS_FeaturePositionalFieldsInRecords, diagnostics);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (9)
600MessageID.IDS_FeatureMemberNotNull.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
605MessageID.IDS_FeatureMemberNotNull.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
610MessageID.IDS_FeatureModuleInitializers.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
630MessageID.IDS_FeatureRefStructInterfaces.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
648MessageID.IDS_FeatureOverloadResolutionPriority.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
720MessageID.IDS_FeatureObsoleteOnPropertyAccessor.CheckFeatureAvailability(diagnostics, arguments.AttributeSyntaxOpt);
1437diagnostics.Add(ErrorCode.ERR_CannotUseManagedTypeInUnmanagedCallersOnly, syntax.Location, type, (isParam ? MessageID.IDS_Parameter : MessageID.IDS_Return).Localize());
1564MessageID.IDS_AsyncMethodBuilderOverride.CheckFeatureAvailability(diagnostics, this.DeclaringCompilation, errorLocation);
Symbols\VarianceSafety.cs (9)
179return MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers.RequiredVersion() <= member.DeclaringCompilation.LanguageVersion;
314diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Invariantly);
320diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Covariantly);
326diagnostics.AddVarianceError(typeParam, context, locationProvider, locationArg, MessageID.IDS_Contravariantly);
448MessageID expectedVariance)
451MessageID actualVariance;
455actualVariance = MessageID.IDS_Contravariant;
458actualVariance = MessageID.IDS_Covariant;
478new CSharpRequiredLanguageVersion(MessageID.IDS_FeatureVarianceSafetyForStaticInterfaceMembers.RequiredVersion()));