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