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);
674return assemblyAttributes.IndexOfAttribute(AttributeDescription.CompilationRelaxationsAttribute) >= 0;
687return 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);
791if (module.HasAttribute(handle, AttributeDescription.AllowNullAttribute)) annotations |= FlowAnalysisAnnotations.AllowNull;
792if (module.HasAttribute(handle, AttributeDescription.DisallowNullAttribute)) annotations |= FlowAnalysisAnnotations.DisallowNull;
794if (module.HasAttribute(handle, AttributeDescription.MaybeNullAttribute))
798else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.MaybeNullWhenAttribute, out bool when))
803if (module.HasAttribute(handle, AttributeDescription.NotNullAttribute))
807else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.NotNullWhenAttribute, out bool when))
812if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.DoesNotReturnIfAttribute, out bool condition))
1085AttributeDescription filterOutConstantAttributeDescription = default(AttributeDescription);
1091filterOutConstantAttributeDescription = AttributeDescription.DateTimeConstantAttribute;
1095filterOutConstantAttributeDescription = AttributeDescription.DecimalConstantAttribute;
1110filterOutParamArrayAttribute ? AttributeDescription.ParamArrayAttribute : default,
1112filterOutParamCollectionAttribute ? AttributeDescription.ParamCollectionAttribute : default,
1116filterIsReadOnlyAttribute ? AttributeDescription.IsReadOnlyAttribute : default,
1118filterRequiresLocationAttribute ? AttributeDescription.RequiresLocationAttribute : default,
1120AttributeDescription.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))
731private (CSharpAttributeData?, BoundAttribute?) EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription description, ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax, AttributeLocation> arguments)
733Debug.Assert(description.Equals(AttributeDescription.DefaultParameterValueAttribute) ||
734description.Equals(AttributeDescription.DecimalConstantAttribute) ||
735description.Equals(AttributeDescription.DateTimeConstantAttribute));
767Debug.Assert(AttributeDescription.InterpolatedStringHandlerArgumentAttribute.Signatures.Length == 2);
770if (attribute.IsTargetAttribute(AttributeDescription.DefaultParameterValueAttribute))
773DecodeDefaultParameterValueAttribute(AttributeDescription.DefaultParameterValueAttribute, ref arguments);
775else if (attribute.IsTargetAttribute(AttributeDescription.DecimalConstantAttribute))
778DecodeDefaultParameterValueAttribute(AttributeDescription.DecimalConstantAttribute, ref arguments);
780else if (attribute.IsTargetAttribute(AttributeDescription.DateTimeConstantAttribute))
783DecodeDefaultParameterValueAttribute(AttributeDescription.DateTimeConstantAttribute, ref arguments);
785else if (attribute.IsTargetAttribute(AttributeDescription.OptionalAttribute))
795else if (attribute.IsTargetAttribute(AttributeDescription.ParamArrayAttribute) || attribute.IsTargetAttribute(AttributeDescription.ParamCollectionAttribute))
800else if (attribute.IsTargetAttribute(AttributeDescription.InAttribute))
804else if (attribute.IsTargetAttribute(AttributeDescription.OutAttribute))
808else if (attribute.IsTargetAttribute(AttributeDescription.MarshalAsAttribute))
812else if (attribute.IsTargetAttribute(AttributeDescription.IDispatchConstantAttribute))
816else if (attribute.IsTargetAttribute(AttributeDescription.IUnknownConstantAttribute))
820else if (attribute.IsTargetAttribute(AttributeDescription.CallerLineNumberAttribute))
824else if (attribute.IsTargetAttribute(AttributeDescription.CallerFilePathAttribute))
828else if (attribute.IsTargetAttribute(AttributeDescription.CallerMemberNameAttribute))
832else if (attribute.IsTargetAttribute(AttributeDescription.CallerArgumentExpressionAttribute))
849else if (attribute.IsTargetAttribute(AttributeDescription.AllowNullAttribute))
853else if (attribute.IsTargetAttribute(AttributeDescription.DisallowNullAttribute))
857else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullAttribute))
861else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullWhenAttribute))
865else if (attribute.IsTargetAttribute(AttributeDescription.NotNullAttribute))
869else if (attribute.IsTargetAttribute(AttributeDescription.NotNullWhenAttribute))
873else if (attribute.IsTargetAttribute(AttributeDescription.DoesNotReturnIfAttribute))
877else if (attribute.IsTargetAttribute(AttributeDescription.NotNullIfNotNullAttribute))
881else if (attribute.IsTargetAttribute(AttributeDescription.EnumeratorCancellationAttribute))
886else if (attribute.GetTargetAttributeSignatureIndex(AttributeDescription.InterpolatedStringHandlerArgumentAttribute) is (0 or 1) and var index)
890else if (attribute.IsTargetAttribute(AttributeDescription.UnscopedRefAttribute))
921private void DecodeDefaultParameterValueAttribute(AttributeDescription description, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments)
963private ConstantValue DecodeDefaultParameterValueAttribute(AttributeDescription description, CSharpAttributeData attribute, AttributeSyntax node, bool diagnose, BindingDiagnosticBag diagnosticsOpt)
967if (description.Equals(AttributeDescription.DefaultParameterValueAttribute))
971else if (description.Equals(AttributeDescription.DecimalConstantAttribute))
977Debug.Assert(description.Equals(AttributeDescription.DateTimeConstantAttribute));
1289Debug.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 (10)
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))
233else if (arguments.Attribute.IsTargetAttribute(AttributeDescription.MetadataUpdateDeletedAttribute))
235arguments.Diagnostics.DiagnosticBag.Add(ErrorCode.ERR_AttributeCannotBeAppliedManually, arguments.AttributeSyntaxOpt!.Location, args: [AttributeDescription.MetadataUpdateDeletedAttribute.FullName]);
480if (!boundAttribute.HasErrors && boundAttribute.IsTargetAttribute(AttributeDescription.TypeForwardedToAttribute) &&