Emitter\Model\PEAssemblyBuilder.cs (14)
394AttributeDescription.CodeAnalysisEmbeddedAttribute,
403AttributeDescription.IsReadOnlyAttribute,
412AttributeDescription.RequiresLocationAttribute,
421AttributeDescription.ParamCollectionAttribute,
430AttributeDescription.IsByRefLikeAttribute,
439AttributeDescription.IsUnmanagedAttribute,
448AttributeDescription.NullableAttribute,
457AttributeDescription.NullableContextAttribute,
466AttributeDescription.NullablePublicOnlyAttribute,
476AttributeDescription.NativeIntegerAttribute,
485AttributeDescription.ScopedRefAttribute,
494AttributeDescription.RefSafetyRulesAttribute,
557AttributeDescription description,
593NamedTypeSymbol? 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))
1070AttributeDescription filterOutConstantAttributeDescription = default(AttributeDescription);
1076filterOutConstantAttributeDescription = AttributeDescription.DateTimeConstantAttribute;
1080filterOutConstantAttributeDescription = AttributeDescription.DecimalConstantAttribute;
1095filterOutParamArrayAttribute ? AttributeDescription.ParamArrayAttribute : default,
1097filterOutParamCollectionAttribute ? AttributeDescription.ParamCollectionAttribute : default,
1101filterIsReadOnlyAttribute ? AttributeDescription.IsReadOnlyAttribute : default,
1103filterRequiresLocationAttribute ? AttributeDescription.RequiresLocationAttribute : default,
1105AttributeDescription.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))
817else if (attribute.IsTargetAttribute(AttributeDescription.AllowNullAttribute))
821else if (attribute.IsTargetAttribute(AttributeDescription.DisallowNullAttribute))
825else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullAttribute))
829else if (attribute.IsTargetAttribute(AttributeDescription.MaybeNullWhenAttribute))
833else if (attribute.IsTargetAttribute(AttributeDescription.NotNullAttribute))
837else if (attribute.IsTargetAttribute(AttributeDescription.NotNullWhenAttribute))
841else if (attribute.IsTargetAttribute(AttributeDescription.DoesNotReturnIfAttribute))
845else if (attribute.IsTargetAttribute(AttributeDescription.NotNullIfNotNullAttribute))
849else if (attribute.IsTargetAttribute(AttributeDescription.EnumeratorCancellationAttribute))
854else if (attribute.GetTargetAttributeSignatureIndex(AttributeDescription.InterpolatedStringHandlerArgumentAttribute) is (0 or 1) and var index)
858else if (attribute.IsTargetAttribute(AttributeDescription.UnscopedRefAttribute))
889private void DecodeDefaultParameterValueAttribute(AttributeDescription description, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments)
931private ConstantValue DecodeDefaultParameterValueAttribute(AttributeDescription description, CSharpAttributeData attribute, AttributeSyntax node, bool diagnose, BindingDiagnosticBag diagnosticsOpt)
935if (description.Equals(AttributeDescription.DefaultParameterValueAttribute))
939else if (description.Equals(AttributeDescription.DecimalConstantAttribute))
945Debug.Assert(description.Equals(AttributeDescription.DateTimeConstantAttribute));
1241Debug.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))
1176else if (attribute.IsTargetAttribute(AttributeDescription.SecurityCriticalAttribute)
1177|| attribute.IsTargetAttribute(AttributeDescription.SecuritySafeCriticalAttribute))
1181else if (attribute.IsTargetAttribute(AttributeDescription.SkipLocalsInitAttribute))
1185else if (attribute.IsTargetAttribute(AttributeDescription.CollectionBuilderAttribute))
1203else if (_lazyIsExplicitDefinitionOfNoPiaLocalType == ThreeState.Unknown && attribute.IsTargetAttribute(AttributeDescription.TypeIdentifierAttribute))
1207else if (attribute.IsTargetAttribute(AttributeDescription.InlineArrayAttribute))
1225else if (attribute.IsTargetAttribute(AttributeDescription.CompilerLoweringPreserveAttribute))
1606int index = boundAttributes.IndexOfAttribute(AttributeDescription.ComImportAttribute);
1654int index = boundAttributes.IndexOfAttribute(AttributeDescription.CoClassAttribute);
1663int index = boundAttributes.IndexOfAttribute(AttributeDescription.DefaultMemberAttribute);
Symbols\Symbol.cs (15)
1544attribute.IsTargetAttribute(AttributeDescription.DynamicAttribute))
1550reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.IsReadOnlyAttribute))
1554reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.RequiresLocationAttribute))
1558reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.IsUnmanagedAttribute))
1562reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.IsByRefLikeAttribute))
1566attribute.IsTargetAttribute(AttributeDescription.TupleElementNamesAttribute))
1571attribute.IsTargetAttribute(AttributeDescription.NullableAttribute))
1577reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.NullableContextAttribute))
1581reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.NullablePublicOnlyAttribute))
1585reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.NativeIntegerAttribute))
1589attribute.IsTargetAttribute(AttributeDescription.CaseSensitiveExtensionAttribute))
1595attribute.IsTargetAttribute(AttributeDescription.RequiredMemberAttribute))
1601attribute.IsTargetAttribute(AttributeDescription.ScopedRefAttribute))
1607reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.RefSafetyRulesAttribute))
1616bool 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) &&