205 references to AttributeLocation
Microsoft.CodeAnalysis.CSharp (202)
Parser\LanguageParser.cs (2)
855
case
AttributeLocation
.Assembly:
856
case
AttributeLocation
.Module:
Symbols\Attributes\AttributeData.cs (5)
235
internal void DecodeSecurityAttribute<T>(Symbol targetSymbol, CSharpCompilation compilation, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
261
internal static void DecodeSkipLocalsInitAttribute<T>(CSharpCompilation compilation, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
272
internal static void DecodeMemberNotNullAttribute<T>(TypeSymbol type, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
308
private static void ReportBadNotNullMemberIfNeeded(TypeSymbol type, DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments, string memberName)
322
internal static void DecodeMemberNotNullWhenAttribute<T>(TypeSymbol type, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
Symbols\Source\AttributeLocation.cs (28)
39
internal static string ToDisplayString(this
AttributeLocation
locations)
42
for (int i = 1; i < (int)
AttributeLocation
.Unknown; i <<= 1)
44
if ((locations & (
AttributeLocation
)i) != 0)
51
switch ((
AttributeLocation
)i)
53
case
AttributeLocation
.Assembly:
57
case
AttributeLocation
.Module:
61
case
AttributeLocation
.Type:
65
case
AttributeLocation
.Method:
69
case
AttributeLocation
.Field:
73
case
AttributeLocation
.Property:
77
case
AttributeLocation
.Event:
81
case
AttributeLocation
.Return:
85
case
AttributeLocation
.Parameter:
89
case
AttributeLocation
.TypeParameter:
102
internal static
AttributeLocation
ToAttributeLocation(this SyntaxToken token)
110
internal static
AttributeLocation
ToAttributeLocation(this Syntax.InternalSyntax.SyntaxToken token)
118
private static
AttributeLocation
ToAttributeLocation(string text)
123
return
AttributeLocation
.Assembly;
125
return
AttributeLocation
.Module;
127
return
AttributeLocation
.Type;
129
return
AttributeLocation
.Return;
131
return
AttributeLocation
.Method;
133
return
AttributeLocation
.Field;
135
return
AttributeLocation
.Event;
137
return
AttributeLocation
.Parameter;
139
return
AttributeLocation
.Property;
141
return
AttributeLocation
.TypeParameter;
143
return
AttributeLocation
.None;
Symbols\Source\FieldSymbolWithAttributesAndModifiers.cs (11)
36
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
37
=>
AttributeLocation
.Field;
39
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
40
=>
AttributeLocation
.Field;
117
internal sealed override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
162
protected override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
169
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
204
MarshalAsAttributeDecoder<FieldWellKnownAttributeData, AttributeSyntax, CSharpAttributeData,
AttributeLocation
>.Decode(ref arguments, AttributeTargets.Field, MessageProvider.Instance);
264
private void VerifyConstantValueMatches(ConstantValue attrValue, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
312
internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
319
Debug.Assert(symbolPart ==
AttributeLocation
.None);
Symbols\Source\IAttributeTargetSymbol.cs (2)
26
AttributeLocation
AllowedAttributeLocations { get; }
34
AttributeLocation
DefaultAttributeLocation { get; }
Symbols\Source\SourceAssemblySymbol.cs (12)
1321
var arguments = new DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
>();
1324
arguments.SymbolPart =
AttributeLocation
.None;
2176
private void DecodeTypeForwardedToAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
2319
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
2321
get { return
AttributeLocation
.Assembly; }
2324
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
2328
return IsInteractive ?
AttributeLocation
.None :
AttributeLocation
.Assembly |
AttributeLocation
.Module;
2332
protected override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
2337
private void DecodeWellKnownAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments, int index, bool isFromNetModule)
2341
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
Symbols\Source\SourceComplexParameterSymbol.cs (18)
436
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation =>
AttributeLocation
.Parameter;
438
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
444
return
AttributeLocation
.Parameter |
AttributeLocation
.Property |
AttributeLocation
.Field;
447
return
AttributeLocation
.Parameter;
633
internal override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
697
private (CSharpAttributeData?, BoundAttribute?) EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription description, ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
726
protected override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
732
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
776
MarshalAsAttributeDecoder<ParameterWellKnownAttributeData, AttributeSyntax, CSharpAttributeData,
AttributeLocation
>.Decode(ref arguments, AttributeTargets.Parameter, MessageProvider.Instance);
880
private void DecodeDefaultParameterValueAttribute(AttributeDescription description, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1230
private void DecodeInterpolatedStringHandlerArgumentAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments, BindingDiagnosticBag diagnostics, int attributeIndex)
1315
(int Ordinal, ParameterSymbol? Parameter)? decodeName(TypedConstant constant, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1372
static void setInterpolatedStringHandlerAttributeError(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1379
internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
1386
Debug.Assert(symbolPart ==
AttributeLocation
.None);
Symbols\Source\SourceConstructorSymbolBase.cs (2)
255
internal sealed override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
257
if (arguments.SymbolPart ==
AttributeLocation
.None)
Symbols\Source\SourceCustomEventSymbol.cs (2)
193
protected override
AttributeLocation
AllowedAttributeLocations
195
get { return
AttributeLocation
.Event; }
Symbols\Source\SourceEventSymbol.cs (7)
159
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
161
get { return
AttributeLocation
.Event; }
164
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
172
protected abstract
AttributeLocation
AllowedAttributeLocations
245
internal override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
288
protected sealed override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
292
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
Symbols\Source\SourceFieldLikeEventSymbol.cs (6)
162
protected override
AttributeLocation
AllowedAttributeLocations
167
AttributeLocation
.Event |
AttributeLocation
.Method |
AttributeLocation
.Field :
168
AttributeLocation
.Event |
AttributeLocation
.Method;
Symbols\Source\SourceFieldSymbol.cs (2)
113
protected sealed override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
120
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
Symbols\Source\SourceMemberFieldSymbol.cs (1)
131
internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (31)
136
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
138
get { return
AttributeLocation
.Method; }
141
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
150
return
AttributeLocation
.Method;
155
return
AttributeLocation
.Method |
AttributeLocation
.Return |
AttributeLocation
.Parameter;
158
return
AttributeLocation
.Method |
AttributeLocation
.Return;
282
? (GetReturnTypeAttributeDeclarations(),
AttributeLocation
.Return)
283
: (GetAttributeDeclarations(),
AttributeLocation
.None);
323
internal override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
325
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None || arguments.SymbolPart ==
AttributeLocation
.Return);
329
if (arguments.SymbolPart ==
AttributeLocation
.None)
479
protected sealed override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
482
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None || arguments.SymbolPart ==
AttributeLocation
.Return);
484
if (arguments.SymbolPart ==
AttributeLocation
.None)
494
private void DecodeWellKnownAttributeAppliedToMethod(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
508
AttributeData.DecodeMethodImplAttribute<MethodWellKnownAttributeData, AttributeSyntax, CSharpAttributeData,
AttributeLocation
>(ref arguments, MessageProvider.Instance);
627
ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments,
719
private void DecodeWellKnownAttributeAppliedToReturnValue(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
730
MarshalAsAttributeDecoder<ReturnTypeWellKnownAttributeData, AttributeSyntax, CSharpAttributeData,
AttributeLocation
>.Decode(ref arguments, AttributeTargets.ReturnValue, MessageProvider.Instance);
757
private void DecodeDllImportAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
883
private void DecodeModuleInitializerAttribute(DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
932
private void DecodeUnmanagedCallersOnlyAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1018
internal sealed override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
1023
Debug.Assert(symbolPart ==
AttributeLocation
.None || symbolPart ==
AttributeLocation
.Return);
1025
if (symbolPart !=
AttributeLocation
.Return)
Symbols\Source\SourceModuleSymbol.cs (8)
441
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
443
get { return
AttributeLocation
.Module; }
446
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
450
return ContainingAssembly.IsInteractive ?
AttributeLocation
.None :
AttributeLocation
.Assembly |
AttributeLocation
.Module;
505
protected override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
511
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
Symbols\Source\SourceNamedTypeSymbol.cs (15)
804
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
806
get { return
AttributeLocation
.Type; }
809
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
816
return
AttributeLocation
.Type |
AttributeLocation
.Return;
820
return
AttributeLocation
.Type;
824
return
AttributeLocation
.Type;
827
return
AttributeLocation
.None;
900
internal override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
1054
protected sealed override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1061
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
1097
AttributeData.DecodeStructLayoutAttribute<TypeWellKnownAttributeData, AttributeSyntax, CSharpAttributeData,
AttributeLocation
>(
1250
private void DecodeCoClassAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1463
internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
1470
Debug.Assert(symbolPart ==
AttributeLocation
.None);
Symbols\Source\SourcePropertySymbolBase.cs (11)
1036
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation =>
AttributeLocation
.Property;
1038
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
1040
?
AttributeLocation
.Property |
AttributeLocation
.Field
1041
:
AttributeLocation
.Property;
1172
internal override (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
1236
protected override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
1245
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
1394
internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
1401
Debug.Assert(symbolPart ==
AttributeLocation
.None);
Symbols\Source\SourceTypeParameterSymbol.cs (6)
147
AttributeLocation
IAttributeTargetSymbol.DefaultAttributeLocation
149
get { return
AttributeLocation
.TypeParameter; }
152
AttributeLocation
IAttributeTargetSymbol.AllowedAttributeLocations
154
get { return
AttributeLocation
.TypeParameter; }
421
protected sealed override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
428
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
Symbols\Symbol.cs (2)
1384
internal bool ReportExplicitUseOfReservedAttributes(in DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments, ReservedAttributes reserved)
1458
bool reportExplicitUseOfReservedAttribute(CSharpAttributeData attribute, in DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments, in AttributeDescription attributeDescription)
Symbols\Symbol_Attributes.cs (26)
142
internal virtual (CSharpAttributeData?, BoundAttribute?) EarlyDecodeWellKnownAttribute(ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments)
148
ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
> arguments,
214
protected void DecodeWellKnownAttribute(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
229
protected virtual void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
249
/// <param name="symbolPart">Specific part of the symbol to which the attributes apply, or <see cref="
AttributeLocation
.None"/> if the attributes apply to the symbol itself.</param>
251
internal virtual void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
283
/// <param name="symbolPart">Specific part of the symbol to which the attributes apply, or <see cref="
AttributeLocation
.None"/> if the attributes apply to the symbol itself.</param>
293
AttributeLocation
symbolPart =
AttributeLocation
.None,
571
AttributeLocation
symbolPart,
657
private static bool MatchAttributeTarget(IAttributeTargetSymbol attributeTarget,
AttributeLocation
symbolPart, AttributeTargetSpecifierSyntax targetOpt, BindingDiagnosticBag diagnostics)
663
bool isOwner = symbolPart ==
AttributeLocation
.None && ReferenceEquals(attributesOwner, attributeTarget);
673
targetOpt.Identifier.ToAttributeLocation() ==
AttributeLocation
.Module)
680
AttributeLocation
allowedTargets = attributesOwner.AllowedAttributeLocations;
682
AttributeLocation
explicitTarget = targetOpt.GetAttributeLocation();
683
if (explicitTarget ==
AttributeLocation
.None)
701
if (allowedTargets ==
AttributeLocation
.None)
705
case
AttributeLocation
.Assembly:
706
case
AttributeLocation
.Module:
726
if (symbolPart ==
AttributeLocation
.None)
748
AttributeLocation
symbolPart,
759
var arguments = new EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax,
AttributeLocation
>();
821
AttributeLocation
symbolPart)
831
var arguments = new DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
>();
869
AttributeLocation
symbolPart,
887
if (symbolPart ==
AttributeLocation
.Return)
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (4)
122
protected sealed override void DecodeWellKnownAttributeImpl(ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData,
AttributeLocation
> arguments)
129
Debug.Assert(arguments.SymbolPart ==
AttributeLocation
.None);
148
internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics,
AttributeLocation
symbolPart, WellKnownAttributeData decodedData)
168
if (attribute.Target?.GetAttributeLocation() ==
AttributeLocation
.Field)
Syntax\AttributeTargetSpecifierSyntax.cs (1)
13
internal
AttributeLocation
GetAttributeLocation()
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (3)
Parsing\DeclarationParsingTests.cs (3)
300
Assert.Equal(
AttributeLocation
.Assembly, ad.Target.Identifier.ToAttributeLocation());
329
Assert.Equal(
AttributeLocation
.Assembly, ad.Target.Identifier.ToAttributeLocation());
384
Assert.Equal(
AttributeLocation
.Module, ad.Target.Identifier.ToAttributeLocation());