841 references to DeclarationModifiers
Microsoft.CodeAnalysis.CSharp (841)
Binder\ExpressionVariableFinder.cs (4)
686private DeclarationModifiers _modifiers; 693DeclarationModifiers modifiers, 709finder._modifiers = DeclarationModifiers.None; 741modifiers: DeclarationModifiers.Private,
Declarations\DeclarationTreeBuilder.cs (10)
224modifiers: DeclarationModifiers.Internal | DeclarationModifiers.Partial | DeclarationModifiers.Sealed, 249modifiers: DeclarationModifiers.Partial, 339modifiers: DeclarationModifiers.Internal | DeclarationModifiers.Partial | DeclarationModifiers.Sealed, 787var modifiers = node.Modifiers.ToDeclarationModifiers(isForTypeDeclaration: true, diagnostics: diagnostics); 852var modifiers = node.Modifiers.ToDeclarationModifiers(isForTypeDeclaration: true, diagnostics: diagnostics); 885var modifiers = node.Modifiers.ToDeclarationModifiers(isForTypeDeclaration: true, diagnostics: diagnostics);
Declarations\SingleTypeDeclaration.cs (5)
22private readonly DeclarationModifiers _modifiers; 81DeclarationModifiers modifiers, 126public DeclarationModifiers Modifiers 269&& ((thisDecl.Modifiers & DeclarationModifiers.File) != 0 270|| (otherDecl.Modifiers & DeclarationModifiers.File) != 0))
Lowering\ClosureConversion\LambdaCapturedVariable.cs (1)
29DeclarationModifiers.Public,
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (8)
156private static DeclarationModifiers MakeDeclarationModifiers(ClosureKind closureKind, MethodSymbol originalMethod) 158var mods = closureKind == ClosureKind.ThisOnly ? DeclarationModifiers.Private : DeclarationModifiers.Internal; 162mods |= DeclarationModifiers.Static; 167mods |= DeclarationModifiers.Async; 172mods |= DeclarationModifiers.Extern; 177mods |= DeclarationModifiers.Unsafe;
Lowering\LocalRewriter\DelegateCacheContainer.cs (1)
78field = new SynthesizedFieldSymbol(this, fieldType, fieldName, DeclarationModifiers.Public, isStatic: true);
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
713var field = new SynthesizedFieldSymbol(containerDefinition, callSiteType, fieldName, DeclarationModifiers.Public, isStatic: true);
Lowering\MethodToClassRewriter.cs (1)
390: base(containingType, methodBeingWrapped, syntax.SyntaxTree.GetReference(syntax), syntax.GetLocation(), name, DeclarationModifiers.Private,
Lowering\StateMachineRewriter\StateMachineFieldSymbol.cs (2)
49: base(stateMachineType, name, isPublic ? DeclarationModifiers.Public : DeclarationModifiers.Private, isReadOnly: false, isStatic: false)
Lowering\SynthesizedMethodBaseSymbol.cs (3)
38DeclarationModifiers declarationModifiers, 176internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 177protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0;
Lowering\SynthesizedSubmissionFields.cs (1)
67_declaringSubmissionClass, hostObjectTypeSymbol, "<host-object>", DeclarationModifiers.Private, isReadOnly: true, isStatic: false);
Parser\LanguageParser.cs (46)
1299private static DeclarationModifiers GetModifierExcludingScoped(SyntaxToken token) 1302internal static DeclarationModifiers GetModifierExcludingScoped(SyntaxKind kind, SyntaxKind contextualKind) 1307return DeclarationModifiers.Public; 1309return DeclarationModifiers.Internal; 1311return DeclarationModifiers.Protected; 1313return DeclarationModifiers.Private; 1315return DeclarationModifiers.Sealed; 1317return DeclarationModifiers.Abstract; 1319return DeclarationModifiers.Static; 1321return DeclarationModifiers.Virtual; 1323return DeclarationModifiers.Extern; 1325return DeclarationModifiers.New; 1327return DeclarationModifiers.Override; 1329return DeclarationModifiers.ReadOnly; 1331return DeclarationModifiers.Volatile; 1333return DeclarationModifiers.Unsafe; 1335return DeclarationModifiers.Partial; 1337return DeclarationModifiers.Async; 1339return DeclarationModifiers.Ref; 1344return DeclarationModifiers.Partial; 1346return DeclarationModifiers.Async; 1348return DeclarationModifiers.Required; 1350return DeclarationModifiers.File; 1352return DeclarationModifiers.Closed; 1354return DeclarationModifiers.Safe; 1359return DeclarationModifiers.None; 1371var newMod = GetModifierExcludingScoped(this.CurrentToken); 1373Debug.Assert(newMod != DeclarationModifiers.Scoped); 1374if (newMod == DeclarationModifiers.None) 1393case DeclarationModifiers.Partial: 1407(IsPossibleStartOfTypeDeclaration(nextToken.Kind) && GetModifierExcludingScoped(nextToken) != DeclarationModifiers.None)) 1419case DeclarationModifiers.Ref: 1444case DeclarationModifiers.File: 1450case DeclarationModifiers.Closed: 1456case DeclarationModifiers.Async: 1465case DeclarationModifiers.Required: 1471case DeclarationModifiers.Safe: 1548Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None); 1661return !SyntaxFacts.IsContextualKeyword(nextToken.ContextualKind) && GetModifierExcludingScoped(nextToken) != DeclarationModifiers.None; 2205if (GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None) 3036if (GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None && 4486if (GetModifierExcludingScoped(this.CurrentToken) == DeclarationModifiers.None) 4492while (GetModifierExcludingScoped(this.PeekToken(peekIndex)) != DeclarationModifiers.None) 9008DeclarationModifiers modifier = GetModifierExcludingScoped(nextToken); 9009if (modifier == DeclarationModifiers.Partial) 9023else if (modifier != DeclarationModifiers.None)
Symbols\AliasSymbol.cs (1)
388this.CheckUnsafeModifier(DeclarationModifiers.Unsafe, usingDirective.UnsafeKeyword.GetLocation(), diagnostics);
Symbols\Extensions\SynthesizedExtensionMarker.cs (3)
36private static DeclarationModifiers GetDeclarationModifiers() => DeclarationModifiers.Private | DeclarationModifiers.Static;
Symbols\Source\FieldSymbolWithAttributesAndModifiers.cs (6)
25protected abstract DeclarationModifiers Modifiers { get; } 47=> (Modifiers & DeclarationModifiers.Static) != 0; 50=> (Modifiers & DeclarationModifiers.ReadOnly) != 0; 56=> (Modifiers & DeclarationModifiers.Const) != 0; 59=> (Modifiers & DeclarationModifiers.Volatile) != 0; 62=> (Modifiers & DeclarationModifiers.Fixed) != 0;
Symbols\Source\GlobalExpressionVariable.cs (3)
31DeclarationModifiers modifiers, 44DeclarationModifiers modifiers, 170DeclarationModifiers modifiers,
Symbols\Source\LocalFunctionSymbol.cs (12)
21private readonly DeclarationModifiers _declarationModifiers; 52DeclarationModifiers.Private | 61if ((_declarationModifiers & DeclarationModifiers.Safe) != 0) 406public override bool IsAsync => (_declarationModifiers & DeclarationModifiers.Async) != 0; 408public override bool IsStatic => (_declarationModifiers & DeclarationModifiers.Static) != 0; 410public override bool IsVirtual => (_declarationModifiers & DeclarationModifiers.Virtual) != 0; 412public override bool IsOverride => (_declarationModifiers & DeclarationModifiers.Override) != 0; 414public override bool IsAbstract => (_declarationModifiers & DeclarationModifiers.Abstract) != 0; 416public override bool IsSealed => (_declarationModifiers & DeclarationModifiers.Sealed) != 0; 418public override bool IsExtern => (_declarationModifiers & DeclarationModifiers.Extern) != 0; 420internal override bool HasUnsafeModifier => (_declarationModifiers & DeclarationModifiers.Unsafe) != 0; 421protected override bool HasSafeModifier => (_declarationModifiers & DeclarationModifiers.Safe) != 0;
Symbols\Source\ModifierUtils.cs (178)
15internal static DeclarationModifiers MakeAndCheckNonTypeMemberModifiers( 19DeclarationModifiers defaultAccess, 20DeclarationModifiers allowedModifiers, 26var result = modifiers.ToDeclarationModifiers(isForTypeDeclaration: false, diagnostics.DiagnosticBag ?? new DiagnosticBag(), isOrdinaryMethod: isOrdinaryMethod); 33hasExplicitAccessModifier = (result & DeclarationModifiers.AccessibilityMask) != 0; 40internal static DeclarationModifiers CheckModifiers( 43DeclarationModifiers modifiers, 44DeclarationModifiers allowedModifiers, 53DeclarationModifiers reportStaticNotVirtualForModifiers = DeclarationModifiers.None; 57Debug.Assert((allowedModifiers & (DeclarationModifiers.Override | DeclarationModifiers.Virtual)) == 0); 59else if ((modifiers & allowedModifiers & DeclarationModifiers.Static) != 0) 63reportStaticNotVirtualForModifiers = allowedModifiers & DeclarationModifiers.Override; 67reportStaticNotVirtualForModifiers = allowedModifiers & (DeclarationModifiers.Abstract | DeclarationModifiers.Override | DeclarationModifiers.Virtual); 73DeclarationModifiers errorModifiers = modifiers & ~allowedModifiers; 74DeclarationModifiers result = modifiers & allowedModifiers; 76while (errorModifiers != DeclarationModifiers.None) 78DeclarationModifiers oneError = errorModifiers & ~(errorModifiers - 1); 79Debug.Assert(oneError != DeclarationModifiers.None); 84case DeclarationModifiers.Partial: 89case DeclarationModifiers.Abstract: 90case DeclarationModifiers.Override: 91case DeclarationModifiers.Virtual: 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); 115if ((result & DeclarationModifiers.Safe) != 0) 123bool checkFeature(DeclarationModifiers modifier, MessageID featureID) 155DeclarationModifiers modifiers, 156DeclarationModifiers defaultInterfaceImplementationModifiers, 165if ((modifiers & defaultInterfaceImplementationModifiers & DeclarationModifiers.Static) != 0 && 166(modifiers & defaultInterfaceImplementationModifiers & (DeclarationModifiers.Sealed | DeclarationModifiers.Abstract | DeclarationModifiers.Virtual)) != 0) 168var reportModifiers = DeclarationModifiers.Sealed | DeclarationModifiers.Abstract | DeclarationModifiers.Virtual; 169if ((modifiers & defaultInterfaceImplementationModifiers & DeclarationModifiers.Sealed) != 0 && 170(modifiers & defaultInterfaceImplementationModifiers & (DeclarationModifiers.Abstract | DeclarationModifiers.Virtual)) != 0) 172diagnostics.Add(ErrorCode.ERR_BadMemberFlag, errorLocation, ConvertSingleModifierToSyntaxText(DeclarationModifiers.Sealed)); 173reportModifiers &= ~DeclarationModifiers.Sealed; 187if ((modifiers & defaultInterfaceImplementationModifiers & DeclarationModifiers.Static) != 0) 203internal static void ReportUnsupportedModifiersForLanguageVersion(DeclarationModifiers modifiers, DeclarationModifiers unsupportedModifiers, Location errorLocation, BindingDiagnosticBag diagnostics, LanguageVersion availableVersion, LanguageVersion requiredVersion) 205DeclarationModifiers errorModifiers = modifiers & unsupportedModifiers; 208while (errorModifiers != DeclarationModifiers.None) 210DeclarationModifiers oneError = errorModifiers & ~(errorModifiers - 1); 211Debug.Assert(oneError != DeclarationModifiers.None); 220internal static void CheckFeatureAvailabilityForStaticAbstractMembersInInterfacesIfNeeded(DeclarationModifiers mods, bool isExplicitInterfaceImplementation, Location location, BindingDiagnosticBag diagnostics) 222if (isExplicitInterfaceImplementation && (mods & DeclarationModifiers.Static) != 0) 230ModifierUtils.ReportUnsupportedModifiersForLanguageVersion(mods, DeclarationModifiers.Static, location, diagnostics, availableVersion, requiredVersion); 245DeclarationModifiers.Partial, 246DeclarationModifiers.Partial, 255internal static DeclarationModifiers AdjustModifiersForAnInterfaceMember(DeclarationModifiers mods, bool hasBody, bool isExplicitInterfaceImplementation, bool forMethod) 259bool notPartialOrNewPartialBehavior = (mods & DeclarationModifiers.Partial) == 0 || !forMethod; 261if ((mods & DeclarationModifiers.AccessibilityMask) == 0) 265mods |= DeclarationModifiers.Public; 269mods |= DeclarationModifiers.Private; 275if ((mods & DeclarationModifiers.Abstract) != 0) 277mods |= DeclarationModifiers.Sealed; 280else if ((mods & DeclarationModifiers.Static) != 0) 282mods &= ~DeclarationModifiers.Sealed; 284else if ((mods & (DeclarationModifiers.Private | DeclarationModifiers.Virtual | DeclarationModifiers.Abstract)) == 0 && notPartialOrNewPartialBehavior) 288if (hasBody || (mods & (DeclarationModifiers.Extern | DeclarationModifiers.Partial | DeclarationModifiers.Sealed)) != 0) 290if ((mods & DeclarationModifiers.Sealed) == 0) 292mods |= DeclarationModifiers.Virtual; 296mods &= ~DeclarationModifiers.Sealed; 301mods |= DeclarationModifiers.Abstract; 308internal static string ConvertSingleModifierToSyntaxText(DeclarationModifiers modifier) 312case DeclarationModifiers.Abstract: 314case DeclarationModifiers.Sealed: 316case DeclarationModifiers.Static: 318case DeclarationModifiers.New: 320case DeclarationModifiers.Public: 322case DeclarationModifiers.Protected: 324case DeclarationModifiers.Internal: 326case DeclarationModifiers.ProtectedInternal: 328case DeclarationModifiers.Private: 330case DeclarationModifiers.PrivateProtected: 332case DeclarationModifiers.ReadOnly: 334case DeclarationModifiers.Const: 336case DeclarationModifiers.Volatile: 338case DeclarationModifiers.Extern: 340case DeclarationModifiers.Partial: 342case DeclarationModifiers.Unsafe: 344case DeclarationModifiers.Safe: 346case DeclarationModifiers.Fixed: 348case DeclarationModifiers.Virtual: 350case DeclarationModifiers.Override: 352case DeclarationModifiers.Async: 354case DeclarationModifiers.Ref: 356case DeclarationModifiers.Required: 358case DeclarationModifiers.Scoped: 360case DeclarationModifiers.File: 362case DeclarationModifiers.Closed: 369private static DeclarationModifiers ToDeclarationModifier(SyntaxKind kind) 374return DeclarationModifiers.Abstract; 376return DeclarationModifiers.Async; 378return DeclarationModifiers.Sealed; 380return DeclarationModifiers.Static; 382return DeclarationModifiers.New; 384return DeclarationModifiers.Public; 386return DeclarationModifiers.Protected; 388return DeclarationModifiers.Internal; 390return DeclarationModifiers.Private; 392return DeclarationModifiers.Extern; 394return DeclarationModifiers.ReadOnly; 396return DeclarationModifiers.Partial; 398return DeclarationModifiers.Unsafe; 400return DeclarationModifiers.Safe; 402return DeclarationModifiers.Virtual; 404return DeclarationModifiers.Override; 406return DeclarationModifiers.Const; 408return DeclarationModifiers.Fixed; 410return DeclarationModifiers.Volatile; 412return DeclarationModifiers.Ref; 414return DeclarationModifiers.Required; 416return DeclarationModifiers.Scoped; 418return DeclarationModifiers.File; 420return DeclarationModifiers.Closed; 433private static DeclarationModifiers GetDeclarationModifiersAndCheckForDuplicateModifiers( 437var allModifiers = DeclarationModifiers.None; 442var thisModifier = ToDeclarationModifier(modifierToken.ContextualKind()); 456public static DeclarationModifiers ToDeclarationModifiers( 459var result = GetDeclarationModifiersAndCheckForDuplicateModifiers(modifiers, diagnostics); 460if ((result & DeclarationModifiers.Partial) == DeclarationModifiers.Partial) 481switch (result & DeclarationModifiers.AccessibilityMask) 483case DeclarationModifiers.Protected | DeclarationModifiers.Internal: 485result &= ~DeclarationModifiers.AccessibilityMask; 486result |= DeclarationModifiers.ProtectedInternal; 489case DeclarationModifiers.Private | DeclarationModifiers.Protected: 491result &= ~DeclarationModifiers.AccessibilityMask; 492result |= DeclarationModifiers.PrivateProtected; 501DeclarationModifiers modifierKind, 502DeclarationModifiers allModifiers, 519internal static bool CheckAccessibility(DeclarationModifiers modifiers, Symbol symbol, bool isExplicitInterfaceImplementation, BindingDiagnosticBag diagnostics, Location errorLocation) 529(symbol.Kind != SymbolKind.Method || (modifiers & DeclarationModifiers.Partial) == 0) && 530(modifiers & DeclarationModifiers.Static) == 0) 532switch (modifiers & DeclarationModifiers.AccessibilityMask) 534case DeclarationModifiers.Protected: 535case DeclarationModifiers.ProtectedInternal: 536case DeclarationModifiers.PrivateProtected: 547if ((modifiers & DeclarationModifiers.Required) != 0) 561case FieldSymbol when (modifiers & DeclarationModifiers.ReadOnly) != 0: 577internal static Accessibility EffectiveAccessibility(DeclarationModifiers modifiers) 579switch (modifiers & DeclarationModifiers.AccessibilityMask) 581case DeclarationModifiers.None: 583case DeclarationModifiers.Private: 585case DeclarationModifiers.Protected: 587case DeclarationModifiers.Internal: 589case DeclarationModifiers.Public: 591case DeclarationModifiers.ProtectedInternal: 593case DeclarationModifiers.PrivateProtected: 603internal static bool IsValidAccessibility(DeclarationModifiers modifiers) 605switch (modifiers & DeclarationModifiers.AccessibilityMask) 607case DeclarationModifiers.None: 608case DeclarationModifiers.Private: 609case DeclarationModifiers.Protected: 610case DeclarationModifiers.Internal: 611case DeclarationModifiers.Public: 612case DeclarationModifiers.ProtectedInternal: 613case DeclarationModifiers.PrivateProtected:
Symbols\Source\SourceConstructorSymbol.cs (20)
98private static (DeclarationModifiers, Flags) MakeModifiersAndFlags( 110DeclarationModifiers declarationModifiers = MakeModifiers(containingType, syntax, methodKind, hasAnyBody, location, diagnostics, out modifierErrors, out bool hasExplicitAccessModifier, out report_ERR_StaticConstructorWithAccessModifiers); 141private static DeclarationModifiers MakeModifiers( 145var defaultAccess = (methodKind == MethodKind.StaticConstructor) ? DeclarationModifiers.None : DeclarationModifiers.Private; 148DeclarationModifiers allowedModifiers = 149DeclarationModifiers.AccessibilityMask | 150DeclarationModifiers.Static | 151DeclarationModifiers.Extern | 152DeclarationModifiers.Unsafe | 153DeclarationModifiers.Safe; 157allowedModifiers |= DeclarationModifiers.Partial; 161var mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface, syntax.Modifiers, defaultAccess, allowedModifiers, location, diagnostics, out modifierErrors, out hasExplicitAccessModifier); 169if ((mods & DeclarationModifiers.AccessibilityMask) != 0 && 172mods = mods & ~DeclarationModifiers.AccessibilityMask; 177mods |= DeclarationModifiers.Private; // we mark static constructors private in the symbol table 182DeclarationModifiers.Extern, 248internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 249protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0;
Symbols\Source\SourceConstructorSymbolBase.cs (1)
28(DeclarationModifiers declarationModifiers, Flags flags) modifiersAndFlags)
Symbols\Source\SourceDelegateMethodSymbol.cs (10)
29DeclarationModifiers declarationModifiers) 145internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 146protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0; 222: base(delegateType, voidType, syntax, MethodKind.Constructor, RefKind.None, DeclarationModifiers.Public) 269: base(delegateType, returnType, syntax, MethodKind.DelegateInvoke, refKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public) 362: base((SourceNamedTypeSymbol)invoke.ContainingType, iAsyncResultType, syntax, MethodKind.Ordinary, RefKind.None, DeclarationModifiers.Virtual | DeclarationModifiers.Public) 402: base((SourceNamedTypeSymbol)invoke.ContainingType, invoke.ReturnTypeWithAnnotations, syntax, MethodKind.Ordinary, invoke.RefKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
Symbols\Source\SourceDestructorSymbol.cs (13)
65private static (DeclarationModifiers, Flags) MakeModifiersAndFlags(NamedTypeSymbol containingType, DestructorDeclarationSyntax syntax, bool isNullableAnalysisEnabled, Location location, BindingDiagnosticBag diagnostics, out bool modifierErrors) 67DeclarationModifiers declarationModifiers = MakeModifiers(containingType, syntax.Modifiers, location, diagnostics, out modifierErrors); 105internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 106protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0; 136private static DeclarationModifiers MakeModifiers(NamedTypeSymbol containingType, SyntaxTokenList modifiers, Location location, BindingDiagnosticBag diagnostics, out bool modifierErrors) 139const DeclarationModifiers allowedModifiers = DeclarationModifiers.Extern | DeclarationModifiers.Unsafe | DeclarationModifiers.Safe; 140var mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: containingType.IsInterface, modifiers, DeclarationModifiers.None, allowedModifiers, location, diagnostics, out modifierErrors, out _); 142mods = (mods & ~DeclarationModifiers.AccessibilityMask) | DeclarationModifiers.Protected; // we mark destructors protected in the symbol table
Symbols\Source\SourceEnumConstantSymbol.cs (4)
76protected sealed override DeclarationModifiers Modifiers 80return DeclarationModifiers.Const | DeclarationModifiers.Static | DeclarationModifiers.Public;
Symbols\Source\SourceEventAccessorSymbol.cs (2)
197internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 198protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0;
Symbols\Source\SourceEventFieldSymbol.cs (2)
28(associatedEvent.Modifiers & (~DeclarationModifiers.AccessibilityMask)) | DeclarationModifiers.Private,
Symbols\Source\SourceEventSymbol.cs (44)
30private readonly DeclarationModifiers _modifiers; 436=> (_modifiers & DeclarationModifiers.Safe) != 0; 440get { return (_modifiers & DeclarationModifiers.Abstract) != 0; } 445get { return (_modifiers & DeclarationModifiers.Extern) != 0; } 452get { return (_modifiers & DeclarationModifiers.Static) != 0; } 457get { return (_modifiers & DeclarationModifiers.Override) != 0; } 462get { return (_modifiers & DeclarationModifiers.Sealed) != 0; } 467get { return (_modifiers & DeclarationModifiers.Virtual) != 0; } 472get { return (_modifiers & DeclarationModifiers.ReadOnly) != 0; } 477get { return (_modifiers & DeclarationModifiers.Unsafe) != 0; } 523get { return (_modifiers & DeclarationModifiers.New) != 0; } 526internal DeclarationModifiers Modifiers 536private DeclarationModifiers MakeModifiers(SyntaxTokenList modifiers, bool explicitInterfaceImplementation, 542var defaultAccess = isInterface && !explicitInterfaceImplementation ? DeclarationModifiers.Public : DeclarationModifiers.Private; 543var defaultInterfaceImplementationModifiers = DeclarationModifiers.None; 546var allowedModifiers = DeclarationModifiers.Partial | DeclarationModifiers.Unsafe; 549allowedModifiers |= DeclarationModifiers.New | 550DeclarationModifiers.Sealed | 551DeclarationModifiers.Abstract | 552DeclarationModifiers.Static | 553DeclarationModifiers.Virtual | 554DeclarationModifiers.AccessibilityMask; 558allowedModifiers |= DeclarationModifiers.Override; 564defaultAccess = DeclarationModifiers.None; 566allowedModifiers |= DeclarationModifiers.Extern; 567defaultInterfaceImplementationModifiers |= DeclarationModifiers.Sealed | 568DeclarationModifiers.Abstract | 569DeclarationModifiers.Static | 570DeclarationModifiers.Virtual | 571DeclarationModifiers.Extern | 572DeclarationModifiers.AccessibilityMask; 581allowedModifiers |= DeclarationModifiers.Abstract; 584allowedModifiers |= DeclarationModifiers.Static; 589allowedModifiers |= DeclarationModifiers.ReadOnly; 594allowedModifiers |= DeclarationModifiers.Extern; 597if ((allowedModifiers & DeclarationModifiers.Extern) != 0) 599allowedModifiers |= DeclarationModifiers.Safe; 602var mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface, 982internal bool IsPartial => (this.Modifiers & DeclarationModifiers.Partial) != 0;
Symbols\Source\SourceFieldSymbol.cs (2)
45return (Modifiers & DeclarationModifiers.New) != 0; 164internal override bool IsRequired => (Modifiers & DeclarationModifiers.Required) != 0;
Symbols\Source\SourceFixedFieldSymbol.cs (2)
31DeclarationModifiers modifiers, 161_internalField = new SynthesizedFieldSymbol(this, ((PointerTypeSymbol)field.Type).PointedAtType, FixedElementFieldName, DeclarationModifiers.Public);
Symbols\Source\SourceMemberContainerSymbol.cs (84)
191private readonly DeclarationModifiers _declModifiers; 241var modifiers = MakeModifiers(typeKind, diagnostics); 248int access = (int)(modifiers & DeclarationModifiers.AccessibilityMask); 251if ((modifiers & DeclarationModifiers.Partial) != 0) 254modifiers &= ~DeclarationModifiers.AccessibilityMask; // remove them all 255modifiers |= (DeclarationModifiers)access; // except the one 259var specialType = access == (int)DeclarationModifiers.Public 293private DeclarationModifiers MakeModifiers(TypeKind typeKind, BindingDiagnosticBag diagnostics) 296DeclarationModifiers defaultAccess; 299DeclarationModifiers allowedModifiers; 302allowedModifiers = DeclarationModifiers.None; 303defaultAccess = DeclarationModifiers.Public; 307allowedModifiers = DeclarationModifiers.AccessibilityMask | DeclarationModifiers.File; 311defaultAccess = DeclarationModifiers.Internal; 315allowedModifiers |= DeclarationModifiers.New; 319defaultAccess = DeclarationModifiers.Public; 323defaultAccess = DeclarationModifiers.Private; 331allowedModifiers |= DeclarationModifiers.Partial | DeclarationModifiers.Sealed | DeclarationModifiers.Abstract 332| DeclarationModifiers.Unsafe | DeclarationModifiers.Closed; 336allowedModifiers |= DeclarationModifiers.Static; 341allowedModifiers |= DeclarationModifiers.Partial | DeclarationModifiers.ReadOnly | DeclarationModifiers.Unsafe; 345allowedModifiers |= DeclarationModifiers.Ref; 350allowedModifiers |= DeclarationModifiers.Partial | DeclarationModifiers.Unsafe; 353allowedModifiers |= DeclarationModifiers.Unsafe; 359var mods = MakeAndCheckTypeModifiers( 368(mods & DeclarationModifiers.Abstract) != 0 && 369(mods & (DeclarationModifiers.Sealed | DeclarationModifiers.Static)) != 0) 375(mods & DeclarationModifiers.Closed) != 0) 377if ((mods & (DeclarationModifiers.Sealed | DeclarationModifiers.Static)) != 0) 380if ((mods & DeclarationModifiers.Abstract) != 0) 385(mods & (DeclarationModifiers.Sealed | DeclarationModifiers.Static)) == (DeclarationModifiers.Sealed | DeclarationModifiers.Static)) 391(mods & DeclarationModifiers.Unsafe) == DeclarationModifiers.Unsafe && 400mods |= DeclarationModifiers.Abstract; 403if ((mods & DeclarationModifiers.Closed) != 0) 404mods |= DeclarationModifiers.Abstract; 411mods |= DeclarationModifiers.Sealed; 418private DeclarationModifiers MakeAndCheckTypeModifiers( 419DeclarationModifiers defaultAccess, 420DeclarationModifiers allowedModifiers, 426var result = DeclarationModifiers.Unset; 433var mods = decl.Modifiers; 435if (partCount > 1 && (mods & DeclarationModifiers.Partial) == 0) 454if (result == DeclarationModifiers.Unset) 465if ((result & DeclarationModifiers.AccessibilityMask) == 0) 469else if ((result & DeclarationModifiers.File) != 0) 476if ((result & DeclarationModifiers.Partial) == 0) 485diagnostics.Add((result & DeclarationModifiers.File) != 0 507var mods = singleDeclaration.Modifiers; 508if ((mods & DeclarationModifiers.Partial) == 0) 887public override bool IsStatic => HasFlag(DeclarationModifiers.Static); 889public sealed override bool IsRefLikeType => HasFlag(DeclarationModifiers.Ref); 891public override bool IsReadOnly => HasFlag(DeclarationModifiers.ReadOnly); 893public override bool IsSealed => HasFlag(DeclarationModifiers.Sealed); 895public override bool IsAbstract => HasFlag(DeclarationModifiers.Abstract); 897internal bool IsPartial => HasFlag(DeclarationModifiers.Partial); 899internal bool IsNew => HasFlag(DeclarationModifiers.New); 901internal sealed override bool IsFileLocal => HasFlag(DeclarationModifiers.File); 903internal sealed override bool IsClosed => HasFlag(DeclarationModifiers.Closed); 963internal bool HasUnsafeModifier => HasFlag(DeclarationModifiers.Unsafe); 986private bool HasFlag(DeclarationModifiers flag) => (_declModifiers & flag) != 0; 5785var modifiers = SourceMemberFieldSymbol.MakeModifiers(this, fieldSyntax.Declaration.Variables[0].Identifier, fieldSyntax.Modifiers, isRefField: refKind != RefKind.None, diagnostics, out modifierErrors); 5788var fieldSymbol = (modifiers & DeclarationModifiers.Fixed) == 0 5800DeclarationModifiers.Private | (modifiers & DeclarationModifiers.Static), 5900DeclarationModifiers.Private | (property.IsStatic ? DeclarationModifiers.Static : 0), 5936DeclarationModifiers.Private | (@event.IsStatic ? DeclarationModifiers.Static : 0), 6055ExpressionFieldFinder.FindExpressionVariables(builder.NonTypeMembersWithPartialImplementations, vdecl, this, DeclarationModifiers.Private, 6070DeclarationModifiers.Private,
Symbols\Source\SourceMemberFieldSymbol.cs (54)
23private readonly DeclarationModifiers _modifiers; 27DeclarationModifiers modifiers, 36protected sealed override DeclarationModifiers Modifiers 199return (Modifiers & DeclarationModifiers.Unsafe) != 0 && 211internal static DeclarationModifiers MakeModifiers(NamedTypeSymbol containingType, SyntaxToken firstIdentifier, SyntaxTokenList modifiers, bool isRefField, BindingDiagnosticBag diagnostics, out bool modifierErrors) 214DeclarationModifiers defaultAccess = 215isInterface ? DeclarationModifiers.Public : DeclarationModifiers.Private; 217DeclarationModifiers allowedModifiers = 218DeclarationModifiers.AccessibilityMask | 219DeclarationModifiers.Const | 220DeclarationModifiers.New | 221DeclarationModifiers.ReadOnly | 222DeclarationModifiers.Static | 223DeclarationModifiers.Volatile | 224DeclarationModifiers.Fixed | 225DeclarationModifiers.Unsafe | 226DeclarationModifiers.Abstract | 227DeclarationModifiers.Required; // Some of these are filtered out later, when illegal, for better error messages. 230DeclarationModifiers result = ModifierUtils.MakeAndCheckNonTypeMemberModifiers( 234if ((result & DeclarationModifiers.Abstract) != 0) 237result &= ~DeclarationModifiers.Abstract; 240if ((result & DeclarationModifiers.Fixed) != 0) 248reportBadMemberFlagIfAny(result, DeclarationModifiers.Static, diagnostics, errorLocation); 249reportBadMemberFlagIfAny(result, DeclarationModifiers.ReadOnly, diagnostics, errorLocation); 250reportBadMemberFlagIfAny(result, DeclarationModifiers.Const, diagnostics, errorLocation); 251reportBadMemberFlagIfAny(result, DeclarationModifiers.Volatile, diagnostics, errorLocation); 252reportBadMemberFlagIfAny(result, DeclarationModifiers.Required, diagnostics, errorLocation); 254result &= ~(DeclarationModifiers.Static | DeclarationModifiers.ReadOnly | DeclarationModifiers.Const | DeclarationModifiers.Volatile | DeclarationModifiers.Required); 255Debug.Assert((result & ~(DeclarationModifiers.AccessibilityMask | DeclarationModifiers.Fixed | DeclarationModifiers.Unsafe | DeclarationModifiers.New)) == 0); 258if ((result & DeclarationModifiers.Const) != 0) 260if ((result & DeclarationModifiers.Static) != 0) 266reportBadMemberFlagIfAny(result, DeclarationModifiers.ReadOnly, diagnostics, errorLocation); 267reportBadMemberFlagIfAny(result, DeclarationModifiers.Volatile, diagnostics, errorLocation); 268reportBadMemberFlagIfAny(result, DeclarationModifiers.Unsafe, diagnostics, errorLocation); 270if (reportBadMemberFlagIfAny(result, DeclarationModifiers.Required, diagnostics, errorLocation)) 272result &= ~DeclarationModifiers.Required; 275result |= DeclarationModifiers.Static; // "constants are considered static members" 279if ((result & DeclarationModifiers.Static) != 0 && (result & DeclarationModifiers.Required) != 0) 283result &= ~DeclarationModifiers.Required; 296reportBadMemberFlagIfAny(result, DeclarationModifiers.Static, diagnostics, errorLocation); 297reportBadMemberFlagIfAny(result, DeclarationModifiers.Const, diagnostics, errorLocation); 298reportBadMemberFlagIfAny(result, DeclarationModifiers.Volatile, diagnostics, errorLocation); 303static bool reportBadMemberFlagIfAny(DeclarationModifiers result, DeclarationModifiers modifier, BindingDiagnosticBag diagnostics, SourceLocation errorLocation) 391DeclarationModifiers modifiers,
Symbols\Source\SourceMemberMethodSymbol.cs (20)
182private static bool ModifiersRequireMetadataVirtual(DeclarationModifiers modifiers) 184return (modifiers & (DeclarationModifiers.Abstract | DeclarationModifiers.Virtual | DeclarationModifiers.Override)) != 0; 190DeclarationModifiers declarationModifiers, 204bool isMetadataVirtual = (isExplicitInterfaceImplementation && (declarationModifiers & DeclarationModifiers.Static) == 0) || ModifiersRequireMetadataVirtual(declarationModifiers); 236DeclarationModifiers declarationModifiers, 304protected readonly DeclarationModifiers DeclarationModifiers; 337(DeclarationModifiers declarationModifiers, Flags flags) modifiersAndFlags) 424DeclarationModifiers declarationModifiers, 619return (this.DeclarationModifiers & DeclarationModifiers.Extern) != 0; 635return (this.DeclarationModifiers & DeclarationModifiers.Sealed) != 0; 643return (this.DeclarationModifiers & DeclarationModifiers.Abstract) != 0; 651return (this.DeclarationModifiers & DeclarationModifiers.Override) != 0; 659return (this.DeclarationModifiers & DeclarationModifiers.Partial) != 0; 667return (this.DeclarationModifiers & DeclarationModifiers.Virtual) != 0; 675return (this.DeclarationModifiers & DeclarationModifiers.New) != 0; 683return (this.DeclarationModifiers & DeclarationModifiers.Static) != 0; 691return (this.DeclarationModifiers & DeclarationModifiers.Async) != 0; 707return (this.DeclarationModifiers & DeclarationModifiers.ReadOnly) != 0;
Symbols\Source\SourceNamespaceSymbol.AliasesAndUsings.cs (1)
747declaringSymbol.CheckUnsafeModifier(DeclarationModifiers.Unsafe, unsafeKeywordLocation, diagnostics);
Symbols\Source\SourceOrdinaryMethodOrUserDefinedOperatorSymbol.cs (3)
24protected SourceOrdinaryMethodOrUserDefinedOperatorSymbol(NamedTypeSymbol containingType, SyntaxReference syntaxReferenceOpt, Location location, bool isIterator, (DeclarationModifiers declarationModifiers, Flags flags) modifiersAndFlags) 174internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 175protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0;
Symbols\Source\SourceOrdinaryMethodSymbol.cs (47)
89private static (DeclarationModifiers, Flags) MakeModifiersAndFlags( 93(DeclarationModifiers declarationModifiers, bool hasExplicitAccessMod) = MakeModifiers(syntax, containingType, methodKind, hasBody: syntax.HasAnyBody(), location, diagnostics); 456private static DeclarationModifiers MakeDeclarationModifiers(MethodDeclarationSyntax syntax, NamedTypeSymbol containingType, Location location, DeclarationModifiers allowedModifiers, BindingDiagnosticBag diagnostics) 459syntax.Modifiers, defaultAccess: DeclarationModifiers.None, allowedModifiers, location, diagnostics, out _, out _); 752private static (DeclarationModifiers mods, bool hasExplicitAccessMod) MakeModifiers(MethodDeclarationSyntax syntax, NamedTypeSymbol containingType, MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics) 760var defaultAccess = isInterface && !isExplicitInterfaceImplementation ? DeclarationModifiers.None : DeclarationModifiers.Private; 763var allowedModifiers = DeclarationModifiers.Partial | DeclarationModifiers.Unsafe; 764var defaultInterfaceImplementationModifiers = DeclarationModifiers.None; 768allowedModifiers |= DeclarationModifiers.Static | 769DeclarationModifiers.AccessibilityMask; 773allowedModifiers |= DeclarationModifiers.New | 774DeclarationModifiers.Sealed | 775DeclarationModifiers.Abstract | 776DeclarationModifiers.Virtual; 780allowedModifiers |= DeclarationModifiers.Override; 784defaultInterfaceImplementationModifiers |= DeclarationModifiers.Sealed | 785DeclarationModifiers.Abstract | 786DeclarationModifiers.Static | 787DeclarationModifiers.Virtual | 788DeclarationModifiers.Extern | 789DeclarationModifiers.Async | 790DeclarationModifiers.Partial | 791DeclarationModifiers.AccessibilityMask; 801allowedModifiers |= DeclarationModifiers.Abstract; 804allowedModifiers |= DeclarationModifiers.Static; 807allowedModifiers |= DeclarationModifiers.Async | DeclarationModifiers.Extern | DeclarationModifiers.Safe; 811allowedModifiers |= DeclarationModifiers.ReadOnly; 817DeclarationModifiers mods = MakeDeclarationModifiers(syntax, containingType, location, allowedModifiers, diagnostics); 818if ((mods & DeclarationModifiers.AccessibilityMask) == 0) 838private static DeclarationModifiers AddImpliedModifiers(DeclarationModifiers mods, bool containingTypeIsInterface, MethodKind methodKind, bool hasBody) 850mods = (mods & ~DeclarationModifiers.AccessibilityMask) | DeclarationModifiers.Private; 855private const DeclarationModifiers PartialMethodExtendedModifierMask = 856DeclarationModifiers.Virtual | 857DeclarationModifiers.Override | 858DeclarationModifiers.New | 859DeclarationModifiers.Sealed | 860DeclarationModifiers.Extern;
Symbols\Source\SourceOrdinaryMethodSymbolBase.cs (1)
35(DeclarationModifiers declarationModifiers, Flags flags) modifiersAndFlags) :
Symbols\Source\SourcePropertyAccessorSymbol.cs (34)
32DeclarationModifiers propertyModifiers, 69DeclarationModifiers propertyModifiers, 90DeclarationModifiers propertyModifiers, 116DeclarationModifiers propertyModifiers, 133DeclarationModifiers propertyModifiers, 168DeclarationModifiers propertyModifiers, 202DeclarationModifiers propertyModifiers, 248private static (DeclarationModifiers, Flags) MakeModifiersAndFlags( 249NamedTypeSymbol containingType, SourcePropertySymbolBase property, DeclarationModifiers propertyModifiers, Location location, 257var declarationModifiers = MakeModifiers(containingType, modifiers, isExplicitInterfaceImplementation, hasAnyBody, location, diagnostics, out modifierErrors); 260declarationModifiers |= propertyModifiers & ~(DeclarationModifiers.AccessibilityMask | DeclarationModifiers.Indexer | DeclarationModifiers.ReadOnly | DeclarationModifiers.Unsafe | DeclarationModifiers.Safe); 261if ((declarationModifiers & DeclarationModifiers.Private) != 0) 264declarationModifiers &= ~DeclarationModifiers.Virtual; 460internal bool LocalDeclaredReadOnly => (DeclarationModifiers & DeclarationModifiers.ReadOnly) != 0; 462internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 463protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0; 524private static DeclarationModifiers MakeModifiers(NamedTypeSymbol containingType, SyntaxTokenList modifiers, bool isExplicitInterfaceImplementation, 529const DeclarationModifiers defaultAccess = DeclarationModifiers.None; 532var allowedModifiers = isExplicitInterfaceImplementation ? DeclarationModifiers.None : DeclarationModifiers.AccessibilityMask; 533allowedModifiers |= DeclarationModifiers.Unsafe | DeclarationModifiers.Safe; 537allowedModifiers |= DeclarationModifiers.ReadOnly; 540var defaultInterfaceImplementationModifiers = DeclarationModifiers.None; 545defaultInterfaceImplementationModifiers = DeclarationModifiers.AccessibilityMask; 548var mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface, 551if ((mods & DeclarationModifiers.Unsafe) != 0)
Symbols\Source\SourcePropertySymbol.cs (42)
70bool allowAutoPropertyAccessors = (modifiers & (DeclarationModifiers.Abstract | DeclarationModifiers.Extern | DeclarationModifiers.Indexer)) == 0 && 71(!containingType.IsInterface || hasGetAccessorImplementation || hasSetAccessorImplementation || (modifiers & DeclarationModifiers.Static) != 0) && 72((modifiers & DeclarationModifiers.Partial) == 0 || hasGetAccessorImplementation || hasSetAccessorImplementation); 109DeclarationModifiers modifiers, 371private static (DeclarationModifiers modifiers, bool hasExplicitAccessMod) MakeModifiers( 383var defaultAccess = isInterface && !isExplicitInterfaceImplementation ? DeclarationModifiers.Public : DeclarationModifiers.Private; 386var allowedModifiers = DeclarationModifiers.Partial | DeclarationModifiers.Unsafe; 387var defaultInterfaceImplementationModifiers = DeclarationModifiers.None; 391allowedModifiers |= DeclarationModifiers.AccessibilityMask; 395allowedModifiers |= DeclarationModifiers.New | 396DeclarationModifiers.Sealed | 397DeclarationModifiers.Abstract | 398DeclarationModifiers.Virtual; 403allowedModifiers |= DeclarationModifiers.Static; 410allowedModifiers |= DeclarationModifiers.Override; 414allowedModifiers |= DeclarationModifiers.Required; 421defaultAccess = DeclarationModifiers.None; 423defaultInterfaceImplementationModifiers |= DeclarationModifiers.Sealed | 424DeclarationModifiers.Abstract | 425(isIndexer ? 0 : DeclarationModifiers.Static) | 426DeclarationModifiers.Virtual | 427DeclarationModifiers.Extern | 428DeclarationModifiers.AccessibilityMask; 438allowedModifiers |= DeclarationModifiers.Abstract; 443allowedModifiers |= DeclarationModifiers.Static; 449allowedModifiers |= DeclarationModifiers.ReadOnly; 452allowedModifiers |= DeclarationModifiers.Extern | DeclarationModifiers.Safe; 455var mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface, 458if ((mods & DeclarationModifiers.Partial) != 0) 466ModifierUtils.ReportUnsupportedModifiersForLanguageVersion(mods, DeclarationModifiers.Partial, location, diagnostics, availableVersion, requiredVersion); 487mods |= DeclarationModifiers.Indexer; 490if ((mods & DeclarationModifiers.Static) != 0 && (mods & DeclarationModifiers.Required) != 0) 494mods &= ~DeclarationModifiers.Required;
Symbols\Source\SourcePropertySymbolBase.cs (16)
50protected readonly DeclarationModifiers _modifiers; 89DeclarationModifiers modifiers, 107Debug.Assert((modifiers & DeclarationModifiers.Required) == 0 || this is SourcePropertySymbol); 568get { return (_modifiers & DeclarationModifiers.Abstract) != 0; } 575return (_modifiers & DeclarationModifiers.Extern) != 0; 589get { return (_modifiers & DeclarationModifiers.Static) != 0; } 601get { return (_modifiers & DeclarationModifiers.Indexer) != 0; } 606get { return (_modifiers & DeclarationModifiers.Override) != 0; } 611get { return (_modifiers & DeclarationModifiers.Sealed) != 0; } 616get { return (_modifiers & DeclarationModifiers.Virtual) != 0; } 619internal sealed override bool IsRequired => (_modifiers & DeclarationModifiers.Required) != 0; 623get { return (_modifiers & DeclarationModifiers.New) != 0; } 626internal bool HasReadOnlyModifier => (_modifiers & DeclarationModifiers.ReadOnly) != 0; 628internal bool HasUnsafeModifier => (_modifiers & DeclarationModifiers.Unsafe) != 0; 1738internal bool HasSafeModifier => (_modifiers & DeclarationModifiers.Safe) != 0; 1795internal bool IsPartial => (_modifiers & DeclarationModifiers.Partial) != 0;
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (43)
33DeclarationModifiers declarationModifiers, 175protected static DeclarationModifiers MakeDeclarationModifiers(bool isCompoundAssignmentOrIncrementAssignment, MethodKind methodKind, SourceMemberContainerTypeSymbol containingType, BaseMethodDeclarationSyntax syntax, Location location, BindingDiagnosticBag diagnostics) 180var defaultAccess = inInterface && !isExplicitInterfaceImplementation ? DeclarationModifiers.Public : DeclarationModifiers.Private; 181var allowedModifiers = 182DeclarationModifiers.Unsafe | DeclarationModifiers.Extern | DeclarationModifiers.Safe; 186allowedModifiers |= DeclarationModifiers.Static; 191allowedModifiers |= DeclarationModifiers.AccessibilityMask; 195allowedModifiers |= DeclarationModifiers.Abstract | DeclarationModifiers.Virtual; 199allowedModifiers |= DeclarationModifiers.Sealed; 207allowedModifiers |= DeclarationModifiers.New; 213allowedModifiers |= DeclarationModifiers.Abstract | DeclarationModifiers.Virtual | DeclarationModifiers.Sealed; 216allowedModifiers |= DeclarationModifiers.Override | DeclarationModifiers.New; 223allowedModifiers |= DeclarationModifiers.Abstract; 228allowedModifiers |= DeclarationModifiers.ReadOnly; 231var result = ModifierUtils.MakeAndCheckNonTypeMemberModifiers( 237if ((result & (DeclarationModifiers.Abstract | DeclarationModifiers.Virtual | DeclarationModifiers.Sealed)) != 0) 239if ((result & DeclarationModifiers.Sealed) != 0 && 240(result & (DeclarationModifiers.Abstract | DeclarationModifiers.Virtual)) != 0) 242diagnostics.Add(ErrorCode.ERR_BadMemberFlag, location, ModifierUtils.ConvertSingleModifierToSyntaxText(DeclarationModifiers.Sealed)); 243result &= ~DeclarationModifiers.Sealed; 254if ((result & DeclarationModifiers.Abstract) != 0) 256reportModifierIfPresent(result, DeclarationModifiers.Abstract, location, diagnostics, requiredVersionArgument, availableVersionArgument); 260reportModifierIfPresent(result, DeclarationModifiers.Virtual, location, diagnostics, requiredVersionArgument, availableVersionArgument); 263reportModifierIfPresent(result, DeclarationModifiers.Sealed, location, diagnostics, requiredVersionArgument, availableVersionArgument); 266result &= ~DeclarationModifiers.Sealed; 268else if ((result & DeclarationModifiers.Static) != 0) 279result |= DeclarationModifiers.Virtual; 283result |= DeclarationModifiers.Abstract; 290if ((result & DeclarationModifiers.Abstract) != 0) 292result |= DeclarationModifiers.Sealed; 298static void reportModifierIfPresent(DeclarationModifiers result, DeclarationModifiers errorModifier, Location location, BindingDiagnosticBag diagnostics, CSharpRequiredLanguageVersion requiredVersionArgument, string availableVersionArgument)
Symbols\Source\SynthesizedSourceOrdinaryMethodSymbol.cs (1)
22protected SynthesizedSourceOrdinaryMethodSymbol(SourceMemberContainerTypeSymbol containingType, string name, Location location, CSharpSyntaxNode syntax, (DeclarationModifiers declarationModifiers, Flags flags) modifiersAndFlags)
Symbols\SymbolExtensions.cs (5)
279internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, BindingDiagnosticBag diagnostics) 284internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, Location errorLocation, BindingDiagnosticBag diagnostics) 287internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, Location errorLocation, DiagnosticBag? diagnostics) 290(modifiers & DeclarationModifiers.Unsafe) == DeclarationModifiers.Unsafe &&
Symbols\Synthesized\Records\SynthesizedPrimaryConstructor.cs (6)
37private static (DeclarationModifiers, Flags) MakeModifiersAndFlags(SourceMemberContainerTypeSymbol containingType, TypeDeclarationSyntax syntax) 41DeclarationModifiers declarationModifiers = containingType.IsAbstract ? DeclarationModifiers.Protected : DeclarationModifiers.Public; 98internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 99protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0;
Symbols\Synthesized\Records\SynthesizedRecordBaseEquals.cs (3)
20: base(containingType, WellKnownMemberNames.ObjectEquals, memberOffset, DeclarationModifiers.Public | DeclarationModifiers.Override | DeclarationModifiers.Sealed)
Symbols\Synthesized\Records\SynthesizedRecordClone.cs (18)
30private static DeclarationModifiers MakeDeclarationModifiers(SourceMemberContainerTypeSymbol containingType) 32DeclarationModifiers result = DeclarationModifiers.Public; 36result |= DeclarationModifiers.Override; 40result |= containingType.IsSealed ? DeclarationModifiers.None : DeclarationModifiers.Virtual; 45result &= ~DeclarationModifiers.Virtual; 46result |= DeclarationModifiers.Abstract; 55static bool modifiersAreValid(DeclarationModifiers modifiers) 57if ((modifiers & DeclarationModifiers.AccessibilityMask) != DeclarationModifiers.Public) 62modifiers &= ~DeclarationModifiers.AccessibilityMask; 66case DeclarationModifiers.None: 68case DeclarationModifiers.Abstract: 70case DeclarationModifiers.Override: 72case DeclarationModifiers.Abstract | DeclarationModifiers.Override: 74case DeclarationModifiers.Virtual:
Symbols\Synthesized\Records\SynthesizedRecordDeconstruct.cs (2)
24DeclarationModifiers.Public | (IsReadOnly(containingType, positionalMembers) ? DeclarationModifiers.ReadOnly : 0))
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (6)
29(true, true) => DeclarationModifiers.Private, 30(false, true) => DeclarationModifiers.Protected | DeclarationModifiers.Virtual, 31(_, false) => DeclarationModifiers.Protected | DeclarationModifiers.Override 146DeclarationModifiers propertyModifiers,
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperatorBase.cs (2)
42DeclarationModifiers.Public | DeclarationModifiers.Static, hasAnyBody: true, isExpressionBodied: false, isIterator: false, isNullableAnalysisEnabled: false, diagnostics)
Symbols\Synthesized\Records\SynthesizedRecordEquals.cs (3)
23DeclarationModifiers.Public | 24(containingType.IsSealed ? 0 : DeclarationModifiers.Virtual) | 25(containingType.IsRecordStruct ? DeclarationModifiers.ReadOnly : 0))
Symbols\Synthesized\Records\SynthesizedRecordObjectMethod.cs (3)
16DeclarationModifiers.Public | DeclarationModifiers.Override | (isReadOnly ? DeclarationModifiers.ReadOnly : 0))
Symbols\Synthesized\Records\SynthesizedRecordOrdinaryMethod.cs (1)
14protected SynthesizedRecordOrdinaryMethod(SourceMemberContainerTypeSymbol containingType, string name, int memberOffset, DeclarationModifiers declarationModifiers)
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (18)
35private static DeclarationModifiers MakeDeclarationModifiers(SourceMemberContainerTypeSymbol containingType, IEnumerable<Symbol> userDefinedMembers) 37var result = (containingType.IsRecordStruct || (containingType.BaseTypeNoUseSiteDiagnostics.IsObjectType() && containingType.IsSealed)) ? 38DeclarationModifiers.Private : 39DeclarationModifiers.Protected; 43result |= DeclarationModifiers.Override; 47result |= containingType.IsSealed ? DeclarationModifiers.None : DeclarationModifiers.Virtual; 55result |= DeclarationModifiers.ReadOnly; 61bool modifiersAreValid(DeclarationModifiers modifiers) 65return modifiers == DeclarationModifiers.Private; 68if ((modifiers & DeclarationModifiers.AccessibilityMask) != DeclarationModifiers.Private && 69(modifiers & DeclarationModifiers.AccessibilityMask) != DeclarationModifiers.Protected) 74modifiers &= ~DeclarationModifiers.AccessibilityMask; 78case DeclarationModifiers.None: 79case DeclarationModifiers.Override: 80case DeclarationModifiers.Virtual:
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (3)
31modifiers: DeclarationModifiers.Public | (isOverride ? DeclarationModifiers.Override : DeclarationModifiers.None),
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (6)
27protected override DeclarationModifiers Modifiers { get; } 38Modifiers = DeclarationModifiers.Private | 39(isReadOnly ? DeclarationModifiers.ReadOnly : DeclarationModifiers.None) | 40(isStatic ? DeclarationModifiers.Static : DeclarationModifiers.None);
Symbols\Synthesized\SynthesizedEmbeddedMemorySafetyRulesAttributeSymbol.cs (1)
47accessibility: DeclarationModifiers.Private,
Symbols\Synthesized\SynthesizedEmbeddedNativeIntegerAttributeSymbol.cs (1)
42DeclarationModifiers.Public,
Symbols\Synthesized\SynthesizedEmbeddedNullableAttributeSymbol.cs (1)
46DeclarationModifiers.Public,
Symbols\Synthesized\SynthesizedEmbeddedNullableContextAttributeSymbol.cs (1)
34DeclarationModifiers.Public,
Symbols\Synthesized\SynthesizedEmbeddedNullablePublicOnlyAttributeSymbol.cs (1)
34DeclarationModifiers.Public,
Symbols\Synthesized\SynthesizedEmbeddedRefSafetyRulesAttributeSymbol.cs (1)
32DeclarationModifiers.Public,
Symbols\Synthesized\SynthesizedEnumValueFieldSymbol.cs (1)
20: base(containingEnum, WellKnownMemberNames.EnumBackingFieldName, DeclarationModifiers.Public, isReadOnly: false, isStatic: false)
Symbols\Synthesized\SynthesizedFieldSymbol.cs (2)
27DeclarationModifiers accessibility = DeclarationModifiers.Private,
Symbols\Synthesized\SynthesizedFieldSymbolBase.cs (11)
22private readonly DeclarationModifiers _modifiers; 27DeclarationModifiers accessibility, 33Debug.Assert((accessibility & DeclarationModifiers.AccessibilityMask) != 0); 34Debug.Assert((accessibility & ~DeclarationModifiers.AccessibilityMask) == 0); 38_modifiers = (accessibility & DeclarationModifiers.AccessibilityMask) | 39(isReadOnly ? DeclarationModifiers.ReadOnly : DeclarationModifiers.None) | 40(isStatic ? DeclarationModifiers.Static : DeclarationModifiers.None); 109get { return (_modifiers & DeclarationModifiers.ReadOnly) != 0; } 180get { return (_modifiers & DeclarationModifiers.Static) != 0; }
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (2)
50new SynthesizedFieldSymbol(this, intType, CodeFieldName, DeclarationModifiers.Public, isReadOnly: true, isStatic: false), 51new SynthesizedFieldSymbol(this, actionOfTType.Construct(exceptionType), CreatedActionFieldName, DeclarationModifiers.Private, isReadOnly: false, isStatic: true)
Symbols\Synthesized\SynthesizedLambdaCacheFieldSymbol.cs (1)
20: base(containingType, name, DeclarationModifiers.Public, isReadOnly: isReadOnly, isStatic: isStatic)
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (8)
62private static (DeclarationModifiers, Flags) MakeModifiersAndFlags(SourceMemberContainerTypeSymbol containingType, SingleTypeDeclaration declaration) 67DeclarationModifiers declarationModifiers = DeclarationModifiers.Static | DeclarationModifiers.Private | (hasAwait ? DeclarationModifiers.Async : DeclarationModifiers.None); 152internal sealed override bool HasUnsafeModifier => (DeclarationModifiers & DeclarationModifiers.Unsafe) != 0; 153protected sealed override bool HasSafeModifier => (DeclarationModifiers & DeclarationModifiers.Safe) != 0;
Symbols\Synthesized\SynthesizedUnionValuePropertySymbol.cs (1)
26modifiers: DeclarationModifiers.Public,
Symbols\Tuples\TupleErrorFieldSymbol.cs (1)
48: base(container, name, DeclarationModifiers.Public, isReadOnly: false, isStatic: false)