Emitter\Model\PEAssemblyBuilder.cs (15)
415AttributeDescription.CodeAnalysisEmbeddedAttribute,
424AttributeDescription.IsReadOnlyAttribute,
433AttributeDescription.RequiresLocationAttribute,
442AttributeDescription.ParamCollectionAttribute,
451AttributeDescription.IsByRefLikeAttribute,
460AttributeDescription.IsUnmanagedAttribute,
469AttributeDescription.NullableAttribute,
478AttributeDescription.NullableContextAttribute,
487AttributeDescription.NullablePublicOnlyAttribute,
497AttributeDescription.NativeIntegerAttribute,
506AttributeDescription.ScopedRefAttribute,
515AttributeDescription.RefSafetyRulesAttribute,
524AttributeDescription.ExtensionMarkerAttribute,
595AttributeDescription description,
631NamedTypeSymbol? getExistingType(AttributeDescription description)
Symbols\Metadata\PE\PEModuleSymbol.cs (16)
311AttributeDescription filterOut1)
318AttributeDescription filterOut1,
320AttributeDescription filterOut2)
331AttributeDescription filterOut1,
333AttributeDescription filterOut2,
335AttributeDescription filterOut3,
337AttributeDescription filterOut4,
339AttributeDescription filterOut5,
341AttributeDescription filterOut6)
412bool matchesFilter(CustomAttributeHandle handle, AttributeDescription filter)
431return GetCustomAttributesForToken(token, out paramArrayAttribute, AttributeDescription.ParamArrayAttribute);
449internal TypeSymbol TryDecodeAttributeWithTypeArgument(EntityHandle handle, AttributeDescription attributeDescription)
471filterOut1: AttributeDescription.CaseSensitiveExtensionAttribute,
473filterOut2: AttributeDescription.IsReadOnlyAttribute);
668return assemblyAttributes.IndexOfAttribute(AttributeDescription.CompilationRelaxationsAttribute) >= 0;
681return assemblyAttributes.IndexOfAttribute(AttributeDescription.RuntimeCompatibilityAttribute) >= 0;
Symbols\Metadata\PE\PEParameterSymbol.cs (22)
614AttributeDescription.IDispatchConstantAttribute));
630AttributeDescription.IUnknownConstantAttribute));
646AttributeDescription.CallerLineNumberAttribute));
662AttributeDescription.CallerFilePathAttribute));
678AttributeDescription.CallerMemberNameAttribute));
753var info = _moduleSymbol.Module.FindTargetAttribute(_handle, AttributeDescription.CallerArgumentExpressionAttribute);
797if (module.HasAttribute(handle, AttributeDescription.AllowNullAttribute)) annotations |= FlowAnalysisAnnotations.AllowNull;
798if (module.HasAttribute(handle, AttributeDescription.DisallowNullAttribute)) annotations |= FlowAnalysisAnnotations.DisallowNull;
800if (module.HasAttribute(handle, AttributeDescription.MaybeNullAttribute))
804else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.MaybeNullWhenAttribute, out bool when))
809if (module.HasAttribute(handle, AttributeDescription.NotNullAttribute))
813else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.NotNullWhenAttribute, out bool when))
818if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.DoesNotReturnIfAttribute, out bool condition))
1091AttributeDescription filterOutConstantAttributeDescription = default(AttributeDescription);
1097filterOutConstantAttributeDescription = AttributeDescription.DateTimeConstantAttribute;
1101filterOutConstantAttributeDescription = AttributeDescription.DecimalConstantAttribute;
1116filterOutParamArrayAttribute ? AttributeDescription.ParamArrayAttribute : default,
1118filterOutParamCollectionAttribute ? AttributeDescription.ParamCollectionAttribute : default,
1122filterIsReadOnlyAttribute ? AttributeDescription.IsReadOnlyAttribute : default,
1124filterRequiresLocationAttribute ? AttributeDescription.RequiresLocationAttribute : default,
1126AttributeDescription.ScopedRefAttribute);
Symbols\Source\SourceAssemblySymbol.cs (60)
775diagnostics.Add(ErrorCode.WRN_CmdOptionConflictsSource, NoLocation.Singleton, "DelaySign", AttributeDescription.AssemblyDelaySignAttribute.FullName);
782AttributeDescription.AssemblyDelaySignAttribute.FullName);
816diagnostics.Add(ErrorCode.ERR_CmdOptionConflictsSource, NoLocation.Singleton, AttributeDescription.AssemblyKeyNameAttribute.FullName, "CryptoKeyContainer");
820diagnostics.Add(ErrorCode.WRN_CmdOptionConflictsSource, NoLocation.Singleton, "CryptoKeyContainer", AttributeDescription.AssemblyKeyNameAttribute.FullName);
829diagnostics.Add(ErrorCode.WRN_AttributeIgnoredWhenPublicSigning, NoLocation.Singleton, AttributeDescription.AssemblyKeyNameAttribute.FullName);
853diagnostics.Add(ErrorCode.ERR_CmdOptionConflictsSource, NoLocation.Singleton, AttributeDescription.AssemblyKeyFileAttribute.FullName, "CryptoKeyFile");
857diagnostics.Add(ErrorCode.WRN_CmdOptionConflictsSource, NoLocation.Singleton, "CryptoKeyFile", AttributeDescription.AssemblyKeyFileAttribute.FullName);
866diagnostics.Add(ErrorCode.WRN_AttributeIgnoredWhenPublicSigning, NoLocation.Singleton, AttributeDescription.AssemblyKeyFileAttribute.FullName);
1150if (attribute.IsTargetAttribute(AttributeDescription.AssemblyTitleAttribute) ||
1151attribute.IsTargetAttribute(AttributeDescription.AssemblyDescriptionAttribute) ||
1152attribute.IsTargetAttribute(AttributeDescription.AssemblyConfigurationAttribute) ||
1153attribute.IsTargetAttribute(AttributeDescription.AssemblyCultureAttribute) ||
1154attribute.IsTargetAttribute(AttributeDescription.AssemblyVersionAttribute) ||
1155attribute.IsTargetAttribute(AttributeDescription.AssemblyCompanyAttribute) ||
1156attribute.IsTargetAttribute(AttributeDescription.AssemblyProductAttribute) ||
1157attribute.IsTargetAttribute(AttributeDescription.AssemblyInformationalVersionAttribute) ||
1158attribute.IsTargetAttribute(AttributeDescription.AssemblyCopyrightAttribute) ||
1159attribute.IsTargetAttribute(AttributeDescription.AssemblyTrademarkAttribute) ||
1160attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyFileAttribute) ||
1161attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyNameAttribute) ||
1162attribute.IsTargetAttribute(AttributeDescription.AssemblyAlgorithmIdAttribute) ||
1163attribute.IsTargetAttribute(AttributeDescription.AssemblyFlagsAttribute) ||
1164attribute.IsTargetAttribute(AttributeDescription.AssemblyDelaySignAttribute) ||
1165attribute.IsTargetAttribute(AttributeDescription.AssemblyFileVersionAttribute) ||
1166attribute.IsTargetAttribute(AttributeDescription.SatelliteContractVersionAttribute) ||
1167attribute.IsTargetAttribute(AttributeDescription.AssemblySignatureKeyAttribute))
1515attribute.IsTargetAttribute(AttributeDescription.AssemblySignatureKeyAttribute))
1521attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyFileAttribute))
1527attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyNameAttribute))
2371if (attribute.IsTargetAttribute(AttributeDescription.InternalsVisibleToAttribute))
2375else if (attribute.IsTargetAttribute(AttributeDescription.AssemblySignatureKeyAttribute))
2385else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyFileAttribute))
2389else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyNameAttribute))
2393else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyDelaySignAttribute))
2397else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyVersionAttribute))
2410else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyFileVersionAttribute))
2422else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyTitleAttribute))
2426else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyDescriptionAttribute))
2430else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyCultureAttribute))
2448else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyCompanyAttribute))
2452else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyProductAttribute))
2456else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyInformationalVersionAttribute))
2460else if (attribute.IsTargetAttribute(AttributeDescription.SatelliteContractVersionAttribute))
2471else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyCopyrightAttribute))
2475else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyTrademarkAttribute))
2479else if ((signature = attribute.GetTargetAttributeSignatureIndex(AttributeDescription.AssemblyFlagsAttribute)) != -1)
2499else if (attribute.IsTargetAttribute(AttributeDescription.ClassInterfaceAttribute))
2503else if (attribute.IsTargetAttribute(AttributeDescription.TypeLibVersionAttribute))
2507else if (attribute.IsTargetAttribute(AttributeDescription.ComCompatibleVersionAttribute))
2511else if (attribute.IsTargetAttribute(AttributeDescription.GuidAttribute))
2516else if (attribute.IsTargetAttribute(AttributeDescription.ImportedFromTypeLibAttribute))
2523else if (attribute.IsTargetAttribute(AttributeDescription.PrimaryInteropAssemblyAttribute))
2530else if (attribute.IsTargetAttribute(AttributeDescription.CompilationRelaxationsAttribute))
2534else if (attribute.IsTargetAttribute(AttributeDescription.ReferenceAssemblyAttribute))
2538else if (attribute.IsTargetAttribute(AttributeDescription.RuntimeCompatibilityAttribute))
2554else if (attribute.IsTargetAttribute(AttributeDescription.DebuggableAttribute))
2558else if (!isFromNetModule && attribute.IsTargetAttribute(AttributeDescription.TypeForwardedToAttribute))
2562else if (attribute.IsTargetAttribute(AttributeDescription.CaseSensitiveExtensionAttribute))
2570else if ((signature = attribute.GetTargetAttributeSignatureIndex(AttributeDescription.AssemblyAlgorithmIdAttribute)) != -1)
2586else if (attribute.IsTargetAttribute(AttributeDescription.ExperimentalAttribute))
Symbols\Source\SourceComplexParameterSymbol.cs (52)
625if (CSharpAttributeData.IsTargetEarlyAttribute(attributeType, attributeSyntax, AttributeDescription.OptionalAttribute))
644if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.DefaultParameterValueAttribute))
646return EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription.DefaultParameterValueAttribute, ref arguments);
648else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.DecimalConstantAttribute))
650return EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription.DecimalConstantAttribute, ref arguments);
652else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.DateTimeConstantAttribute))
654return EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription.DateTimeConstantAttribute, ref arguments);
656else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.UnscopedRefAttribute))
665if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerLineNumberAttribute))
669else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerFilePathAttribute))
673else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerMemberNameAttribute))
677else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerArgumentExpressionAttribute))
706private (CSharpAttributeData?, BoundAttribute?) EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription description, ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax, AttributeLocation> arguments)
708Debug.Assert(description.Equals(AttributeDescription.DefaultParameterValueAttribute) ||
709description.Equals(AttributeDescription.DecimalConstantAttribute) ||
710description.Equals(AttributeDescription.DateTimeConstantAttribute));
742Debug.Assert(AttributeDescription.InterpolatedStringHandlerArgumentAttribute.Signatures.Length == 2);
745if (attribute.IsTargetAttribute(AttributeDescription.DefaultParameterValueAttribute))
748DecodeDefaultParameterValueAttribute(AttributeDescription.DefaultParameterValueAttribute, ref arguments);
750else if (attribute.IsTargetAttribute(AttributeDescription.DecimalConstantAttribute))
753DecodeDefaultParameterValueAttribute(AttributeDescription.DecimalConstantAttribute, ref arguments);
755else if (attribute.IsTargetAttribute(AttributeDescription.DateTimeConstantAttribute))
758DecodeDefaultParameterValueAttribute(AttributeDescription.DateTimeConstantAttribute, ref arguments);
760else if (attribute.IsTargetAttribute(AttributeDescription.OptionalAttribute))
770else if (attribute.IsTargetAttribute(AttributeDescription.ParamArrayAttribute) || attribute.IsTargetAttribute(AttributeDescription.ParamCollectionAttribute))
775else if (attribute.IsTargetAttribute(AttributeDescription.InAttribute))
779else if (attribute.IsTargetAttribute(AttributeDescription.OutAttribute))
783else if (attribute.IsTargetAttribute(AttributeDescription.MarshalAsAttribute))
787else if (attribute.IsTargetAttribute(AttributeDescription.IDispatchConstantAttribute))
791else if (attribute.IsTargetAttribute(AttributeDescription.IUnknownConstantAttribute))
795else if (attribute.IsTargetAttribute(AttributeDescription.CallerLineNumberAttribute))
799else if (attribute.IsTargetAttribute(AttributeDescription.CallerFilePathAttribute))
803else if (attribute.IsTargetAttribute(AttributeDescription.CallerMemberNameAttribute))
807else if (attribute.IsTargetAttribute(AttributeDescription.CallerArgumentExpressionAttribute))
824else if (attribute.IsTargetAttribute(AttributeDescription.AllowNullAttribute))
828else if (attribute.IsTargetAttribute(AttributeDescription.DisallowNullAttribute))
832else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullAttribute))
836else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullWhenAttribute))
840else if (attribute.IsTargetAttribute(AttributeDescription.NotNullAttribute))
844else if (attribute.IsTargetAttribute(AttributeDescription.NotNullWhenAttribute))
848else if (attribute.IsTargetAttribute(AttributeDescription.DoesNotReturnIfAttribute))
852else if (attribute.IsTargetAttribute(AttributeDescription.NotNullIfNotNullAttribute))
856else if (attribute.IsTargetAttribute(AttributeDescription.EnumeratorCancellationAttribute))
861else if (attribute.GetTargetAttributeSignatureIndex(AttributeDescription.InterpolatedStringHandlerArgumentAttribute) is (0 or 1) and var index)
865else if (attribute.IsTargetAttribute(AttributeDescription.UnscopedRefAttribute))
896private void DecodeDefaultParameterValueAttribute(AttributeDescription description, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments)
938private ConstantValue DecodeDefaultParameterValueAttribute(AttributeDescription description, CSharpAttributeData attribute, AttributeSyntax node, bool diagnose, BindingDiagnosticBag diagnosticsOpt)
942if (description.Equals(AttributeDescription.DefaultParameterValueAttribute))
946else if (description.Equals(AttributeDescription.DecimalConstantAttribute))
952Debug.Assert(description.Equals(AttributeDescription.DateTimeConstantAttribute));
1248Debug.Assert(arguments.Attribute.IsTargetAttribute(AttributeDescription.InterpolatedStringHandlerArgumentAttribute) && arguments.Attribute.CommonConstructorArguments.Length == 1);
Symbols\Source\SourceNamedTypeSymbol.cs (31)
908if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.ComImportAttribute))
923if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CodeAnalysisEmbeddedAttribute))
938if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.ConditionalAttribute))
965if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.AttributeUsageAttribute))
997if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.InterpolatedStringHandlerAttribute))
1012if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.InlineArrayAttribute))
1030if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CollectionBuilderAttribute))
1104if (attribute.IsTargetAttribute(AttributeDescription.AttributeUsageAttribute))
1108else if (attribute.IsTargetAttribute(AttributeDescription.DefaultMemberAttribute))
1112else if (attribute.IsTargetAttribute(AttributeDescription.CoClassAttribute))
1116else if (attribute.IsTargetAttribute(AttributeDescription.ConditionalAttribute))
1120else if (attribute.IsTargetAttribute(AttributeDescription.GuidAttribute))
1124else if (attribute.IsTargetAttribute(AttributeDescription.SpecialNameAttribute))
1128else if (attribute.IsTargetAttribute(AttributeDescription.SerializableAttribute))
1132else if (attribute.IsTargetAttribute(AttributeDescription.ExcludeFromCodeCoverageAttribute))
1136else if (attribute.IsTargetAttribute(AttributeDescription.StructLayoutAttribute))
1141else if (attribute.IsTargetAttribute(AttributeDescription.SuppressUnmanagedCodeSecurityAttribute))
1145else if (attribute.IsTargetAttribute(AttributeDescription.ClassInterfaceAttribute))
1149else if (attribute.IsTargetAttribute(AttributeDescription.InterfaceTypeAttribute))
1153else if (attribute.IsTargetAttribute(AttributeDescription.WindowsRuntimeImportAttribute))
1157else if (attribute.IsTargetAttribute(AttributeDescription.RequiredAttributeAttribute))
1177else if (attribute.IsTargetAttribute(AttributeDescription.SecurityCriticalAttribute)
1178|| attribute.IsTargetAttribute(AttributeDescription.SecuritySafeCriticalAttribute))
1182else if (attribute.IsTargetAttribute(AttributeDescription.SkipLocalsInitAttribute))
1186else if (attribute.IsTargetAttribute(AttributeDescription.CollectionBuilderAttribute))
1204else if (_lazyIsExplicitDefinitionOfNoPiaLocalType == ThreeState.Unknown && attribute.IsTargetAttribute(AttributeDescription.TypeIdentifierAttribute))
1208else if (attribute.IsTargetAttribute(AttributeDescription.InlineArrayAttribute))
1226else if (attribute.IsTargetAttribute(AttributeDescription.CompilerLoweringPreserveAttribute))
1607int index = boundAttributes.IndexOfAttribute(AttributeDescription.ComImportAttribute);
1655int index = boundAttributes.IndexOfAttribute(AttributeDescription.CoClassAttribute);
1664int index = boundAttributes.IndexOfAttribute(AttributeDescription.DefaultMemberAttribute);
Symbols\Symbol.cs (16)
1545attribute.IsTargetAttribute(AttributeDescription.DynamicAttribute))
1551reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.IsReadOnlyAttribute))
1555reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.RequiresLocationAttribute))
1559reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.IsUnmanagedAttribute))
1563reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.IsByRefLikeAttribute))
1567attribute.IsTargetAttribute(AttributeDescription.TupleElementNamesAttribute))
1572attribute.IsTargetAttribute(AttributeDescription.NullableAttribute))
1578reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.NullableContextAttribute))
1582reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.NullablePublicOnlyAttribute))
1586reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.NativeIntegerAttribute))
1590attribute.IsTargetAttribute(AttributeDescription.CaseSensitiveExtensionAttribute))
1596attribute.IsTargetAttribute(AttributeDescription.RequiredMemberAttribute))
1602attribute.IsTargetAttribute(AttributeDescription.ScopedRefAttribute))
1608reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.RefSafetyRulesAttribute))
1612reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.ExtensionMarkerAttribute))
1621bool reportExplicitUseOfReservedAttribute(CSharpAttributeData attribute, in DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments, in AttributeDescription attributeDescription)
Symbols\Symbol_Attributes.cs (8)
157if (CSharpAttributeData.IsTargetEarlyAttribute(type, syntax, AttributeDescription.ObsoleteAttribute))
161else if (CSharpAttributeData.IsTargetEarlyAttribute(type, syntax, AttributeDescription.DeprecatedAttribute))
165else if (CSharpAttributeData.IsTargetEarlyAttribute(type, syntax, AttributeDescription.WindowsExperimentalAttribute))
169else if (CSharpAttributeData.IsTargetEarlyAttribute(type, syntax, AttributeDescription.ExperimentalAttribute))
220if (arguments.Attribute.IsTargetAttribute(AttributeDescription.CompilerFeatureRequiredAttribute))
223arguments.Diagnostics.DiagnosticBag.Add(ErrorCode.ERR_ExplicitReservedAttr, arguments.AttributeSyntaxOpt.Location, AttributeDescription.CompilerFeatureRequiredAttribute.FullName);
225else if (arguments.Attribute.IsTargetAttribute(AttributeDescription.ExperimentalAttribute))
476if (!boundAttribute.HasErrors && boundAttribute.IsTargetAttribute(AttributeDescription.TypeForwardedToAttribute) &&