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)
612AttributeDescription.IDispatchConstantAttribute));
628AttributeDescription.IUnknownConstantAttribute));
644AttributeDescription.CallerLineNumberAttribute));
660AttributeDescription.CallerFilePathAttribute));
676AttributeDescription.CallerMemberNameAttribute));
751var info = _moduleSymbol.Module.FindTargetAttribute(_handle, AttributeDescription.CallerArgumentExpressionAttribute);
795if (module.HasAttribute(handle, AttributeDescription.AllowNullAttribute)) annotations |= FlowAnalysisAnnotations.AllowNull;
796if (module.HasAttribute(handle, AttributeDescription.DisallowNullAttribute)) annotations |= FlowAnalysisAnnotations.DisallowNull;
798if (module.HasAttribute(handle, AttributeDescription.MaybeNullAttribute))
802else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.MaybeNullWhenAttribute, out bool when))
807if (module.HasAttribute(handle, AttributeDescription.NotNullAttribute))
811else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.NotNullWhenAttribute, out bool when))
816if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.DoesNotReturnIfAttribute, out bool condition))
1089AttributeDescription filterOutConstantAttributeDescription = default(AttributeDescription);
1095filterOutConstantAttributeDescription = AttributeDescription.DateTimeConstantAttribute;
1099filterOutConstantAttributeDescription = AttributeDescription.DecimalConstantAttribute;
1114filterOutParamArrayAttribute ? AttributeDescription.ParamArrayAttribute : default,
1116filterOutParamCollectionAttribute ? AttributeDescription.ParamCollectionAttribute : default,
1120filterIsReadOnlyAttribute ? AttributeDescription.IsReadOnlyAttribute : default,
1122filterRequiresLocationAttribute ? AttributeDescription.RequiresLocationAttribute : default,
1124AttributeDescription.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)
619if (CSharpAttributeData.IsTargetEarlyAttribute(attributeType, attributeSyntax, AttributeDescription.OptionalAttribute))
638if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.DefaultParameterValueAttribute))
640return EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription.DefaultParameterValueAttribute, ref arguments);
642else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.DecimalConstantAttribute))
644return EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription.DecimalConstantAttribute, ref arguments);
646else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.DateTimeConstantAttribute))
648return EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription.DateTimeConstantAttribute, ref arguments);
650else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.UnscopedRefAttribute))
659if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerLineNumberAttribute))
663else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerFilePathAttribute))
667else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerMemberNameAttribute))
671else if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CallerArgumentExpressionAttribute))
700private (CSharpAttributeData?, BoundAttribute?) EarlyDecodeAttributeForDefaultParameterValue(AttributeDescription description, ref EarlyDecodeWellKnownAttributeArguments<EarlyWellKnownAttributeBinder, NamedTypeSymbol, AttributeSyntax, AttributeLocation> arguments)
702Debug.Assert(description.Equals(AttributeDescription.DefaultParameterValueAttribute) ||
703description.Equals(AttributeDescription.DecimalConstantAttribute) ||
704description.Equals(AttributeDescription.DateTimeConstantAttribute));
736Debug.Assert(AttributeDescription.InterpolatedStringHandlerArgumentAttribute.Signatures.Length == 2);
739if (attribute.IsTargetAttribute(AttributeDescription.DefaultParameterValueAttribute))
742DecodeDefaultParameterValueAttribute(AttributeDescription.DefaultParameterValueAttribute, ref arguments);
744else if (attribute.IsTargetAttribute(AttributeDescription.DecimalConstantAttribute))
747DecodeDefaultParameterValueAttribute(AttributeDescription.DecimalConstantAttribute, ref arguments);
749else if (attribute.IsTargetAttribute(AttributeDescription.DateTimeConstantAttribute))
752DecodeDefaultParameterValueAttribute(AttributeDescription.DateTimeConstantAttribute, ref arguments);
754else if (attribute.IsTargetAttribute(AttributeDescription.OptionalAttribute))
764else if (attribute.IsTargetAttribute(AttributeDescription.ParamArrayAttribute) || attribute.IsTargetAttribute(AttributeDescription.ParamCollectionAttribute))
769else if (attribute.IsTargetAttribute(AttributeDescription.InAttribute))
773else if (attribute.IsTargetAttribute(AttributeDescription.OutAttribute))
777else if (attribute.IsTargetAttribute(AttributeDescription.MarshalAsAttribute))
781else if (attribute.IsTargetAttribute(AttributeDescription.IDispatchConstantAttribute))
785else if (attribute.IsTargetAttribute(AttributeDescription.IUnknownConstantAttribute))
789else if (attribute.IsTargetAttribute(AttributeDescription.CallerLineNumberAttribute))
793else if (attribute.IsTargetAttribute(AttributeDescription.CallerFilePathAttribute))
797else if (attribute.IsTargetAttribute(AttributeDescription.CallerMemberNameAttribute))
801else if (attribute.IsTargetAttribute(AttributeDescription.CallerArgumentExpressionAttribute))
818else if (attribute.IsTargetAttribute(AttributeDescription.AllowNullAttribute))
822else if (attribute.IsTargetAttribute(AttributeDescription.DisallowNullAttribute))
826else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullAttribute))
830else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullWhenAttribute))
834else if (attribute.IsTargetAttribute(AttributeDescription.NotNullAttribute))
838else if (attribute.IsTargetAttribute(AttributeDescription.NotNullWhenAttribute))
842else if (attribute.IsTargetAttribute(AttributeDescription.DoesNotReturnIfAttribute))
846else if (attribute.IsTargetAttribute(AttributeDescription.NotNullIfNotNullAttribute))
850else if (attribute.IsTargetAttribute(AttributeDescription.EnumeratorCancellationAttribute))
855else if (attribute.GetTargetAttributeSignatureIndex(AttributeDescription.InterpolatedStringHandlerArgumentAttribute) is (0 or 1) and var index)
859else if (attribute.IsTargetAttribute(AttributeDescription.UnscopedRefAttribute))
890private void DecodeDefaultParameterValueAttribute(AttributeDescription description, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments)
932private ConstantValue DecodeDefaultParameterValueAttribute(AttributeDescription description, CSharpAttributeData attribute, AttributeSyntax node, bool diagnose, BindingDiagnosticBag diagnosticsOpt)
936if (description.Equals(AttributeDescription.DefaultParameterValueAttribute))
940else if (description.Equals(AttributeDescription.DecimalConstantAttribute))
946Debug.Assert(description.Equals(AttributeDescription.DateTimeConstantAttribute));
1242Debug.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) &&