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\PEParameterSymbol.cs (22)
633AttributeDescription.IDispatchConstantAttribute));
649AttributeDescription.IUnknownConstantAttribute));
665AttributeDescription.CallerLineNumberAttribute));
681AttributeDescription.CallerFilePathAttribute));
697AttributeDescription.CallerMemberNameAttribute));
772var info = _moduleSymbol.Module.FindTargetAttribute(_handle, AttributeDescription.CallerArgumentExpressionAttribute);
810if (module.HasAttribute(handle, AttributeDescription.AllowNullAttribute)) annotations |= FlowAnalysisAnnotations.AllowNull;
811if (module.HasAttribute(handle, AttributeDescription.DisallowNullAttribute)) annotations |= FlowAnalysisAnnotations.DisallowNull;
813if (module.HasAttribute(handle, AttributeDescription.MaybeNullAttribute))
817else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.MaybeNullWhenAttribute, out bool when))
822if (module.HasAttribute(handle, AttributeDescription.NotNullAttribute))
826else if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.NotNullWhenAttribute, out bool when))
831if (module.HasMaybeNullWhenOrNotNullWhenOrDoesNotReturnIfAttribute(handle, AttributeDescription.DoesNotReturnIfAttribute, out bool condition))
1143AttributeDescription filterOutConstantAttributeDescription = default(AttributeDescription);
1149filterOutConstantAttributeDescription = AttributeDescription.DateTimeConstantAttribute;
1153filterOutConstantAttributeDescription = AttributeDescription.DecimalConstantAttribute;
1167if (filterOutParamArrayAttribute && containingModule.AttributeMatchesFilter(handle, AttributeDescription.ParamArrayAttribute))
1173if (filterOutParamCollectionAttribute && containingModule.AttributeMatchesFilter(handle, AttributeDescription.ParamCollectionAttribute))
1185if (filterIsReadOnlyAttribute && containingModule.AttributeMatchesFilter(handle, AttributeDescription.IsReadOnlyAttribute))
1188if (filterRequiresLocationAttribute && containingModule.AttributeMatchesFilter(handle, AttributeDescription.RequiresLocationAttribute))
1191if (containingModule.AttributeMatchesFilter(handle, AttributeDescription.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))
2373if (attribute.IsTargetAttribute(AttributeDescription.InternalsVisibleToAttribute))
2377else if (attribute.IsTargetAttribute(AttributeDescription.AssemblySignatureKeyAttribute))
2387else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyFileAttribute))
2391else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyKeyNameAttribute))
2395else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyDelaySignAttribute))
2399else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyVersionAttribute))
2412else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyFileVersionAttribute))
2424else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyTitleAttribute))
2428else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyDescriptionAttribute))
2432else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyCultureAttribute))
2450else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyCompanyAttribute))
2454else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyProductAttribute))
2458else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyInformationalVersionAttribute))
2462else if (attribute.IsTargetAttribute(AttributeDescription.SatelliteContractVersionAttribute))
2473else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyCopyrightAttribute))
2477else if (attribute.IsTargetAttribute(AttributeDescription.AssemblyTrademarkAttribute))
2481else if ((signature = attribute.GetTargetAttributeSignatureIndex(AttributeDescription.AssemblyFlagsAttribute)) != -1)
2501else if (attribute.IsTargetAttribute(AttributeDescription.ClassInterfaceAttribute))
2505else if (attribute.IsTargetAttribute(AttributeDescription.TypeLibVersionAttribute))
2509else if (attribute.IsTargetAttribute(AttributeDescription.ComCompatibleVersionAttribute))
2513else if (attribute.IsTargetAttribute(AttributeDescription.GuidAttribute))
2518else if (attribute.IsTargetAttribute(AttributeDescription.ImportedFromTypeLibAttribute))
2525else if (attribute.IsTargetAttribute(AttributeDescription.PrimaryInteropAssemblyAttribute))
2532else if (attribute.IsTargetAttribute(AttributeDescription.CompilationRelaxationsAttribute))
2536else if (attribute.IsTargetAttribute(AttributeDescription.ReferenceAssemblyAttribute))
2540else if (attribute.IsTargetAttribute(AttributeDescription.RuntimeCompatibilityAttribute))
2556else if (attribute.IsTargetAttribute(AttributeDescription.DebuggableAttribute))
2560else if (!isFromNetModule && attribute.IsTargetAttribute(AttributeDescription.TypeForwardedToAttribute))
2564else if (attribute.IsTargetAttribute(AttributeDescription.CaseSensitiveExtensionAttribute))
2572else if ((signature = attribute.GetTargetAttributeSignatureIndex(AttributeDescription.AssemblyAlgorithmIdAttribute)) != -1)
2588else 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 (32)
909if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.ComImportAttribute))
924if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CodeAnalysisEmbeddedAttribute))
939if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.ConditionalAttribute))
966if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.AttributeUsageAttribute))
998if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.InterpolatedStringHandlerAttribute))
1013if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.InlineArrayAttribute))
1031if (CSharpAttributeData.IsTargetEarlyAttribute(arguments.AttributeType, arguments.AttributeSyntax, AttributeDescription.CollectionBuilderAttribute))
1105if (attribute.IsTargetAttribute(AttributeDescription.AttributeUsageAttribute))
1109else if (attribute.IsTargetAttribute(AttributeDescription.DefaultMemberAttribute))
1113else if (attribute.IsTargetAttribute(AttributeDescription.CoClassAttribute))
1117else if (attribute.IsTargetAttribute(AttributeDescription.ConditionalAttribute))
1121else if (attribute.IsTargetAttribute(AttributeDescription.GuidAttribute))
1125else if (attribute.IsTargetAttribute(AttributeDescription.SpecialNameAttribute))
1129else if (attribute.IsTargetAttribute(AttributeDescription.SerializableAttribute))
1133else if (attribute.IsTargetAttribute(AttributeDescription.ExcludeFromCodeCoverageAttribute))
1137else if (attribute.IsTargetAttribute(AttributeDescription.StructLayoutAttribute))
1142else if (attribute.IsTargetAttribute(AttributeDescription.SuppressUnmanagedCodeSecurityAttribute))
1146else if (attribute.IsTargetAttribute(AttributeDescription.ClassInterfaceAttribute))
1150else if (attribute.IsTargetAttribute(AttributeDescription.InterfaceTypeAttribute))
1154else if (attribute.IsTargetAttribute(AttributeDescription.WindowsRuntimeImportAttribute))
1158else if (attribute.IsTargetAttribute(AttributeDescription.RequiredAttributeAttribute))
1178else if (attribute.IsTargetAttribute(AttributeDescription.SecurityCriticalAttribute)
1179|| attribute.IsTargetAttribute(AttributeDescription.SecuritySafeCriticalAttribute))
1183else if (attribute.IsTargetAttribute(AttributeDescription.SkipLocalsInitAttribute))
1187else if (attribute.IsTargetAttribute(AttributeDescription.CollectionBuilderAttribute))
1205else if (_lazyIsExplicitDefinitionOfNoPiaLocalType == ThreeState.Unknown && attribute.IsTargetAttribute(AttributeDescription.TypeIdentifierAttribute))
1209else if (attribute.IsTargetAttribute(AttributeDescription.InlineArrayAttribute))
1227else if (attribute.IsTargetAttribute(AttributeDescription.CompilerLoweringPreserveAttribute))
1231else if (attribute.IsTargetAttribute(AttributeDescription.ExtendedLayoutAttribute))
1628int index = boundAttributes.IndexOfAttribute(AttributeDescription.ComImportAttribute);
1676int index = boundAttributes.IndexOfAttribute(AttributeDescription.CoClassAttribute);
1685int index = boundAttributes.IndexOfAttribute(AttributeDescription.DefaultMemberAttribute);
Symbols\Symbol.cs (16)
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))
1611reportExplicitUseOfReservedAttribute(attribute, arguments, AttributeDescription.ExtensionMarkerAttribute))
1620bool 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) &&