748 references to DeclarationModifiers
Microsoft.CodeAnalysis.CSharp (748)
Binder\ExpressionVariableFinder.cs (4)
677
private
DeclarationModifiers
_modifiers;
684
DeclarationModifiers
modifiers,
700
finder._modifiers =
DeclarationModifiers
.None;
728
modifiers:
DeclarationModifiers
.Private,
Declarations\DeclarationTreeBuilder.cs (10)
222
modifiers:
DeclarationModifiers
.Internal |
DeclarationModifiers
.Partial |
DeclarationModifiers
.Sealed,
247
modifiers:
DeclarationModifiers
.Partial,
337
modifiers:
DeclarationModifiers
.Internal |
DeclarationModifiers
.Partial |
DeclarationModifiers
.Sealed,
750
var
modifiers = node.Modifiers.ToDeclarationModifiers(isForTypeDeclaration: true, diagnostics: diagnostics);
814
var
modifiers = node.Modifiers.ToDeclarationModifiers(isForTypeDeclaration: true, diagnostics: diagnostics);
847
var
modifiers = node.Modifiers.ToDeclarationModifiers(isForTypeDeclaration: true, diagnostics: diagnostics);
Declarations\SingleTypeDeclaration.cs (5)
22
private readonly
DeclarationModifiers
_modifiers;
76
DeclarationModifiers
modifiers,
121
public
DeclarationModifiers
Modifiers
256
&& ((thisDecl.Modifiers &
DeclarationModifiers
.File) != 0
257
|| (otherDecl.Modifiers &
DeclarationModifiers
.File) != 0))
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (7)
157
private static
DeclarationModifiers
MakeDeclarationModifiers(ClosureKind closureKind, MethodSymbol originalMethod)
159
var
mods = closureKind == ClosureKind.ThisOnly ?
DeclarationModifiers
.Private :
DeclarationModifiers
.Internal;
163
mods |=
DeclarationModifiers
.Static;
168
mods |=
DeclarationModifiers
.Async;
173
mods |=
DeclarationModifiers
.Extern;
Lowering\MethodToClassRewriter.cs (1)
738
: base(containingType, methodBeingWrapped, syntax.SyntaxTree.GetReference(syntax), syntax.GetLocation(), name,
DeclarationModifiers
.Private,
Lowering\SynthesizedMethodBaseSymbol.cs (1)
37
DeclarationModifiers
declarationModifiers,
Parser\LanguageParser.cs (42)
1290
private static
DeclarationModifiers
GetModifierExcludingScoped(SyntaxToken token)
1293
internal static
DeclarationModifiers
GetModifierExcludingScoped(SyntaxKind kind, SyntaxKind contextualKind)
1298
return
DeclarationModifiers
.Public;
1300
return
DeclarationModifiers
.Internal;
1302
return
DeclarationModifiers
.Protected;
1304
return
DeclarationModifiers
.Private;
1306
return
DeclarationModifiers
.Sealed;
1308
return
DeclarationModifiers
.Abstract;
1310
return
DeclarationModifiers
.Static;
1312
return
DeclarationModifiers
.Virtual;
1314
return
DeclarationModifiers
.Extern;
1316
return
DeclarationModifiers
.New;
1318
return
DeclarationModifiers
.Override;
1320
return
DeclarationModifiers
.ReadOnly;
1322
return
DeclarationModifiers
.Volatile;
1324
return
DeclarationModifiers
.Unsafe;
1326
return
DeclarationModifiers
.Partial;
1328
return
DeclarationModifiers
.Async;
1330
return
DeclarationModifiers
.Ref;
1335
return
DeclarationModifiers
.Partial;
1337
return
DeclarationModifiers
.Async;
1339
return
DeclarationModifiers
.Required;
1341
return
DeclarationModifiers
.File;
1346
return
DeclarationModifiers
.None;
1358
var
newMod = GetModifierExcludingScoped(this.CurrentToken);
1360
Debug.Assert(newMod !=
DeclarationModifiers
.Scoped);
1361
if (newMod ==
DeclarationModifiers
.None)
1380
case
DeclarationModifiers
.Partial:
1394
(IsPossibleStartOfTypeDeclaration(nextToken.Kind) && GetModifierExcludingScoped(nextToken) !=
DeclarationModifiers
.None))
1406
case
DeclarationModifiers
.Ref:
1431
case
DeclarationModifiers
.File:
1441
case
DeclarationModifiers
.Async:
1450
case
DeclarationModifiers
.Required:
1495
Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.CurrentToken) !=
DeclarationModifiers
.None);
1608
return !SyntaxFacts.IsContextualKeyword(nextToken.ContextualKind) && GetModifierExcludingScoped(nextToken) !=
DeclarationModifiers
.None;
2095
if (GetModifierExcludingScoped(this.CurrentToken) !=
DeclarationModifiers
.None)
2919
if (GetModifierExcludingScoped(this.CurrentToken) !=
DeclarationModifiers
.None &&
4205
if (GetModifierExcludingScoped(this.CurrentToken) ==
DeclarationModifiers
.None)
4211
while (GetModifierExcludingScoped(this.PeekToken(peekIndex)) !=
DeclarationModifiers
.None)
8575
DeclarationModifiers
modifier = GetModifierExcludingScoped(nextToken);
8576
if (modifier ==
DeclarationModifiers
.Partial)
8590
else if (modifier !=
DeclarationModifiers
.None)
Symbols\AliasSymbol.cs (1)
388
this.CheckUnsafeModifier(
DeclarationModifiers
.Unsafe, usingDirective.UnsafeKeyword.GetLocation(), diagnostics);
Symbols\Source\FieldSymbolWithAttributesAndModifiers.cs (6)
24
protected abstract
DeclarationModifiers
Modifiers { get; }
46
=> (Modifiers &
DeclarationModifiers
.Static) != 0;
49
=> (Modifiers &
DeclarationModifiers
.ReadOnly) != 0;
55
=> (Modifiers &
DeclarationModifiers
.Const) != 0;
58
=> (Modifiers &
DeclarationModifiers
.Volatile) != 0;
61
=> (Modifiers &
DeclarationModifiers
.Fixed) != 0;
Symbols\Source\GlobalExpressionVariable.cs (3)
30
DeclarationModifiers
modifiers,
43
DeclarationModifiers
modifiers,
169
DeclarationModifiers
modifiers,
Symbols\Source\LocalFunctionSymbol.cs (10)
21
private readonly
DeclarationModifiers
_declarationModifiers;
51
DeclarationModifiers
.Private |
363
public override bool IsAsync => (_declarationModifiers &
DeclarationModifiers
.Async) != 0;
365
public override bool IsStatic => (_declarationModifiers &
DeclarationModifiers
.Static) != 0;
367
public override bool IsVirtual => (_declarationModifiers &
DeclarationModifiers
.Virtual) != 0;
369
public override bool IsOverride => (_declarationModifiers &
DeclarationModifiers
.Override) != 0;
371
public override bool IsAbstract => (_declarationModifiers &
DeclarationModifiers
.Abstract) != 0;
373
public override bool IsSealed => (_declarationModifiers &
DeclarationModifiers
.Sealed) != 0;
375
public override bool IsExtern => (_declarationModifiers &
DeclarationModifiers
.Extern) != 0;
377
public bool IsUnsafe => (_declarationModifiers &
DeclarationModifiers
.Unsafe) != 0;
Symbols\Source\ModifierUtils.cs (169)
15
internal static
DeclarationModifiers
MakeAndCheckNonTypeMemberModifiers(
19
DeclarationModifiers
defaultAccess,
20
DeclarationModifiers
allowedModifiers,
26
var
result = modifiers.ToDeclarationModifiers(isForTypeDeclaration: false, diagnostics.DiagnosticBag ?? new DiagnosticBag(), isOrdinaryMethod: isOrdinaryMethod);
33
hasExplicitAccessModifier = (result &
DeclarationModifiers
.AccessibilityMask) != 0;
40
internal static
DeclarationModifiers
CheckModifiers(
43
DeclarationModifiers
modifiers,
44
DeclarationModifiers
allowedModifiers,
53
DeclarationModifiers
reportStaticNotVirtualForModifiers =
DeclarationModifiers
.None;
57
Debug.Assert((allowedModifiers & (
DeclarationModifiers
.Override |
DeclarationModifiers
.Virtual)) == 0);
59
else if ((modifiers & allowedModifiers &
DeclarationModifiers
.Static) != 0)
63
reportStaticNotVirtualForModifiers = allowedModifiers &
DeclarationModifiers
.Override;
67
reportStaticNotVirtualForModifiers = allowedModifiers & (
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Override |
DeclarationModifiers
.Virtual);
73
DeclarationModifiers
errorModifiers = modifiers & ~allowedModifiers;
74
DeclarationModifiers
result = modifiers & allowedModifiers;
76
while (errorModifiers !=
DeclarationModifiers
.None)
78
DeclarationModifiers
oneError = errorModifiers & ~(errorModifiers - 1);
79
Debug.Assert(oneError !=
DeclarationModifiers
.None);
84
case
DeclarationModifiers
.Partial:
89
case
DeclarationModifiers
.Abstract:
90
case
DeclarationModifiers
.Override:
91
case
DeclarationModifiers
.Virtual:
109
checkFeature(
DeclarationModifiers
.PrivateProtected, MessageID.IDS_FeaturePrivateProtected) |
110
checkFeature(
DeclarationModifiers
.Required, MessageID.IDS_FeatureRequiredMembers) |
111
checkFeature(
DeclarationModifiers
.File, MessageID.IDS_FeatureFileTypes) |
112
checkFeature(
DeclarationModifiers
.Async, MessageID.IDS_FeatureAsync);
116
bool checkFeature(
DeclarationModifiers
modifier, MessageID featureID)
148
DeclarationModifiers
modifiers,
149
DeclarationModifiers
defaultInterfaceImplementationModifiers,
158
if ((modifiers & defaultInterfaceImplementationModifiers &
DeclarationModifiers
.Static) != 0 &&
159
(modifiers & defaultInterfaceImplementationModifiers & (
DeclarationModifiers
.Sealed |
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual)) != 0)
161
var
reportModifiers =
DeclarationModifiers
.Sealed |
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual;
162
if ((modifiers & defaultInterfaceImplementationModifiers &
DeclarationModifiers
.Sealed) != 0 &&
163
(modifiers & defaultInterfaceImplementationModifiers & (
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual)) != 0)
165
diagnostics.Add(ErrorCode.ERR_BadMemberFlag, errorLocation, ConvertSingleModifierToSyntaxText(
DeclarationModifiers
.Sealed));
166
reportModifiers &= ~
DeclarationModifiers
.Sealed;
180
if ((modifiers & defaultInterfaceImplementationModifiers &
DeclarationModifiers
.Static) != 0)
196
internal static void ReportUnsupportedModifiersForLanguageVersion(
DeclarationModifiers
modifiers,
DeclarationModifiers
unsupportedModifiers, Location errorLocation, BindingDiagnosticBag diagnostics, LanguageVersion availableVersion, LanguageVersion requiredVersion)
198
DeclarationModifiers
errorModifiers = modifiers & unsupportedModifiers;
201
while (errorModifiers !=
DeclarationModifiers
.None)
203
DeclarationModifiers
oneError = errorModifiers & ~(errorModifiers - 1);
204
Debug.Assert(oneError !=
DeclarationModifiers
.None);
213
internal static void CheckFeatureAvailabilityForStaticAbstractMembersInInterfacesIfNeeded(
DeclarationModifiers
mods, bool isExplicitInterfaceImplementation, Location location, BindingDiagnosticBag diagnostics)
215
if (isExplicitInterfaceImplementation && (mods &
DeclarationModifiers
.Static) != 0)
223
ModifierUtils.ReportUnsupportedModifiersForLanguageVersion(mods,
DeclarationModifiers
.Static, location, diagnostics, availableVersion, requiredVersion);
238
DeclarationModifiers
.Partial,
239
DeclarationModifiers
.Partial,
248
internal static
DeclarationModifiers
AdjustModifiersForAnInterfaceMember(
DeclarationModifiers
mods, bool hasBody, bool isExplicitInterfaceImplementation)
252
if ((mods &
DeclarationModifiers
.Abstract) != 0)
254
mods |=
DeclarationModifiers
.Sealed;
257
else if ((mods &
DeclarationModifiers
.Static) != 0)
259
mods &= ~
DeclarationModifiers
.Sealed;
261
else if ((mods & (
DeclarationModifiers
.Private |
DeclarationModifiers
.Partial |
DeclarationModifiers
.Virtual |
DeclarationModifiers
.Abstract)) == 0)
265
if (hasBody || (mods & (
DeclarationModifiers
.Extern |
DeclarationModifiers
.Sealed)) != 0)
267
if ((mods &
DeclarationModifiers
.Sealed) == 0)
269
mods |=
DeclarationModifiers
.Virtual;
273
mods &= ~
DeclarationModifiers
.Sealed;
278
mods |=
DeclarationModifiers
.Abstract;
282
if ((mods &
DeclarationModifiers
.AccessibilityMask) == 0)
284
if ((mods &
DeclarationModifiers
.Partial) == 0 && !isExplicitInterfaceImplementation)
286
mods |=
DeclarationModifiers
.Public;
290
mods |=
DeclarationModifiers
.Private;
297
internal static string ConvertSingleModifierToSyntaxText(
DeclarationModifiers
modifier)
301
case
DeclarationModifiers
.Abstract:
303
case
DeclarationModifiers
.Sealed:
305
case
DeclarationModifiers
.Static:
307
case
DeclarationModifiers
.New:
309
case
DeclarationModifiers
.Public:
311
case
DeclarationModifiers
.Protected:
313
case
DeclarationModifiers
.Internal:
315
case
DeclarationModifiers
.ProtectedInternal:
317
case
DeclarationModifiers
.Private:
319
case
DeclarationModifiers
.PrivateProtected:
321
case
DeclarationModifiers
.ReadOnly:
323
case
DeclarationModifiers
.Const:
325
case
DeclarationModifiers
.Volatile:
327
case
DeclarationModifiers
.Extern:
329
case
DeclarationModifiers
.Partial:
331
case
DeclarationModifiers
.Unsafe:
333
case
DeclarationModifiers
.Fixed:
335
case
DeclarationModifiers
.Virtual:
337
case
DeclarationModifiers
.Override:
339
case
DeclarationModifiers
.Async:
341
case
DeclarationModifiers
.Ref:
343
case
DeclarationModifiers
.Required:
345
case
DeclarationModifiers
.Scoped:
347
case
DeclarationModifiers
.File:
354
private static
DeclarationModifiers
ToDeclarationModifier(SyntaxKind kind)
359
return
DeclarationModifiers
.Abstract;
361
return
DeclarationModifiers
.Async;
363
return
DeclarationModifiers
.Sealed;
365
return
DeclarationModifiers
.Static;
367
return
DeclarationModifiers
.New;
369
return
DeclarationModifiers
.Public;
371
return
DeclarationModifiers
.Protected;
373
return
DeclarationModifiers
.Internal;
375
return
DeclarationModifiers
.Private;
377
return
DeclarationModifiers
.Extern;
379
return
DeclarationModifiers
.ReadOnly;
381
return
DeclarationModifiers
.Partial;
383
return
DeclarationModifiers
.Unsafe;
385
return
DeclarationModifiers
.Virtual;
387
return
DeclarationModifiers
.Override;
389
return
DeclarationModifiers
.Const;
391
return
DeclarationModifiers
.Fixed;
393
return
DeclarationModifiers
.Volatile;
395
return
DeclarationModifiers
.Ref;
397
return
DeclarationModifiers
.Required;
399
return
DeclarationModifiers
.Scoped;
401
return
DeclarationModifiers
.File;
407
public static
DeclarationModifiers
ToDeclarationModifiers(
410
var
result =
DeclarationModifiers
.None;
416
DeclarationModifiers
one = ToDeclarationModifier(modifier.ContextualKind());
423
if (one ==
DeclarationModifiers
.Partial)
444
switch (result &
DeclarationModifiers
.AccessibilityMask)
446
case
DeclarationModifiers
.Protected |
DeclarationModifiers
.Internal:
448
result &= ~
DeclarationModifiers
.AccessibilityMask;
449
result |=
DeclarationModifiers
.ProtectedInternal;
452
case
DeclarationModifiers
.Private |
DeclarationModifiers
.Protected:
454
result &= ~
DeclarationModifiers
.AccessibilityMask;
455
result |=
DeclarationModifiers
.PrivateProtected;
464
DeclarationModifiers
modifierKind,
465
DeclarationModifiers
allModifiers,
482
internal static bool CheckAccessibility(
DeclarationModifiers
modifiers, Symbol symbol, bool isExplicitInterfaceImplementation, BindingDiagnosticBag diagnostics, Location errorLocation)
492
(symbol.Kind != SymbolKind.Method || (modifiers &
DeclarationModifiers
.Partial) == 0) &&
493
(modifiers &
DeclarationModifiers
.Static) == 0)
495
switch (modifiers &
DeclarationModifiers
.AccessibilityMask)
497
case
DeclarationModifiers
.Protected:
498
case
DeclarationModifiers
.ProtectedInternal:
499
case
DeclarationModifiers
.PrivateProtected:
510
if ((modifiers &
DeclarationModifiers
.Required) != 0)
524
case FieldSymbol when (modifiers &
DeclarationModifiers
.ReadOnly) != 0:
540
internal static Accessibility EffectiveAccessibility(
DeclarationModifiers
modifiers)
542
switch (modifiers &
DeclarationModifiers
.AccessibilityMask)
544
case
DeclarationModifiers
.None:
546
case
DeclarationModifiers
.Private:
548
case
DeclarationModifiers
.Protected:
550
case
DeclarationModifiers
.Internal:
552
case
DeclarationModifiers
.Public:
554
case
DeclarationModifiers
.ProtectedInternal:
556
case
DeclarationModifiers
.PrivateProtected:
566
internal static bool IsValidAccessibility(
DeclarationModifiers
modifiers)
568
switch (modifiers &
DeclarationModifiers
.AccessibilityMask)
570
case
DeclarationModifiers
.None:
571
case
DeclarationModifiers
.Private:
572
case
DeclarationModifiers
.Protected:
573
case
DeclarationModifiers
.Internal:
574
case
DeclarationModifiers
.Public:
575
case
DeclarationModifiers
.ProtectedInternal:
576
case
DeclarationModifiers
.PrivateProtected:
Symbols\Source\SourceConstructorSymbol.cs (17)
89
private static (
DeclarationModifiers
, Flags) MakeModifiersAndFlags(
101
DeclarationModifiers
declarationModifiers = MakeModifiers(containingType, syntax, methodKind, hasAnyBody, location, diagnostics, out modifierErrors, out bool hasExplicitAccessModifier, out report_ERR_StaticConstructorWithAccessModifiers);
132
private static
DeclarationModifiers
MakeModifiers(
136
var
defaultAccess = (methodKind == MethodKind.StaticConstructor) ?
DeclarationModifiers
.None :
DeclarationModifiers
.Private;
139
DeclarationModifiers
allowedModifiers =
140
DeclarationModifiers
.AccessibilityMask |
141
DeclarationModifiers
.Static |
142
DeclarationModifiers
.Extern |
143
DeclarationModifiers
.Unsafe;
147
allowedModifiers |=
DeclarationModifiers
.Partial;
151
var
mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface, syntax.Modifiers, defaultAccess, allowedModifiers, location, diagnostics, out modifierErrors, out hasExplicitAccessModifier);
159
if ((mods &
DeclarationModifiers
.AccessibilityMask) != 0 &&
162
mods = mods & ~
DeclarationModifiers
.AccessibilityMask;
167
mods |=
DeclarationModifiers
.Private; // we mark static constructors private in the symbol table
172
DeclarationModifiers
.Extern,
Symbols\Source\SourceConstructorSymbolBase.cs (1)
27
(
DeclarationModifiers
declarationModifiers, Flags flags) modifiersAndFlags)
Symbols\Source\SourceDelegateMethodSymbol.cs (8)
28
DeclarationModifiers
declarationModifiers)
217
: base(delegateType, voidType, syntax, MethodKind.Constructor, RefKind.None,
DeclarationModifiers
.Public)
262
: base(delegateType, returnType, syntax, MethodKind.DelegateInvoke, refKind,
DeclarationModifiers
.Virtual |
DeclarationModifiers
.Public)
355
: base((SourceNamedTypeSymbol)invoke.ContainingType, iAsyncResultType, syntax, MethodKind.Ordinary, RefKind.None,
DeclarationModifiers
.Virtual |
DeclarationModifiers
.Public)
393
: base((SourceNamedTypeSymbol)invoke.ContainingType, invoke.ReturnTypeWithAnnotations, syntax, MethodKind.Ordinary, invoke.RefKind,
DeclarationModifiers
.Virtual |
DeclarationModifiers
.Public)
Symbols\Source\SourceDestructorSymbol.cs (10)
64
private static (
DeclarationModifiers
, Flags) MakeModifiersAndFlags(NamedTypeSymbol containingType, DestructorDeclarationSyntax syntax, bool isNullableAnalysisEnabled, Location location, BindingDiagnosticBag diagnostics, out bool modifierErrors)
66
DeclarationModifiers
declarationModifiers = MakeModifiers(containingType, syntax.Modifiers, location, diagnostics, out modifierErrors);
129
private static
DeclarationModifiers
MakeModifiers(NamedTypeSymbol containingType, SyntaxTokenList modifiers, Location location, BindingDiagnosticBag diagnostics, out bool modifierErrors)
132
const
DeclarationModifiers
allowedModifiers =
DeclarationModifiers
.Extern |
DeclarationModifiers
.Unsafe;
133
var
mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: containingType.IsInterface, modifiers,
DeclarationModifiers
.None, allowedModifiers, location, diagnostics, out modifierErrors, out _);
135
mods = (mods & ~
DeclarationModifiers
.AccessibilityMask) |
DeclarationModifiers
.Protected; // we mark destructors protected in the symbol table
Symbols\Source\SourceEnumConstantSymbol.cs (4)
73
protected sealed override
DeclarationModifiers
Modifiers
77
return
DeclarationModifiers
.Const |
DeclarationModifiers
.Static |
DeclarationModifiers
.Public;
Symbols\Source\SourceEventFieldSymbol.cs (2)
28
(associatedEvent.Modifiers & (~
DeclarationModifiers
.AccessibilityMask)) |
DeclarationModifiers
.Private,
Symbols\Source\SourceEventSymbol.cs (41)
29
private readonly
DeclarationModifiers
_modifiers;
415
get { return (_modifiers &
DeclarationModifiers
.Abstract) != 0; }
420
get { return (_modifiers &
DeclarationModifiers
.Extern) != 0; }
427
get { return (_modifiers &
DeclarationModifiers
.Static) != 0; }
432
get { return (_modifiers &
DeclarationModifiers
.Override) != 0; }
437
get { return (_modifiers &
DeclarationModifiers
.Sealed) != 0; }
442
get { return (_modifiers &
DeclarationModifiers
.Virtual) != 0; }
447
get { return (_modifiers &
DeclarationModifiers
.ReadOnly) != 0; }
452
get { return (_modifiers &
DeclarationModifiers
.Unsafe) != 0; }
482
get { return (_modifiers &
DeclarationModifiers
.New) != 0; }
485
internal
DeclarationModifiers
Modifiers
495
private
DeclarationModifiers
MakeModifiers(SyntaxTokenList modifiers, bool explicitInterfaceImplementation,
501
var
defaultAccess = isInterface && !explicitInterfaceImplementation ?
DeclarationModifiers
.Public :
DeclarationModifiers
.Private;
502
var
defaultInterfaceImplementationModifiers =
DeclarationModifiers
.None;
505
var
allowedModifiers =
DeclarationModifiers
.Partial |
DeclarationModifiers
.Unsafe;
508
allowedModifiers |=
DeclarationModifiers
.New |
509
DeclarationModifiers
.Sealed |
510
DeclarationModifiers
.Abstract |
511
DeclarationModifiers
.Static |
512
DeclarationModifiers
.Virtual |
513
DeclarationModifiers
.AccessibilityMask;
517
allowedModifiers |=
DeclarationModifiers
.Override;
523
defaultAccess =
DeclarationModifiers
.None;
525
allowedModifiers |=
DeclarationModifiers
.Extern;
526
defaultInterfaceImplementationModifiers |=
DeclarationModifiers
.Sealed |
527
DeclarationModifiers
.Abstract |
528
DeclarationModifiers
.Static |
529
DeclarationModifiers
.Virtual |
530
DeclarationModifiers
.Extern |
531
DeclarationModifiers
.AccessibilityMask;
540
allowedModifiers |=
DeclarationModifiers
.Abstract;
543
allowedModifiers |=
DeclarationModifiers
.Static;
548
allowedModifiers |=
DeclarationModifiers
.ReadOnly;
553
allowedModifiers |=
DeclarationModifiers
.Extern;
556
var
mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface,
906
internal bool IsPartial => (this.Modifiers &
DeclarationModifiers
.Partial) != 0;
Symbols\Source\SourceFieldSymbol.cs (2)
45
return (Modifiers &
DeclarationModifiers
.New) != 0;
164
internal override bool IsRequired => (Modifiers &
DeclarationModifiers
.Required) != 0;
Symbols\Source\SourceFixedFieldSymbol.cs (1)
30
DeclarationModifiers
modifiers,
Symbols\Source\SourceMemberContainerSymbol.cs (73)
192
private readonly
DeclarationModifiers
_declModifiers;
237
var
modifiers = MakeModifiers(typeKind, diagnostics);
244
int access = (int)(modifiers &
DeclarationModifiers
.AccessibilityMask);
247
if ((modifiers &
DeclarationModifiers
.Partial) != 0)
250
modifiers &= ~
DeclarationModifiers
.AccessibilityMask; // remove them all
251
modifiers |= (
DeclarationModifiers
)access; // except the one
255
var specialType = access == (int)
DeclarationModifiers
.Public
289
private
DeclarationModifiers
MakeModifiers(TypeKind typeKind, BindingDiagnosticBag diagnostics)
292
DeclarationModifiers
defaultAccess;
295
var
allowedModifiers =
DeclarationModifiers
.AccessibilityMask |
DeclarationModifiers
.File;
299
defaultAccess =
DeclarationModifiers
.Internal;
303
allowedModifiers |=
DeclarationModifiers
.New;
307
defaultAccess =
DeclarationModifiers
.Public;
311
defaultAccess =
DeclarationModifiers
.Private;
319
allowedModifiers |=
DeclarationModifiers
.Partial |
DeclarationModifiers
.Sealed |
DeclarationModifiers
.Abstract
320
|
DeclarationModifiers
.Unsafe;
324
allowedModifiers |=
DeclarationModifiers
.Static;
329
allowedModifiers |=
DeclarationModifiers
.Partial |
DeclarationModifiers
.ReadOnly |
DeclarationModifiers
.Unsafe;
333
allowedModifiers |=
DeclarationModifiers
.Ref;
338
allowedModifiers |=
DeclarationModifiers
.Partial |
DeclarationModifiers
.Unsafe;
341
allowedModifiers |=
DeclarationModifiers
.Unsafe;
346
var
mods = MakeAndCheckTypeModifiers(
355
(mods &
DeclarationModifiers
.Abstract) != 0 &&
356
(mods & (
DeclarationModifiers
.Sealed |
DeclarationModifiers
.Static)) != 0)
362
(mods & (
DeclarationModifiers
.Sealed |
DeclarationModifiers
.Static)) == (
DeclarationModifiers
.Sealed |
DeclarationModifiers
.Static))
370
mods |=
DeclarationModifiers
.Abstract;
374
mods |=
DeclarationModifiers
.Sealed;
377
mods |=
DeclarationModifiers
.Sealed;
384
private
DeclarationModifiers
MakeAndCheckTypeModifiers(
385
DeclarationModifiers
defaultAccess,
386
DeclarationModifiers
allowedModifiers,
392
var
result =
DeclarationModifiers
.Unset;
399
var
mods = decl.Modifiers;
401
if (partCount > 1 && (mods &
DeclarationModifiers
.Partial) == 0)
420
if (result ==
DeclarationModifiers
.Unset)
431
if ((result &
DeclarationModifiers
.AccessibilityMask) == 0)
435
else if ((result &
DeclarationModifiers
.File) != 0)
442
if ((result &
DeclarationModifiers
.Partial) == 0)
451
diagnostics.Add((result &
DeclarationModifiers
.File) != 0
473
var
mods = singleDeclaration.Modifiers;
474
if ((mods &
DeclarationModifiers
.Partial) == 0)
841
public override bool IsStatic => HasFlag(
DeclarationModifiers
.Static);
843
public sealed override bool IsRefLikeType => HasFlag(
DeclarationModifiers
.Ref);
845
public override bool IsReadOnly => HasFlag(
DeclarationModifiers
.ReadOnly);
847
public override bool IsSealed => HasFlag(
DeclarationModifiers
.Sealed);
849
public override bool IsAbstract => HasFlag(
DeclarationModifiers
.Abstract);
851
internal bool IsPartial => HasFlag(
DeclarationModifiers
.Partial);
853
internal bool IsNew => HasFlag(
DeclarationModifiers
.New);
855
internal sealed override bool IsFileLocal => HasFlag(
DeclarationModifiers
.File);
857
internal bool IsUnsafe => HasFlag(
DeclarationModifiers
.Unsafe);
878
private bool HasFlag(
DeclarationModifiers
flag) => (_declModifiers & flag) != 0;
5137
var
modifiers = SourceMemberFieldSymbol.MakeModifiers(this, fieldSyntax.Declaration.Variables[0].Identifier, fieldSyntax.Modifiers, isRefField: refKind != RefKind.None, diagnostics, out modifierErrors);
5140
var fieldSymbol = (modifiers &
DeclarationModifiers
.Fixed) == 0
5152
DeclarationModifiers
.Private | (modifiers &
DeclarationModifiers
.Static),
5256
DeclarationModifiers
.Private | (property.IsStatic ?
DeclarationModifiers
.Static : 0),
5294
DeclarationModifiers
.Private | (@event.IsStatic ?
DeclarationModifiers
.Static : 0),
5417
ExpressionFieldFinder.FindExpressionVariables(builder.NonTypeMembersWithPartialImplementations, vdecl, this,
DeclarationModifiers
.Private,
5432
DeclarationModifiers
.Private,
Symbols\Source\SourceMemberFieldSymbol.cs (53)
22
private readonly
DeclarationModifiers
_modifiers;
26
DeclarationModifiers
modifiers,
35
protected sealed override
DeclarationModifiers
Modifiers
175
internal static
DeclarationModifiers
MakeModifiers(NamedTypeSymbol containingType, SyntaxToken firstIdentifier, SyntaxTokenList modifiers, bool isRefField, BindingDiagnosticBag diagnostics, out bool modifierErrors)
178
DeclarationModifiers
defaultAccess =
179
isInterface ?
DeclarationModifiers
.Public :
DeclarationModifiers
.Private;
181
DeclarationModifiers
allowedModifiers =
182
DeclarationModifiers
.AccessibilityMask |
183
DeclarationModifiers
.Const |
184
DeclarationModifiers
.New |
185
DeclarationModifiers
.ReadOnly |
186
DeclarationModifiers
.Static |
187
DeclarationModifiers
.Volatile |
188
DeclarationModifiers
.Fixed |
189
DeclarationModifiers
.Unsafe |
190
DeclarationModifiers
.Abstract |
191
DeclarationModifiers
.Required; // Some of these are filtered out later, when illegal, for better error messages.
194
DeclarationModifiers
result = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(
198
if ((result &
DeclarationModifiers
.Abstract) != 0)
201
result &= ~
DeclarationModifiers
.Abstract;
204
if ((result &
DeclarationModifiers
.Fixed) != 0)
212
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Static, diagnostics, errorLocation);
213
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.ReadOnly, diagnostics, errorLocation);
214
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Const, diagnostics, errorLocation);
215
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Volatile, diagnostics, errorLocation);
216
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Required, diagnostics, errorLocation);
218
result &= ~(
DeclarationModifiers
.Static |
DeclarationModifiers
.ReadOnly |
DeclarationModifiers
.Const |
DeclarationModifiers
.Volatile |
DeclarationModifiers
.Required);
219
Debug.Assert((result & ~(
DeclarationModifiers
.AccessibilityMask |
DeclarationModifiers
.Fixed |
DeclarationModifiers
.Unsafe |
DeclarationModifiers
.New)) == 0);
222
if ((result &
DeclarationModifiers
.Const) != 0)
224
if ((result &
DeclarationModifiers
.Static) != 0)
230
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.ReadOnly, diagnostics, errorLocation);
231
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Volatile, diagnostics, errorLocation);
232
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Unsafe, diagnostics, errorLocation);
234
if (reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Required, diagnostics, errorLocation))
236
result &= ~
DeclarationModifiers
.Required;
239
result |=
DeclarationModifiers
.Static; // "constants are considered static members"
243
if ((result &
DeclarationModifiers
.Static) != 0 && (result &
DeclarationModifiers
.Required) != 0)
247
result &= ~
DeclarationModifiers
.Required;
260
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Static, diagnostics, errorLocation);
261
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Const, diagnostics, errorLocation);
262
reportBadMemberFlagIfAny(result,
DeclarationModifiers
.Volatile, diagnostics, errorLocation);
267
static bool reportBadMemberFlagIfAny(
DeclarationModifiers
result,
DeclarationModifiers
modifier, BindingDiagnosticBag diagnostics, SourceLocation errorLocation)
355
DeclarationModifiers
modifiers,
Symbols\Source\SourceMemberMethodSymbol.cs (21)
182
private static bool ModifiersRequireMetadataVirtual(
DeclarationModifiers
modifiers)
184
return (modifiers & (
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual |
DeclarationModifiers
.Override)) != 0;
190
DeclarationModifiers
declarationModifiers,
204
bool isMetadataVirtual = (isExplicitInterfaceImplementation && (declarationModifiers &
DeclarationModifiers
.Static) == 0) || ModifiersRequireMetadataVirtual(declarationModifiers);
236
DeclarationModifiers
declarationModifiers,
304
protected readonly
DeclarationModifiers
DeclarationModifiers;
337
(
DeclarationModifiers
declarationModifiers, Flags flags) modifiersAndFlags)
408
DeclarationModifiers
declarationModifiers,
603
return (this.DeclarationModifiers &
DeclarationModifiers
.Extern) != 0;
619
return (this.DeclarationModifiers &
DeclarationModifiers
.Sealed) != 0;
627
return (this.DeclarationModifiers &
DeclarationModifiers
.Abstract) != 0;
635
return (this.DeclarationModifiers &
DeclarationModifiers
.Override) != 0;
643
return (this.DeclarationModifiers &
DeclarationModifiers
.Partial) != 0;
651
return (this.DeclarationModifiers &
DeclarationModifiers
.Virtual) != 0;
659
return (this.DeclarationModifiers &
DeclarationModifiers
.New) != 0;
667
return (this.DeclarationModifiers &
DeclarationModifiers
.Static) != 0;
675
return (this.DeclarationModifiers &
DeclarationModifiers
.Unsafe) != 0;
683
return (this.DeclarationModifiers &
DeclarationModifiers
.Async) != 0;
691
return (this.DeclarationModifiers &
DeclarationModifiers
.ReadOnly) != 0;
Symbols\Source\SourceNamespaceSymbol.AliasesAndUsings.cs (1)
746
declaringSymbol.CheckUnsafeModifier(
DeclarationModifiers
.Unsafe, unsafeKeywordLocation, diagnostics);
Symbols\Source\SourceOrdinaryMethodOrUserDefinedOperatorSymbol.cs (1)
24
protected SourceOrdinaryMethodOrUserDefinedOperatorSymbol(NamedTypeSymbol containingType, SyntaxReference syntaxReferenceOpt, Location location, bool isIterator, (
DeclarationModifiers
declarationModifiers, Flags flags) modifiersAndFlags)
Symbols\Source\SourceOrdinaryMethodSymbol.cs (46)
88
private static (
DeclarationModifiers
, Flags) MakeModifiersAndFlags(
92
(
DeclarationModifiers
declarationModifiers, bool hasExplicitAccessMod) = MakeModifiers(syntax, containingType, methodKind, hasBody: syntax.HasAnyBody(), location, diagnostics);
424
private static
DeclarationModifiers
MakeDeclarationModifiers(MethodDeclarationSyntax syntax, NamedTypeSymbol containingType, Location location,
DeclarationModifiers
allowedModifiers, BindingDiagnosticBag diagnostics)
427
syntax.Modifiers, defaultAccess:
DeclarationModifiers
.None, allowedModifiers, location, diagnostics, out _, out _);
697
private static (
DeclarationModifiers
mods, bool hasExplicitAccessMod) MakeModifiers(MethodDeclarationSyntax syntax, NamedTypeSymbol containingType, MethodKind methodKind, bool hasBody, Location location, BindingDiagnosticBag diagnostics)
704
var
defaultAccess = isInterface && !isExplicitInterfaceImplementation ?
DeclarationModifiers
.None :
DeclarationModifiers
.Private;
707
var
allowedModifiers =
DeclarationModifiers
.Partial |
DeclarationModifiers
.Unsafe;
708
var
defaultInterfaceImplementationModifiers =
DeclarationModifiers
.None;
712
allowedModifiers |=
DeclarationModifiers
.New |
713
DeclarationModifiers
.Sealed |
714
DeclarationModifiers
.Abstract |
715
DeclarationModifiers
.Static |
716
DeclarationModifiers
.Virtual |
717
DeclarationModifiers
.AccessibilityMask;
721
allowedModifiers |=
DeclarationModifiers
.Override;
725
defaultInterfaceImplementationModifiers |=
DeclarationModifiers
.Sealed |
726
DeclarationModifiers
.Abstract |
727
DeclarationModifiers
.Static |
728
DeclarationModifiers
.Virtual |
729
DeclarationModifiers
.Extern |
730
DeclarationModifiers
.Async |
731
DeclarationModifiers
.Partial |
732
DeclarationModifiers
.AccessibilityMask;
741
allowedModifiers |=
DeclarationModifiers
.Abstract;
744
allowedModifiers |=
DeclarationModifiers
.Static;
747
allowedModifiers |=
DeclarationModifiers
.Extern |
DeclarationModifiers
.Async;
751
allowedModifiers |=
DeclarationModifiers
.ReadOnly;
757
DeclarationModifiers
mods = MakeDeclarationModifiers(syntax, containingType, location, allowedModifiers, diagnostics);
758
if ((mods &
DeclarationModifiers
.AccessibilityMask) == 0)
778
private static
DeclarationModifiers
AddImpliedModifiers(
DeclarationModifiers
mods, bool containingTypeIsInterface, MethodKind methodKind, bool hasBody)
789
mods = (mods & ~
DeclarationModifiers
.AccessibilityMask) |
DeclarationModifiers
.Private;
794
private const
DeclarationModifiers
PartialMethodExtendedModifierMask =
795
DeclarationModifiers
.Virtual |
796
DeclarationModifiers
.Override |
797
DeclarationModifiers
.New |
798
DeclarationModifiers
.Sealed |
799
DeclarationModifiers
.Extern;
Symbols\Source\SourceOrdinaryMethodSymbolBase.cs (1)
34
(
DeclarationModifiers
declarationModifiers, Flags flags) modifiersAndFlags) :
Symbols\Source\SourcePropertyAccessorSymbol.cs (28)
31
DeclarationModifiers
propertyModifiers,
68
DeclarationModifiers
propertyModifiers,
89
DeclarationModifiers
propertyModifiers,
115
DeclarationModifiers
propertyModifiers,
142
DeclarationModifiers
propertyModifiers,
176
DeclarationModifiers
propertyModifiers,
222
private static (
DeclarationModifiers
, Flags) MakeModifiersAndFlags(
223
NamedTypeSymbol containingType, SourcePropertySymbolBase property,
DeclarationModifiers
propertyModifiers, Location location,
231
var
declarationModifiers = MakeModifiers(containingType, modifiers, isExplicitInterfaceImplementation, hasAnyBody, location, diagnostics, out modifierErrors);
234
declarationModifiers |= GetAccessorModifiers(propertyModifiers) & ~
DeclarationModifiers
.AccessibilityMask;
235
if ((declarationModifiers &
DeclarationModifiers
.Private) != 0)
238
declarationModifiers &= ~
DeclarationModifiers
.Virtual;
251
private static
DeclarationModifiers
GetAccessorModifiers(
DeclarationModifiers
propertyModifiers) =>
252
propertyModifiers & ~(
DeclarationModifiers
.Indexer |
DeclarationModifiers
.ReadOnly);
432
internal bool LocalDeclaredReadOnly => (DeclarationModifiers &
DeclarationModifiers
.ReadOnly) != 0;
492
private static
DeclarationModifiers
MakeModifiers(NamedTypeSymbol containingType, SyntaxTokenList modifiers, bool isExplicitInterfaceImplementation,
497
const
DeclarationModifiers
defaultAccess =
DeclarationModifiers
.None;
500
var
allowedModifiers = isExplicitInterfaceImplementation ?
DeclarationModifiers
.None :
DeclarationModifiers
.AccessibilityMask;
503
allowedModifiers |=
DeclarationModifiers
.ReadOnly;
506
var
defaultInterfaceImplementationModifiers =
DeclarationModifiers
.None;
511
defaultInterfaceImplementationModifiers =
DeclarationModifiers
.AccessibilityMask;
514
var
mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface,
Symbols\Source\SourcePropertySymbol.cs (43)
69
bool allowAutoPropertyAccessors = (modifiers & (
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Extern |
DeclarationModifiers
.Indexer)) == 0 &&
70
(!containingType.IsInterface || hasGetAccessorImplementation || hasSetAccessorImplementation || (modifiers &
DeclarationModifiers
.Static) != 0) &&
71
((modifiers &
DeclarationModifiers
.Partial) == 0 || hasGetAccessorImplementation || hasSetAccessorImplementation);
109
DeclarationModifiers
modifiers,
371
private static (
DeclarationModifiers
modifiers, bool hasExplicitAccessMod) MakeModifiers(
382
var
defaultAccess = isInterface && !isExplicitInterfaceImplementation ?
DeclarationModifiers
.Public :
DeclarationModifiers
.Private;
385
var
allowedModifiers =
DeclarationModifiers
.Partial |
DeclarationModifiers
.Unsafe;
386
var
defaultInterfaceImplementationModifiers =
DeclarationModifiers
.None;
390
allowedModifiers |=
DeclarationModifiers
.New |
391
DeclarationModifiers
.Sealed |
392
DeclarationModifiers
.Abstract |
393
DeclarationModifiers
.Virtual |
394
DeclarationModifiers
.AccessibilityMask;
398
allowedModifiers |=
DeclarationModifiers
.Static;
403
allowedModifiers |=
DeclarationModifiers
.Override;
407
allowedModifiers |=
DeclarationModifiers
.Required;
414
defaultAccess =
DeclarationModifiers
.None;
416
defaultInterfaceImplementationModifiers |=
DeclarationModifiers
.Sealed |
417
DeclarationModifiers
.Abstract |
418
(isIndexer ? 0 :
DeclarationModifiers
.Static) |
419
DeclarationModifiers
.Virtual |
420
DeclarationModifiers
.Extern |
421
DeclarationModifiers
.AccessibilityMask;
430
allowedModifiers |=
DeclarationModifiers
.Abstract;
435
allowedModifiers |=
DeclarationModifiers
.Static;
441
allowedModifiers |=
DeclarationModifiers
.ReadOnly;
444
allowedModifiers |=
DeclarationModifiers
.Extern;
447
var
mods = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(isOrdinaryMethod: false, isForInterfaceMember: isInterface,
450
if ((mods &
DeclarationModifiers
.Partial) != 0)
458
ModifierUtils.ReportUnsupportedModifiersForLanguageVersion(mods,
DeclarationModifiers
.Partial, location, diagnostics, availableVersion, requiredVersion);
479
mods |=
DeclarationModifiers
.Indexer;
482
if ((mods &
DeclarationModifiers
.Static) != 0 && (mods &
DeclarationModifiers
.Required) != 0)
486
mods &= ~
DeclarationModifiers
.Required;
732
if ((_modifiers &
DeclarationModifiers
.Unsafe) != (implementation._modifiers &
DeclarationModifiers
.Unsafe) && this.CompilationAllowsUnsafe()) // Don't cascade.
Symbols\Source\SourcePropertySymbolBase.cs (14)
49
protected readonly
DeclarationModifiers
_modifiers;
88
DeclarationModifiers
modifiers,
106
Debug.Assert((modifiers &
DeclarationModifiers
.Required) == 0 || this is SourcePropertySymbol);
545
get { return (_modifiers &
DeclarationModifiers
.Abstract) != 0; }
552
return (_modifiers &
DeclarationModifiers
.Extern) != 0;
566
get { return (_modifiers &
DeclarationModifiers
.Static) != 0; }
578
get { return (_modifiers &
DeclarationModifiers
.Indexer) != 0; }
583
get { return (_modifiers &
DeclarationModifiers
.Override) != 0; }
588
get { return (_modifiers &
DeclarationModifiers
.Sealed) != 0; }
593
get { return (_modifiers &
DeclarationModifiers
.Virtual) != 0; }
596
internal sealed override bool IsRequired => (_modifiers &
DeclarationModifiers
.Required) != 0;
600
get { return (_modifiers &
DeclarationModifiers
.New) != 0; }
603
internal bool HasReadOnlyModifier => (_modifiers &
DeclarationModifiers
.ReadOnly) != 0;
1717
internal bool IsPartial => (_modifiers &
DeclarationModifiers
.Partial) != 0;
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (33)
31
DeclarationModifiers
declarationModifiers,
125
protected static
DeclarationModifiers
MakeDeclarationModifiers(MethodKind methodKind, bool inInterface, BaseMethodDeclarationSyntax syntax, Location location, BindingDiagnosticBag diagnostics)
128
var
defaultAccess = inInterface && !isExplicitInterfaceImplementation ?
DeclarationModifiers
.Public :
DeclarationModifiers
.Private;
129
var
allowedModifiers =
130
DeclarationModifiers
.Static |
131
DeclarationModifiers
.Extern |
132
DeclarationModifiers
.Unsafe;
136
allowedModifiers |=
DeclarationModifiers
.AccessibilityMask;
140
allowedModifiers |=
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual;
144
allowedModifiers |=
DeclarationModifiers
.Sealed;
151
allowedModifiers |=
DeclarationModifiers
.Abstract;
154
var
result = ModifierUtils.MakeAndCheckNonTypeMemberModifiers(
160
if ((result & (
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual |
DeclarationModifiers
.Sealed)) != 0)
162
if ((result &
DeclarationModifiers
.Sealed) != 0 &&
163
(result & (
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Virtual)) != 0)
165
diagnostics.Add(ErrorCode.ERR_BadMemberFlag, location, ModifierUtils.ConvertSingleModifierToSyntaxText(
DeclarationModifiers
.Sealed));
166
result &= ~
DeclarationModifiers
.Sealed;
177
if ((result &
DeclarationModifiers
.Abstract) != 0)
179
reportModifierIfPresent(result,
DeclarationModifiers
.Abstract, location, diagnostics, requiredVersionArgument, availableVersionArgument);
183
reportModifierIfPresent(result,
DeclarationModifiers
.Virtual, location, diagnostics, requiredVersionArgument, availableVersionArgument);
186
reportModifierIfPresent(result,
DeclarationModifiers
.Sealed, location, diagnostics, requiredVersionArgument, availableVersionArgument);
189
result &= ~
DeclarationModifiers
.Sealed;
191
else if ((result &
DeclarationModifiers
.Static) != 0 && syntax is OperatorDeclarationSyntax { OperatorToken: var opToken } && opToken.Kind() is not (SyntaxKind.EqualsEqualsToken or SyntaxKind.ExclamationEqualsToken))
199
if ((result &
DeclarationModifiers
.Abstract) != 0)
201
result |=
DeclarationModifiers
.Sealed;
207
static void reportModifierIfPresent(
DeclarationModifiers
result,
DeclarationModifiers
errorModifier, Location location, BindingDiagnosticBag diagnostics, CSharpRequiredLanguageVersion requiredVersionArgument, string availableVersionArgument)
Symbols\SymbolExtensions.cs (5)
291
internal static void CheckUnsafeModifier(this Symbol symbol,
DeclarationModifiers
modifiers, BindingDiagnosticBag diagnostics)
296
internal static void CheckUnsafeModifier(this Symbol symbol,
DeclarationModifiers
modifiers, Location errorLocation, BindingDiagnosticBag diagnostics)
299
internal static void CheckUnsafeModifier(this Symbol symbol,
DeclarationModifiers
modifiers, Location errorLocation, DiagnosticBag? diagnostics)
302
(modifiers &
DeclarationModifiers
.Unsafe) ==
DeclarationModifiers
.Unsafe &&
Symbols\Synthesized\Records\SynthesizedPrimaryConstructor.cs (4)
36
private static (
DeclarationModifiers
, Flags) MakeModifiersAndFlags(SourceMemberContainerTypeSymbol containingType, TypeDeclarationSyntax syntax)
40
DeclarationModifiers
declarationModifiers = containingType.IsAbstract ?
DeclarationModifiers
.Protected :
DeclarationModifiers
.Public;
Symbols\Synthesized\Records\SynthesizedRecordBaseEquals.cs (3)
20
: base(containingType, WellKnownMemberNames.ObjectEquals, memberOffset,
DeclarationModifiers
.Public |
DeclarationModifiers
.Override |
DeclarationModifiers
.Sealed)
Symbols\Synthesized\Records\SynthesizedRecordClone.cs (18)
30
private static
DeclarationModifiers
MakeDeclarationModifiers(SourceMemberContainerTypeSymbol containingType)
32
DeclarationModifiers
result =
DeclarationModifiers
.Public;
36
result |=
DeclarationModifiers
.Override;
40
result |= containingType.IsSealed ?
DeclarationModifiers
.None :
DeclarationModifiers
.Virtual;
45
result &= ~
DeclarationModifiers
.Virtual;
46
result |=
DeclarationModifiers
.Abstract;
55
static bool modifiersAreValid(
DeclarationModifiers
modifiers)
57
if ((modifiers &
DeclarationModifiers
.AccessibilityMask) !=
DeclarationModifiers
.Public)
62
modifiers &= ~
DeclarationModifiers
.AccessibilityMask;
66
case
DeclarationModifiers
.None:
68
case
DeclarationModifiers
.Abstract:
70
case
DeclarationModifiers
.Override:
72
case
DeclarationModifiers
.Abstract |
DeclarationModifiers
.Override:
74
case
DeclarationModifiers
.Virtual:
Symbols\Synthesized\Records\SynthesizedRecordDeconstruct.cs (2)
24
DeclarationModifiers
.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
136
DeclarationModifiers
propertyModifiers,
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperatorBase.cs (2)
40
DeclarationModifiers
.Public |
DeclarationModifiers
.Static, hasAnyBody: true, isExpressionBodied: false, isIterator: false, isNullableAnalysisEnabled: false, diagnostics)
Symbols\Synthesized\Records\SynthesizedRecordEquals.cs (3)
23
DeclarationModifiers
.Public |
24
(containingType.IsSealed ? 0 :
DeclarationModifiers
.Virtual) |
25
(containingType.IsRecordStruct ?
DeclarationModifiers
.ReadOnly : 0))
Symbols\Synthesized\Records\SynthesizedRecordObjectMethod.cs (3)
16
DeclarationModifiers
.Public |
DeclarationModifiers
.Override | (isReadOnly ?
DeclarationModifiers
.ReadOnly : 0))
Symbols\Synthesized\Records\SynthesizedRecordOrdinaryMethod.cs (1)
23
protected SynthesizedRecordOrdinaryMethod(SourceMemberContainerTypeSymbol containingType, string name, int memberOffset,
DeclarationModifiers
declarationModifiers)
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (18)
35
private static
DeclarationModifiers
MakeDeclarationModifiers(SourceMemberContainerTypeSymbol containingType, IEnumerable<Symbol> userDefinedMembers)
37
var
result = (containingType.IsRecordStruct || (containingType.BaseTypeNoUseSiteDiagnostics.IsObjectType() && containingType.IsSealed)) ?
38
DeclarationModifiers
.Private :
39
DeclarationModifiers
.Protected;
43
result |=
DeclarationModifiers
.Override;
47
result |= containingType.IsSealed ?
DeclarationModifiers
.None :
DeclarationModifiers
.Virtual;
55
result |=
DeclarationModifiers
.ReadOnly;
61
bool modifiersAreValid(
DeclarationModifiers
modifiers)
65
return modifiers ==
DeclarationModifiers
.Private;
68
if ((modifiers &
DeclarationModifiers
.AccessibilityMask) !=
DeclarationModifiers
.Private &&
69
(modifiers &
DeclarationModifiers
.AccessibilityMask) !=
DeclarationModifiers
.Protected)
74
modifiers &= ~
DeclarationModifiers
.AccessibilityMask;
78
case
DeclarationModifiers
.None:
79
case
DeclarationModifiers
.Override:
80
case
DeclarationModifiers
.Virtual:
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (3)
30
modifiers:
DeclarationModifiers
.Public | (isOverride ?
DeclarationModifiers
.Override :
DeclarationModifiers
.None),
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (6)
24
protected override
DeclarationModifiers
Modifiers { get; }
35
Modifiers =
DeclarationModifiers
.Private |
36
(isReadOnly ?
DeclarationModifiers
.ReadOnly :
DeclarationModifiers
.None) |
37
(isStatic ?
DeclarationModifiers
.Static :
DeclarationModifiers
.None);
Symbols\Synthesized\SynthesizedFieldSymbolBase.cs (9)
22
private readonly
DeclarationModifiers
_modifiers;
36
_modifiers = (isPublic ?
DeclarationModifiers
.Public :
DeclarationModifiers
.Private) |
37
(isReadOnly ?
DeclarationModifiers
.ReadOnly :
DeclarationModifiers
.None) |
38
(isStatic ?
DeclarationModifiers
.Static :
DeclarationModifiers
.None);
107
get { return (_modifiers &
DeclarationModifiers
.ReadOnly) != 0; }
178
get { return (_modifiers &
DeclarationModifiers
.Static) != 0; }
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (6)
62
private static (
DeclarationModifiers
, Flags) MakeModifiersAndFlags(SourceMemberContainerTypeSymbol containingType, SingleTypeDeclaration declaration)
67
DeclarationModifiers
declarationModifiers =
DeclarationModifiers
.Static |
DeclarationModifiers
.Private | (hasAwait ?
DeclarationModifiers
.Async :
DeclarationModifiers
.None);