Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (33)
21private ImmutableHashSet<CustomModifier>? _lazyCallingConventionModifiers;
25ArrayBuilder<CustomModifier> customModifiers = ArrayBuilder<CustomModifier>.GetInstance();
87var refCustomModifiers = ImmutableArray<CustomModifier>.Empty;
108static CallingConvention getCallingConvention(CSharpCompilation compilation, FunctionPointerCallingConventionSyntax? callingConventionSyntax, ArrayBuilder<CustomModifier> customModifiers, BindingDiagnosticBag diagnostics)
175CustomModifier? modifier = handleIndividualUnrecognizedSpecifier(specifier, compilation, diagnostics);
189static CallingConvention handleSingleConvention(FunctionPointerUnmanagedCallingConventionSyntax specifier, CSharpCompilation compilation, ArrayBuilder<CustomModifier> customModifiers, BindingDiagnosticBag diagnostics)
192CustomModifier? modifier = handleIndividualUnrecognizedSpecifier(specifier, compilation, diagnostics);
200static CustomModifier? handleIndividualUnrecognizedSpecifier(FunctionPointerUnmanagedCallingConventionSyntax specifier, CSharpCompilation compilation, BindingDiagnosticBag diagnostics)
246ImmutableArray<CustomModifier> refCustomModifiers,
249ImmutableArray<ImmutableArray<CustomModifier>> parameterRefCustomModifiers,
269ImmutableArray<CustomModifier> callingConventionModifiers,
276var modifiersBuilder = ArrayBuilder<CustomModifier>.GetInstance();
284ImmutableArray<CustomModifier> refCustomModifiers;
287refCustomModifiers = ImmutableArray<CustomModifier>.Empty;
292if (GetCustomModifierForRefKind(returnRefKind, compilation) is CustomModifier modifier)
310private static CustomModifier? GetCustomModifierForRefKind(RefKind refKind, CSharpCompilation compilation)
334ImmutableArray<CustomModifier> refCustomModifiers = default,
335ImmutableArray<ImmutableArray<CustomModifier>> paramRefCustomModifiers = default)
443ImmutableArray<CustomModifier> refCustomModifiers,
446ImmutableArray<ImmutableArray<CustomModifier>> substitutedRefCustomModifiers,
488ImmutableArray<CustomModifier> refCustomModifiers,
490ImmutableArray<ImmutableArray<CustomModifier>> parameterRefCustomModifiers,
511static ImmutableArray<CustomModifier> getCustomModifierArrayForRefKind(RefKind refKind, CSharpCompilation compilation)
512=> GetCustomModifierForRefKind(refKind, compilation) is { } modifier ? ImmutableArray.Create(modifier) : ImmutableArray<CustomModifier>.Empty;
519ImmutableArray<CustomModifier> refCustomModifiers,
579static RefKind getRefKind(ParamInfo<TypeSymbol> param, ImmutableArray<CustomModifier> paramRefCustomMods, RefKind hasInRefKind, RefKind hasOutRefKind)
664public ImmutableHashSet<CustomModifier> GetCallingConventionModifiers()
671_lazyCallingConventionModifiers = ImmutableHashSet<CustomModifier>.Empty;
675var builder = PooledHashSet<CustomModifier>.GetInstance();
676foreach (var modifier in modifiersToSearch)
686_lazyCallingConventionModifiers = ImmutableHashSet<CustomModifier>.Empty;
768public override ImmutableArray<CustomModifier> RefCustomModifiers { get; }
Symbols\Source\ParameterHelpers.cs (7)
89ImmutableArray<CustomModifier> customModifiers = refKind switch
93_ => ImmutableArray<CustomModifier>.Empty
947internal static ImmutableArray<CustomModifier> ConditionallyCreateInModifiers(RefKind refKind, bool addRefReadOnlyModifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
955return ImmutableArray<CustomModifier>.Empty;
959internal static ImmutableArray<CustomModifier> CreateInModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
964internal static ImmutableArray<CustomModifier> CreateOutModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
969private static ImmutableArray<CustomModifier> CreateModifiers(WellKnownType modifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
Symbols\Source\SourceMemberContainerSymbol.cs (12)
4028ImmutableArray<CustomModifier>.Empty,
4036ImmutableArray<CustomModifier>.Empty,
4075ImmutableArray<CustomModifier>.Empty,
4083ImmutableArray<CustomModifier>.Empty,
4123ImmutableArray<CustomModifier>.Empty,
4130refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
4185refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
4264ImmutableArray<CustomModifier>.Empty,
4359ImmutableArray<CustomModifier>.Empty,
4388ImmutableArray<CustomModifier>.Empty,
4449ImmutableArray<CustomModifier>.Empty,
4457ImmutableArray<CustomModifier>.Empty,
Symbols\Source\SourceParameterSymbol.cs (5)
58ImmutableArray<CustomModifier> inModifiers = ParameterHelpers.ConditionallyCreateInModifiers(refKind, addRefReadOnlyModifier, context, declarationDiagnostics, syntax);
123internal override ParameterSymbol WithCustomModifiersAndParams(TypeSymbol newType, ImmutableArray<CustomModifier> newCustomModifiers, ImmutableArray<CustomModifier> newRefCustomModifiers, bool newIsParams)
128internal SourceParameterSymbol WithCustomModifiersAndParamsCore(TypeSymbol newType, ImmutableArray<CustomModifier> newCustomModifiers, ImmutableArray<CustomModifier> newRefCustomModifiers, bool newIsParams)
Symbols\TypeWithAnnotations.cs (19)
82internal static TypeWithAnnotations Create(TypeSymbol typeSymbol, NullableAnnotation nullableAnnotation = NullableAnnotation.Oblivious, ImmutableArray<CustomModifier> customModifiers = default)
165private static TypeWithAnnotations CreateNonLazyType(TypeSymbol typeSymbol, NullableAnnotation nullableAnnotation, ImmutableArray<CustomModifier> customModifiers)
242public TypeWithAnnotations WithModifiers(ImmutableArray<CustomModifier> customModifiers) =>
260public ImmutableArray<CustomModifier> CustomModifiers => _extensions.CustomModifiers;
539public TypeWithAnnotations WithTypeAndModifiers(TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers) =>
811internal static readonly Extensions Default = new NonLazyType(customModifiers: ImmutableArray<CustomModifier>.Empty);
813internal static Extensions Create(ImmutableArray<CustomModifier> customModifiers)
829internal abstract ImmutableArray<CustomModifier> CustomModifiers { get; }
834internal abstract TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers);
847internal abstract TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers);
858private readonly ImmutableArray<CustomModifier> _customModifiers;
860public NonLazyType(ImmutableArray<CustomModifier> customModifiers)
868internal override ImmutableArray<CustomModifier> CustomModifiers => _customModifiers;
879internal override TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers)
886internal override TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers)
975internal override ImmutableArray<CustomModifier> CustomModifiers => ImmutableArray<CustomModifier>.Empty;
977internal override TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers)
993internal override TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers)
Symbols\ArrayTypeSymbol.vb (16)
25Friend Shared Function CreateVBArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, compilation As VisualBasicCompilation) As ArrayTypeSymbol
32Friend Shared Function CreateVBArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, declaringAssembly As AssemblySymbol) As ArrayTypeSymbol
42customModifiers As ImmutableArray(Of CustomModifier),
66Friend Shared Function CreateSZArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), compilation As VisualBasicCompilation) As ArrayTypeSymbol
70Friend Shared Function CreateSZArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), declaringAssembly As AssemblySymbol) As ArrayTypeSymbol
99Public MustOverride ReadOnly Property CustomModifiers As ImmutableArray(Of CustomModifier)
333Dim [mod] As ImmutableArray(Of CustomModifier) = CustomModifiers
334Dim otherMod As ImmutableArray(Of CustomModifier) = other.CustomModifiers
431Private ReadOnly Property IArrayTypeSymbol_CustomModifiers As ImmutableArray(Of CustomModifier) Implements IArrayTypeSymbol.CustomModifiers
467Private ReadOnly _customModifiers As ImmutableArray(Of CustomModifier)
470Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), systemArray As NamedTypeSymbol)
479Public NotOverridable Overrides ReadOnly Property CustomModifiers As ImmutableArray(Of CustomModifier)
540Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), systemArray As NamedTypeSymbol, interfaces As ImmutableArray(Of NamedTypeSymbol))
589Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, systemArray As NamedTypeSymbol)
619Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, systemArray As NamedTypeSymbol)
643customModifiers As ImmutableArray(Of CustomModifier),