src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (28)
88Func<DiagnosticAnalyzer, ImmutableArray<DiagnosticDescriptor>> getSupportedDiagnostics,
158using var _2 = ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)>.GetInstance(out var sortedPragmasWithIds);
230ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
232ImmutableArray<string> userExclusions)
346private static (ImmutableArray<string> userIdExclusions, ImmutableArray<string> userCategoryExclusions, bool analyzerDisabled) ParseUserExclusions(string? userExclusions)
354return (userIdExclusions: ImmutableArray<string>.Empty, userCategoryExclusions: ImmutableArray<string>.Empty, analyzerDisabled: false);
357return (userIdExclusions: ImmutableArray<string>.Empty, userCategoryExclusions: ImmutableArray<string>.Empty, analyzerDisabled: true);
362return (userIdExclusions: ImmutableArray<string>.Empty, userCategoryExclusions: ImmutableArray<string>.Empty, analyzerDisabled: false);
389private static async Task<(ImmutableArray<Diagnostic> reportedDiagnostics, ImmutableArray<string> unhandledIds)> GetReportedDiagnosticsForIdsAsync(
394Func<DiagnosticAnalyzer, ImmutableArray<DiagnosticDescriptor>> getSupportedDiagnostics,
462var analyzers = analyzersBuilder.ToImmutable();
483static void AddAllDiagnostics(ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> diagnostics, ArrayBuilder<Diagnostic> reportedDiagnostics)
485foreach (var perAnalyzerDiagnostics in diagnostics.Values)
493foreach (var perAnalyzerDiagnostics in analysisResult.CompilationDiagnostics.Values)
507ImmutableArray<Diagnostic> diagnostics,
610ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
632ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
643ImmutableArray<Location> additionalLocations;
679ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
683var idsForPragma = sortedPragmasWithIds[indexOfPragma].ids;
690var intersect = nextPragmaIds.Intersect(idsForPragma).ToImmutableArray();
738ImmutableArray<string> userIdExclusions,
739ImmutableArray<string> userCategoryExclusions,
src\Compilers\Core\Portable\Collections\ArrayBuilderExtensions.cs (8)
71public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ArrayBuilder<TItem> items, Func<TItem, TResult> map)
76return ImmutableArray<TResult>.Empty;
111public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ArrayBuilder<TItem> items, Func<TItem, TArg, TResult> map, TArg arg)
116return ImmutableArray<TResult>.Empty;
151public static ImmutableArray<TResult> SelectAsArrayWithIndex<TItem, TArg, TResult>(this ArrayBuilder<TItem> items, Func<TItem, int, TArg, TResult> map, TArg arg)
156return ImmutableArray<TResult>.Empty;
222public static ImmutableArray<T> ToImmutableOrEmptyAndFree<T>(this ArrayBuilder<T>? builder)
224return builder?.ToImmutableAndFree() ?? ImmutableArray<T>.Empty;
src\Compilers\Core\Portable\Collections\ImmutableArrayExtensions.cs (152)
27/// The collection of extension methods for the <see cref="ImmutableArray{T}"/> type
39public static ImmutableArray<T> AsImmutable<T>(this IEnumerable<T> items)
51public static ImmutableArray<T> AsImmutableOrEmpty<T>(this IEnumerable<T>? items)
55return ImmutableArray<T>.Empty;
68public static ImmutableArray<T> AsImmutableOrNull<T>(this IEnumerable<T>? items)
84public static ImmutableArray<T> AsImmutable<T>(this T[] items)
97public static ImmutableArray<T> AsImmutableOrNull<T>(this T[]? items)
113public static ImmutableArray<T> AsImmutableOrEmpty<T>(this T[]? items)
117return ImmutableArray<T>.Empty;
128public static ImmutableArray<byte> ToImmutable(this MemoryStream stream)
141public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ImmutableArray<TItem> items, Func<TItem, TResult> map)
156public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> items, Func<TItem, TArg, TResult> map, TArg arg)
171public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> items, Func<TItem, int, TArg, TResult> map, TArg arg)
176return ImmutableArray<TResult>.Empty;
210public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, TResult> selector)
214return ImmutableArray<TResult>.Empty;
240public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, bool> predicate, Func<TItem, TArg, TResult> selector, TArg arg)
244return ImmutableArray<TResult>.Empty;
267public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, IEnumerable<TResult>> selector)
270return ImmutableArray<TResult>.Empty;
287public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, ImmutableArray<TResult>> selector)
290return ImmutableArray<TResult>.Empty;
307public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, OneOrMany<TResult>> selector)
310return ImmutableArray<TResult>.Empty;
330public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, IEnumerable<TResult>> selector)
333return ImmutableArray<TResult>.Empty;
354public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, ImmutableArray<TResult>> selector)
357return ImmutableArray<TResult>.Empty;
378public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, OneOrMany<TResult>> selector)
381return ImmutableArray<TResult>.Empty;
403public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, bool> predicate, Func<TItem, TArg, OneOrMany<TResult>> selector, TArg arg)
406return ImmutableArray<TResult>.Empty;
421public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
424return ImmutableArray<TResult>.Empty;
439public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
442return ImmutableArray<TResult>.Empty;
454public static ValueTask<ImmutableArray<TResult>> SelectManyAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<ImmutableArray<TResult>>> selector, TArg arg, CancellationToken cancellationToken)
458return new ValueTask<ImmutableArray<TResult>>(ImmutableArray<TResult>.Empty);
468async ValueTask<ImmutableArray<TResult>> CreateTaskAsync()
485public static ImmutableArray<TResult> ZipAsArray<T1, T2, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, Func<T1, T2, TResult> map)
491return ImmutableArray<TResult>.Empty;
516public static ImmutableArray<TResult> ZipAsArray<T1, T2, TArg, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, TArg arg, Func<T1, T2, int, TArg, TResult> map)
521return ImmutableArray<TResult>.Empty;
537public static ImmutableArray<T> WhereAsArray<T>(this ImmutableArray<T> array, Func<T, bool> predicate)
545public static ImmutableArray<T> WhereAsArray<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
548private static ImmutableArray<T> WhereAsArrayImpl<T, TArg>(ImmutableArray<T> array, Func<T, bool>? predicateWithoutArg, Func<T, TArg, bool>? predicateWithArg, TArg arg)
613return ImmutableArray<T>.Empty;
617public static bool Any<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
633public static bool All<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
649public static async Task<bool> AnyAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
665public static async Task<bool> AnyAsync<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, Task<bool>> predicateAsync, TArg arg)
681public static async ValueTask<T?> FirstOrDefaultAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
697public static TValue? FirstOrDefault<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
710public static TValue? Single<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
740public static ImmutableArray<TBase> Cast<TDerived, TBase>(this ImmutableArray<TDerived> items)
743return ImmutableArray<TBase>.CastUp(items);
754public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer)
795public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T> array)
797return array.IsDefault ? ImmutableArray<T>.Empty : array;
803public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T>? array)
806null or { IsDefault: true } => ImmutableArray<T>.Empty,
814public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null)
833var result = (builder.Count == array.Length) ? array : builder.ToImmutable();
840internal static ImmutableArray<T> ConditionallyDeOrder<T>(this ImmutableArray<T> array)
856internal static ImmutableArray<TValue> Flatten<TKey, TValue>(
857this Dictionary<TKey, ImmutableArray<TValue>> dictionary,
863return ImmutableArray<TValue>.Empty;
882internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second)
887internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third)
910internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth)
938internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth)
971internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth, ImmutableArray<T> sixth)
1009internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, T second)
1014internal static ImmutableArray<T> AddRange<T>(this ImmutableArray<T> self, in TemporaryArray<T> items)
1047internal static bool HasDuplicates<T>(this ImmutableArray<T> array)
1083internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer)
1109public static int Count<T>(this ImmutableArray<T> items, Func<T, bool> predicate)
1128public static int Sum<T>(this ImmutableArray<T> items, Func<T, int> selector)
1137public static int Sum<T>(this ImmutableArray<T> items, Func<T, int, int> selector)
1174(Dictionary<TKey, object> dictionary, Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> result)
1185static ImmutableArray<TNamespaceOrTypeSymbol> createMembers(object value)
1196return ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(builder.ToDowncastedImmutableAndFree<TNamedTypeSymbol>());
1203: ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(ImmutableArray.Create((TNamedTypeSymbol)symbol));
1208internal static Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>> GetTypesFromMemberMap<TKey, TNamespaceOrTypeSymbol, TNamedTypeSymbol>
1209(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer)
1220var dictionary = new Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>>(capacity, comparer);
1224var namedTypes = getOrCreateNamedTypes(entry.Value);
1231static ImmutableArray<TNamedTypeSymbol> getOrCreateNamedTypes(ImmutableArray<TNamespaceOrTypeSymbol> members)
1238var membersAsNamedTypes = members.As<TNamedTypeSymbol>();
1251return ImmutableArray<TNamedTypeSymbol>.Empty;
1265internal static bool SequenceEqual<TElement, TArg>(this ImmutableArray<TElement> array1, ImmutableArray<TElement> array2, TArg arg, Func<TElement, TElement, TArg, bool> predicate)
1295internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
1298internal static bool IsSorted<T>(this ImmutableArray<T> array, IComparer<T>? comparer = null)
1314internal static int BinarySearch<TElement, TValue>(this ImmutableArray<TElement> array, TValue value, Func<TElement, TValue, int> comparer)
1373public static bool IsSubsetOf<TElement>(this ImmutableArray<TElement> array, ImmutableArray<TElement> other)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (28)
66public static ImmutableArray<T> ToImmutableArrayOrEmpty<T>(this IEnumerable<T>? items)
73if (items is ImmutableArray<T> array)
88if (items is ImmutableArray<T> array)
354public static ImmutableArray<TResult> SelectAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, TResult> selector)
358return ImmutableArray<TResult>.Empty;
367public static ImmutableArray<TResult> SelectAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, int, TResult> selector)
370return ImmutableArray<TResult>.Empty;
384public static ImmutableArray<TResult> SelectAsArray<TSource, TResult>(this IReadOnlyCollection<TSource>? source, Func<TSource, TResult> selector)
387return ImmutableArray<TResult>.Empty;
400public static ImmutableArray<TResult> SelectAsArray<TSource, TResult, TArg>(this IReadOnlyCollection<TSource>? source, Func<TSource, TArg, TResult> selector, TArg arg)
403return ImmutableArray<TResult>.Empty;
416public static ImmutableArray<TResult> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, IEnumerable<TResult>> selector)
419return ImmutableArray<TResult>.Empty;
428public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IEnumerable<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
431return ImmutableArray<TResult>.Empty;
440public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, IEnumerable<TResult>> selector)
443return ImmutableArray<TResult>.Empty;
453public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
456return ImmutableArray<TResult>.Empty;
466public static ImmutableArray<TResult> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, OneOrMany<TResult>> selector)
469return ImmutableArray<TResult>.Empty;
481public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, ValueTask<TResult>> selector)
496public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
511public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this IEnumerable<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
523public static async ValueTask<ImmutableArray<TResult>> SelectManyAsArrayAsync<TItem, TArg, TResult>(this IEnumerable<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<IEnumerable<TResult>>> selector, TArg arg, CancellationToken cancellationToken)
787internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
790var dictionary = new Dictionary<K, ImmutableArray<T>>(comparer);
794var items = grouping.AsImmutable();
src\Compilers\Core\Portable\InternalUtilities\InterlockedOperations.cs (14)
154public static ImmutableArray<T> Initialize<T>(ref ImmutableArray<T> target, ImmutableArray<T> initializedValue)
157var oldValue = ImmutableInterlocked.InterlockedCompareExchange(ref target, initializedValue, default(ImmutableArray<T>));
170public static ImmutableArray<T> Initialize<T>(ref ImmutableArray<T> target, Func<ImmutableArray<T>> createArray)
183public static ImmutableArray<T> Initialize<T, TArg>(ref ImmutableArray<T> target, Func<TArg, ImmutableArray<T>> createArray, TArg arg)
193private static ImmutableArray<T> Initialize_Slow<T, TArg>(ref ImmutableArray<T> target, Func<TArg, ImmutableArray<T>> createArray, TArg arg)
src\Dependencies\PooledObjects\ArrayBuilder.cs (23)
54private readonly ImmutableArray<T>.Builder _builder;
76public ImmutableArray<T> ToImmutable()
84public ImmutableArray<T> ToImmutableAndClear()
86ImmutableArray<T> result;
89result = ImmutableArray<T>.Empty;
353public ImmutableArray<T> ToImmutableOrNull()
366public ImmutableArray<U> ToDowncastedImmutable<U>()
371return ImmutableArray<U>.Empty;
383public ImmutableArray<U> ToDowncastedImmutableAndFree<U>() where U : T
385var result = ToDowncastedImmutable<U>();
393public ImmutableArray<T> ToImmutableAndFree()
397ImmutableArray<T> result;
400result = ImmutableArray<T>.Empty;
516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
521var dictionary1 = new Dictionary<K, ImmutableArray<T>>(1, comparer);
529return new Dictionary<K, ImmutableArray<T>>(comparer);
548var dictionary = new Dictionary<K, ImmutableArray<T>>(accumulator.Count, comparer);
587public void AddRange(ImmutableArray<T> items)
592public void AddRange(ImmutableArray<T> items, int length)
597public void AddRange(ImmutableArray<T> items, int start, int length)
607public void AddRange<S>(ImmutableArray<S> items) where S : class, T
609AddRange(ImmutableArray<T>.CastUp(items));
706public ImmutableArray<S> SelectDistinct<S>(Func<T, S> selector)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\INamedTypeSymbolExtensions.cs (23)
30public static ImmutableArray<ITypeParameterSymbol> GetAllTypeParameters(this INamedTypeSymbol? symbol)
176public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembers(
194static ImmutableArray<ISymbol> GetImplicitlyImplementableMembers(INamedTypeSymbol type, ISymbol within)
246public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
264public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
267Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
283public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedExplicitMembers(
297private static ImmutableArray<ISymbol> GetExplicitlyImplementableMembers(INamedTypeSymbol type, ISymbol within)
324private static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembers(
329Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
353var typesToImplement = GetTypesToImplement(classOrStructType, interfacesOrAbstractClasses, allowReimplementation, cancellationToken);
358private static ImmutableArray<INamedTypeSymbol> GetTypesToImplement(
369private static ImmutableArray<INamedTypeSymbol> GetAbstractClassesToImplement(
377private static ImmutableArray<INamedTypeSymbol> GetInterfacesToImplement(
401private static ImmutableArray<ISymbol> GetUnimplementedMembers(
406Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
516private static ImmutableArray<ISymbol> GetMembers(INamedTypeSymbol type, ISymbol within)
529public static ImmutableArray<ISymbol> GetOverridableMembers(
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ObjectWriterExtensions.cs (3)
14public static void WriteArray<T>(this ObjectWriter writer, ImmutableArray<T> values, Action<ObjectWriter, T> write)
24public static ImmutableArray<T> ReadArray<T>(this ObjectReader reader, Func<ObjectReader, T> read)
27public static ImmutableArray<T> ReadArray<T, TArg>(this ObjectReader reader, Func<ObjectReader, TArg, T> read, TArg arg)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (17)
72(ImmutableArray<SymbolKindOrTypeKind> kinds, TData data),
73(ImmutableArray<Accessibility> accessibilities, TData data),
74(ImmutableArray<ModifierKind> modifiers, TData data),
108private static (ImmutableArray<SymbolKindOrTypeKind> kinds, TData data) GetSymbolsApplicableKinds<T, TData>(
117var kinds = ParseSymbolKindList(symbolSpecApplicableKinds ?? string.Empty);
138private static readonly ImmutableArray<SymbolKindOrTypeKind> _all =
141private static ImmutableArray<SymbolKindOrTypeKind> ParseSymbolKindList(string symbolSpecApplicableKinds)
208private static (ImmutableArray<Accessibility> accessibilities, TData data) GetSymbolsApplicableAccessibilities<T, TData>(
223private static readonly ImmutableArray<Accessibility> s_allAccessibility =
234private static ImmutableArray<Accessibility> ParseAccessibilityKindList(string symbolSpecApplicableAccessibilities)
282private static (ImmutableArray<ModifierKind> modifiers, TData data) GetSymbolsRequiredModifiers<T, TData>(
294return (ImmutableArray<ModifierKind>.Empty, defaultValue());
302private static readonly ImmutableArray<ModifierKind> _allModifierKind = [s_abstractModifierKind, s_asyncModifierKind, s_constModifierKind, s_readonlyModifierKind, s_staticModifierKind];
304private static ImmutableArray<ModifierKind> ParseModifiers(string symbolSpecRequiredModifiers)
346public static string ToEditorConfigString(this ImmutableArray<SymbolKindOrTypeKind> symbols)
444public static string ToEditorConfigString(this ImmutableArray<Accessibility> accessibilities, string languageName)
503public static string ToEditorConfigString(this ImmutableArray<ModifierKind> modifiers, string languageName)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\NamingStylePreferencesEditorConfigSerializer.cs (9)
30ImmutableArray<SymbolSpecification> symbolSpecifications,
31ImmutableArray<NamingStyle> namingStyles,
32ImmutableArray<SerializableNamingRule> serializableNamingRules,
47ImmutableArray<SymbolSpecification> symbolSpecifications,
48ImmutableArray<NamingStyle> namingStyles,
49ImmutableArray<SerializableNamingRule> rules,
120ImmutableArray<SymbolSpecification> symbolSpecifications,
121ImmutableArray<NamingStyle> namingStyles)
171private static ImmutableDictionary<SerializableNamingRule, string> AssignNamesToNamingStyleRules(ImmutableArray<SerializableNamingRule> namingRules, ImmutableDictionary<Guid, string> serializedNameMap)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (10)
114SemanticModel model, TForEachStatementSyntax forEach, out IMethodSymbol getEnumeratorMethod, out ITypeSymbol elementType, out ImmutableArray<ILocalSymbol> localVariables);
122protected abstract ImmutableArray<TArgumentSyntax> GetArguments(TExpressionSyntax expression);
780GetForEachSymbols(this.OriginalSemanticModel, forEachStatement, out var originalGetEnumerator, out var originalElementType, out var originalLocalVariables);
781GetForEachSymbols(this.SpeculativeSemanticModel, newForEachStatement, out var newGetEnumerator, out var newElementType, out var newLocalVariables);
1068var specifiedArguments = GetArguments(originalInvocation);
1071var symbolParameters = originalSymbol.GetParameters();
1072var newSymbolParameters = newSymbol.GetParameters();
1081ImmutableArray<TArgumentSyntax> specifiedArguments,
1082ImmutableArray<IParameterSymbol> signature1Parameters,
1083ImmutableArray<IParameterSymbol> signature2Parameters)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
119public static void MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableArray<TValue>> dictionary, TKey key, TValue value)
123if (!dictionary.TryGetValue(key, out var existingArray))
131public static void MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableArray<TValue>> dictionary, TKey key, TValue value, ImmutableArray<TValue> defaultArray)
135if (!dictionary.TryGetValue(key, out var existingArray))
212public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableArray<TValue>> dictionary, TKey key, TValue value)
215if (dictionary.TryGetValue(key, out var collection))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ProducerConsumer.cs (6)
42Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
66Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
144Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
158Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
208public static Task<ImmutableArray<TItem>> RunParallelAsync<TSource, TArgs>(
221public static async Task<ImmutableArray<TItem>> RunParallelAsync<TSource, TArgs>(
src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.cs (6)
33protected abstract bool TryInitializeImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
34protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
35protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
36protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
78public async Task<ImmutableArray<CodeAction>> GenerateConstructorAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
170private ImmutableArray<ParameterName> GenerateParameterNames(
src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (24)
43private ImmutableArray<Argument<TExpressionSyntax>> _arguments;
48private ImmutableArray<RefKind> _parameterRefKinds;
49public ImmutableArray<ITypeSymbol> ParameterTypes;
56private ImmutableArray<IParameterSymbol> _parameters;
135var parameterNames = GetParameterNames(_arguments, typeParametersNames, cancellationToken);
142private ImmutableArray<ParameterName> GetParameterNames(
143ImmutableArray<Argument<TExpressionSyntax>> arguments, ImmutableArray<string> typeParametersNames, CancellationToken cancellationToken)
152var parameters = ParameterTypes.Zip(_parameterRefKinds,
166var remainingArguments = _arguments.Skip(argumentCount).ToImmutableArray();
167var remainingParameterNames = _service.GenerateParameterNames(
178var remainingParameterTypes = ParameterTypes.Skip(argumentCount).ToImmutableArray();
189ImmutableArray<IParameterSymbol> allParameters,
190ImmutableArray<TExpressionSyntax?> allExpressions,
210ImmutableArray<IParameterSymbol> parameters,
211ImmutableArray<TExpressionSyntax?> expressions,
212ImmutableArray<IMethodSymbol> constructors,
284internal ImmutableArray<ITypeSymbol> GetParameterTypes(CancellationToken cancellationToken)
306out var token, out var arguments, out var typeToGenerateIn))
324out var token, out var arguments, out var typeToGenerateIn))
343out var token, out var arguments, out var typeToGenerateIn))
438var delegatingArguments = this.GetRequiredLanguageService<SyntaxGenerator>(TypeToGenerateIn.Language).CreateArguments(_delegatedConstructor.Parameters);
464private async Task<(ImmutableArray<ISymbol>, ImmutableArray<SyntaxNode>)> GenerateMembersAndAssignmentsAsync(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (72)
34ImmutableArray<AttributeData> attributes, Accessibility accessibility,
36ImmutableArray<IEventSymbol> explicitInterfaceImplementations,
49ImmutableArray<AttributeData> attributes,
54ImmutableArray<IPropertySymbol> explicitInterfaceImplementations,
56ImmutableArray<IParameterSymbol> parameters,
83ImmutableArray<AttributeData> attributes, Accessibility accessibility, DeclarationModifiers modifiers,
84ITypeSymbol type, RefKind refKind, ImmutableArray<IPropertySymbol> explicitInterfaceImplementations, string name,
85ImmutableArray<IParameterSymbol> parameters, IMethodSymbol? getMethod, IMethodSymbol? setMethod,
108ImmutableArray<AttributeData> attributes,
125ImmutableArray<AttributeData> attributes,
129ImmutableArray<IParameterSymbol> parameters,
130ImmutableArray<SyntaxNode> statements = default,
131ImmutableArray<SyntaxNode> baseConstructorArguments = default,
132ImmutableArray<SyntaxNode> thisConstructorArguments = default,
144ImmutableArray<AttributeData> attributes, string typeName,
145ImmutableArray<SyntaxNode> statements = default)
154ImmutableArray<AttributeData> attributes,
159ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
161ImmutableArray<ITypeParameterSymbol> typeParameters,
162ImmutableArray<IParameterSymbol> parameters,
163ImmutableArray<SyntaxNode> statements = default,
164ImmutableArray<SyntaxNode> handlesExpressions = default,
165ImmutableArray<AttributeData> returnTypeAttributes = default,
178ImmutableArray<AttributeData> attributes, Accessibility accessibility, DeclarationModifiers modifiers,
181ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
182string name, ImmutableArray<ITypeParameterSymbol> typeParameters,
183ImmutableArray<IParameterSymbol> parameters,
184ImmutableArray<SyntaxNode> statements = default,
185ImmutableArray<SyntaxNode> handlesExpressions = default,
186ImmutableArray<AttributeData> returnTypeAttributes = default,
197ImmutableArray<AttributeData> attributes,
202ImmutableArray<IParameterSymbol> parameters,
203ImmutableArray<SyntaxNode> statements = default,
204ImmutableArray<AttributeData> returnTypeAttributes = default,
229ImmutableArray<SyntaxNode> statements = default,
230ImmutableArray<AttributeData> toTypeAttributes = default,
250ImmutableArray<AttributeData> attributes,
257ImmutableArray<SyntaxNode> statements = default,
258ImmutableArray<AttributeData> toTypeAttributes = default,
282ImmutableArray<AttributeData> attributes, RefKind refKind, bool isParams, ITypeSymbol type, string name, bool isOptional = false, bool hasDefaultValue = false, object? defaultValue = null)
292ImmutableArray<AttributeData>? attributes = null,
334ImmutableArray<AttributeData> attributes,
336ImmutableArray<ITypeSymbol> constraintTypes,
363ImmutableArray<AttributeData> attributes = default,
365ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
366ImmutableArray<SyntaxNode> statements = default)
388ImmutableArray<AttributeData> attributes,
390ImmutableArray<SyntaxNode> statements)
410ImmutableArray<TypedConstant> constructorArguments = default,
411ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments = default)
420ImmutableArray<AttributeData> attributes,
424ImmutableArray<ITypeParameterSymbol> typeParameters = default,
426ImmutableArray<INamedTypeSymbol> interfaces = default,
428ImmutableArray<ISymbol> members = default,
439ImmutableArray<AttributeData> attributes,
443ImmutableArray<ITypeParameterSymbol> typeParameters = default,
445ImmutableArray<INamedTypeSymbol> interfaces = default,
447ImmutableArray<ISymbol> members = default,
465ImmutableArray<AttributeData> attributes,
471ImmutableArray<ITypeParameterSymbol> typeParameters = default,
472ImmutableArray<IParameterSymbol> parameters = default,
517ImmutableArray<AttributeData> attributes = default,
520ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
522ImmutableArray<IParameterSymbol>? parameters = null,
523ImmutableArray<SyntaxNode> statements = default,
526Optional<ImmutableArray<AttributeData>> returnTypeAttributes = default)
547ImmutableArray<AttributeData> attributes = default,
548ImmutableArray<IParameterSymbol>? parameters = null,
551ImmutableArray<IPropertySymbol> explicitInterfaceImplementations = default,
575ImmutableArray<AttributeData> attributes = default,
578ImmutableArray<IEventSymbol> explicitInterfaceImplementations = default,
596ImmutableArray<AttributeData> attributes = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (9)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken)
18public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, int position, CancellationToken cancellationToken)
21public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, int position, CancellationToken cancellationToken)
24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken)
33var types = typeInferenceService.InferTypes(semanticModel, expression, cancellationToken);
43var types = typeInferenceService.InferTypes(semanticModel, position, cancellationToken);
47private static INamedTypeSymbol? GetFirstDelegateType(SemanticModel semanticModel, ImmutableArray<ITypeSymbol> types)
73var types = typeInferenceService.InferTypes(semanticModel, expression, name, cancellationToken);
103var types = typeInferenceService.InferTypes(semanticModel, position, name, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (4)
29ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string nameOpt, CancellationToken cancellationToken);
30ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, int position, string nameOpt, CancellationToken cancellationToken);
32ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, int position, string nameOpt, CancellationToken cancellationToken);
33ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string nameOpt, CancellationToken cancellationToken);
Binder\Binder.ValueChecks.cs (86)
405var argsToParams = indexerAccess.ArgsToParamsOpt;
409var parameters = accessorForDefaultArguments.Parameters;
418ImmutableArray<string?> argumentNamesOpt = indexerAccess.ArgumentNamesOpt;
630(object)otherSymbol == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(otherSymbol),
631receiver == null ? ImmutableArray<BoundExpression>.Empty : ImmutableArray.Create(receiver),
954bool checkArrayAccessValueKind(SyntaxNode node, BindValueKind valueKind, ImmutableArray<BoundExpression> indices, BindingDiagnosticBag diagnostics)
1961ImmutableArray<ParameterSymbol> parameters,
1962ImmutableArray<BoundExpression> argsOpt,
1963ImmutableArray<RefKind> argRefKindsOpt,
1964ImmutableArray<int> argsToParamsOpt,
2050ImmutableArray<ParameterSymbol> parameters,
2051ImmutableArray<BoundExpression> argsOpt,
2052ImmutableArray<RefKind> argRefKindsOpt,
2053ImmutableArray<int> argsToParamsOpt,
2115ImmutableArray<ParameterSymbol> parameters,
2116ImmutableArray<BoundExpression> argsOpt,
2117ImmutableArray<RefKind> argRefKindsOpt,
2118ImmutableArray<int> argsToParamsOpt,
2208ImmutableArray<ParameterSymbol> parameters,
2209ImmutableArray<BoundExpression> argsOpt,
2210ImmutableArray<RefKind> argRefKindsOpt,
2211ImmutableArray<int> argsToParamsOpt,
2281ImmutableArray<ParameterSymbol> parameters,
2282ImmutableArray<BoundExpression> argsOpt,
2283ImmutableArray<RefKind> argRefKindsOpt,
2284ImmutableArray<int> argsToParamsOpt,
2429ImmutableArray<BoundExpression> argsOpt,
2430ImmutableArray<RefKind> argRefKindsOpt,
2458ImmutableArray<ParameterSymbol> parameters,
2459ImmutableArray<BoundExpression> argsOpt,
2460ImmutableArray<RefKind> argRefKindsOpt,
2461ImmutableArray<int> argsToParamsOpt,
2528ImmutableArray<ParameterSymbol> parameters,
2529ImmutableArray<BoundExpression> argsOpt,
2530ImmutableArray<RefKind> argRefKindsOpt,
2531ImmutableArray<int> argsToParamsOpt,
2583ImmutableArray<ParameterSymbol> parameters,
2584ImmutableArray<BoundExpression> argsOpt,
2585ImmutableArray<RefKind> argRefKindsOpt,
2586ImmutableArray<int> argsToParamsOpt,
2659ImmutableArray<ParameterSymbol> parameters,
2660ImmutableArray<BoundExpression> argsOpt,
2661ImmutableArray<RefKind> argRefKindsOpt,
2662ImmutableArray<int> argsToParamsOpt,
2773ImmutableArray<ParameterSymbol> parameters,
2774ImmutableArray<BoundExpression> argsOpt,
2775ImmutableArray<RefKind> argRefKindsOpt,
2776ImmutableArray<int> argsToParamsOpt,
2873ImmutableArray<ParameterSymbol> parameters,
2874ImmutableArray<BoundExpression> argsOpt,
2875ImmutableArray<RefKind> argRefKindsOpt,
2876ImmutableArray<int> argsToParamsOpt,
2956ImmutableArray<BoundExpression> argsOpt,
2957ImmutableArray<ParameterSymbol> parameters,
2958ImmutableArray<int> argsToParamsOpt)
3022public override ImmutableArray<Location> Locations
3537ImmutableArray<BoundExpression> arguments;
3538ImmutableArray<RefKind> refKinds;
3858ImmutableArray<BoundExpression> arguments;
3859ImmutableArray<RefKind> refKinds;
4225ImmutableArray<BoundExpression> arguments;
4226ImmutableArray<RefKind> refKinds;
4338ImmutableArray<BoundExpression> arguments;
4339ImmutableArray<RefKind> refKinds;
4563private SafeContext GetTupleValEscape(ImmutableArray<BoundExpression> elements, SafeContext localScopeDepth)
4693private SafeContext GetValEscape(ImmutableArray<BoundExpression> expressions, SafeContext localScopeDepth)
4964ImmutableArray<BoundExpression> arguments;
4965ImmutableArray<RefKind> refKinds;
5118ImmutableArray<BoundExpression> arguments;
5119ImmutableArray<RefKind> refKinds;
5439private SignatureOnlyMethodSymbol GetInlineArrayAccessEquivalentSignatureMethod(BoundInlineArrayAccess elementAccess, out ImmutableArray<BoundExpression> arguments, out ImmutableArray<RefKind> refKinds)
5480ImmutableArray<TypeParameterSymbol>.Empty,
5483ImmutableArray<CustomModifier>.Empty,
5492ImmutableArray<CustomModifier>.Empty,
5493ImmutableArray<MethodSymbol>.Empty);
5501private SignatureOnlyMethodSymbol GetInlineArrayConversionEquivalentSignatureMethod(BoundConversion conversion, out ImmutableArray<BoundExpression> arguments, out ImmutableArray<RefKind> refKinds)
5507private SignatureOnlyMethodSymbol GetInlineArrayConversionEquivalentSignatureMethod(BoundExpression inlineArray, TypeSymbol resultType, out ImmutableArray<BoundExpression> arguments, out ImmutableArray<RefKind> refKinds)
5520ImmutableArray<TypeParameterSymbol>.Empty,
5523ImmutableArray<CustomModifier>.Empty,
5532ImmutableArray<CustomModifier>.Empty,
5533ImmutableArray<MethodSymbol>.Empty);
5541private bool CheckTupleValEscape(ImmutableArray<BoundExpression> elements, SafeContext escapeFrom, SafeContext escapeTo, BindingDiagnosticBag diagnostics)
5572private bool CheckValEscape(ImmutableArray<BoundExpression> expressions, SafeContext escapeFrom, SafeContext escapeTo, BindingDiagnosticBag diagnostics)
Binder\Binder.WithQueryLambdaParametersBinder.cs (2)
42ImmutableArray<string> path;
99var result = BindMemberOfType(node, node, name, 0, indexed: false, receiver, default(SeparatedSyntaxList<TypeSyntax>), default(ImmutableArray<TypeWithAnnotations>), lookupResult, BoundMethodGroupFlags.None, diagnostics);
Binder\Binder_Attributes.cs (37)
30ImmutableArray<Binder> binders, ImmutableArray<AttributeSyntax> attributesToBind, Symbol ownerSymbol, NamedTypeSymbol[] boundAttributeTypes,
72ImmutableArray<Binder> binders,
73ImmutableArray<AttributeSyntax> attributesToBind,
74ImmutableArray<NamedTypeSymbol> boundAttributeTypes,
184ImmutableArray<int> argsToParamsOpt;
188ImmutableArray<BoundExpression> boundConstructorArguments;
206out var candidateConstructors,
259ImmutableArray<string?> boundConstructorArgumentNamesOpt = analyzedArguments.ConstructorArguments.GetNames();
264ImmutableArray<BoundAssignmentOperator> boundNamedArguments = analyzedArguments.NamedArguments?.ToImmutableAndFree() ?? ImmutableArray<BoundAssignmentOperator>.Empty;
304var arguments = boundAttribute.ConstructorArguments;
305var constructorArgsArray = visitor.VisitArguments(arguments, diagnostics, ref hasErrors);
306var namedArguments = visitor.VisitNamedArguments(boundAttribute.NamedArguments, diagnostics, ref hasErrors);
310ImmutableArray<int> argsToParamsOpt = boundAttribute.ConstructorArgumentsToParamsOpt;
311ImmutableArray<TypedConstant> rewrittenArguments;
344ImmutableArray<int> makeSourceIndices()
396private void ValidateTypeForAttributeParameters(ImmutableArray<ParameterSymbol> parameters, CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics, ref bool hasErrors)
425ImmutableArray<string> conditionalSymbols = attributeType.GetAppliedConditionalSymbols();
696private ImmutableArray<TypedConstant> GetRewrittenAttributeConstructorArguments(
698ImmutableArray<TypedConstant> constructorArgsArray,
700ImmutableArray<int> argumentsToParams,
710ImmutableArray<ParameterSymbol> parameters = attributeConstructor.Parameters;
761public ImmutableArray<TypedConstant> VisitArguments(ImmutableArray<BoundExpression> arguments, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool parentHasErrors = false)
763var validatedArguments = ImmutableArray<TypedConstant>.Empty;
782public ImmutableArray<KeyValuePair<string, TypedConstant>> VisitNamedArguments(ImmutableArray<BoundAssignmentOperator> arguments, BindingDiagnosticBag diagnostics, ref bool attrHasErrors)
802return ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty;
878var elements = collection.Elements;
973ImmutableArray<BoundExpression> bounds = node.Bounds;
984ImmutableArray<TypedConstant> initializer;
989initializer = ImmutableArray<TypedConstant>.Empty;
995initializer = ImmutableArray<TypedConstant>.Empty;
1013object? simpleValue = null, ImmutableArray<TypedConstant> arrayValue = default(ImmutableArray<TypedConstant>))
Binder\Binder_Await.cs (3)
333getAwaiterCall = MakeInvocationExpression(node, expression, WellKnownMemberNames.GetAwaiter, ImmutableArray<BoundExpression>.Empty, diagnostics);
372var qualified = BindInstanceMemberAccess(node, node, receiver, name, 0, default(SeparatedSyntaxList<TypeSyntax>), default(ImmutableArray<TypeWithAnnotations>), invoked: false, indexed: false, diagnostics);
438getAwaiterGetResultCall = MakeInvocationExpression(node, awaiterExpression, WellKnownMemberNames.GetResult, ImmutableArray<BoundExpression>.Empty, diagnostics);
Binder\Binder_Crefs.cs (46)
18internal ImmutableArray<Symbol> BindCref(CrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
20ImmutableArray<Symbol> symbols = BindCrefInternal(syntax, out ambiguityWinner, diagnostics);
26private ImmutableArray<Symbol> BindCrefInternal(CrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
44private ImmutableArray<Symbol> BindTypeCref(TypeCrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
63private ImmutableArray<Symbol> BindQualifiedCref(QualifiedCrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
99private ImmutableArray<Symbol> BindMemberCref(MemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
110return ImmutableArray<Symbol>.Empty;
113ImmutableArray<Symbol> result;
142private ImmutableArray<Symbol> BindNameMemberCref(NameMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
172return ImmutableArray<Symbol>.Empty;
175ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText, arity, syntax.Parameters != null, diagnostics);
180return ImmutableArray<Symbol>.Empty;
193private ImmutableArray<Symbol> BindIndexerMemberCref(IndexerMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
197ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, WellKnownMemberNames.Indexer, memberNameText: WellKnownMemberNames.Indexer, arity, syntax.Parameters != null, diagnostics);
202return ImmutableArray<Symbol>.Empty;
221private ImmutableArray<Symbol> BindOperatorMemberCref(OperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
242return ImmutableArray<Symbol>.Empty;
245ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText: memberName, arity, syntax.Parameters != null, diagnostics);
250return ImmutableArray<Symbol>.Empty;
264private ImmutableArray<Symbol> BindConversionOperatorMemberCref(ConversionOperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
277return ImmutableArray<Symbol>.Empty;
291ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText: memberName, arity, syntax.Parameters != null, diagnostics);
296return ImmutableArray<Symbol>.Empty;
308return ImmutableArray<Symbol>.Empty;
329private ImmutableArray<Symbol> ComputeSortedCrefMembers(CSharpSyntaxNode syntax, NamespaceOrTypeSymbol? containerOpt, string memberName, string memberNameText, int arity, bool hasParameterList, BindingDiagnosticBag diagnostics)
332var result = ComputeSortedCrefMembers(containerOpt, memberName, memberNameText, arity, hasParameterList, syntax, diagnostics, ref useSiteInfo);
337private ImmutableArray<Symbol> ComputeSortedCrefMembers(NamespaceOrTypeSymbol? containerOpt, string memberName, string memberNameText, int arity, bool hasParameterList, CSharpSyntaxNode syntax,
442ImmutableArray<MethodSymbol> instanceConstructors = constructorType.InstanceConstructors;
447return ImmutableArray<Symbol>.Empty;
455return ImmutableArray<Symbol>.Empty;
476private ImmutableArray<Symbol> ProcessCrefMemberLookupResults(
477ImmutableArray<Symbol> symbols,
495ImmutableArray<ParameterSymbol> parameterSymbols = BindCrefParameters(parameterListSyntax, diagnostics);
496ImmutableArray<Symbol> results = PerformCrefOverloadResolution(candidates, parameterSymbols, arity, memberSyntax, out ambiguityWinner, diagnostics);
627private ImmutableArray<Symbol> ProcessParameterlessCrefMemberLookupResults(
628ImmutableArray<Symbol> symbols,
732private void GetCrefOverloadResolutionCandidates(ImmutableArray<Symbol> symbols, int arity, TypeArgumentListSyntax? typeArgumentListSyntax, ArrayBuilder<Symbol> candidates)
758private static ImmutableArray<Symbol> PerformCrefOverloadResolution(ArrayBuilder<Symbol> candidates, ImmutableArray<ParameterSymbol> parameterSymbols, int arity, MemberCrefSyntax memberSyntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics)
798refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
799explicitInterfaceImplementations: ImmutableArray<MethodSymbol>.Empty);
813refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
815explicitInterfaceImplementations: ImmutableArray<PropertySymbol>.Empty);
861return ImmutableArray<Symbol>.Empty;
929private ImmutableArray<ParameterSymbol> BindCrefParameters(BaseCrefParameterListSyntax parameterListSyntax, BindingDiagnosticBag diagnostics)
945parameterBuilder.Add(new SignatureOnlyParameterSymbol(TypeWithAnnotations.Create(type), ImmutableArray<CustomModifier>.Empty, isParamsArray: false, isParamsCollection: false, refKind: refKind));
Binder\Binder_Deconstruct.cs (13)
251ImmutableArray<TypeSymbol> tupleOrDeconstructedTypes;
278inputPlaceholder, rightSyntax, diagnostics, outPlaceholders: out ImmutableArray<BoundDeconstructValuePlaceholder> outPlaceholders, out _, variables);
349private void SetInferredTypes(ArrayBuilder<DeconstructionVariable> variables, ImmutableArray<TypeSymbol> foundTypes, BindingDiagnosticBag diagnostics)
536elementNames: default(ImmutableArray<string?>),
541errorPositions: default(ImmutableArray<bool>),
572ImmutableArray<BoundExpression> arguments = valuesBuilder.ToImmutableAndFree();
578ImmutableArray<string?> tupleNames = namesBuilder is null ? default : namesBuilder.ToImmutableAndFree();
579ImmutableArray<bool> inferredPositions = tupleNames.IsDefault ? default : tupleNames.SelectAsArray(n => n != null);
616out ImmutableArray<BoundDeconstructValuePlaceholder> outPlaceholders,
625outPlaceholders = default(ImmutableArray<BoundDeconstructValuePlaceholder>);
655typeArgumentsWithAnnotations: default(ImmutableArray<TypeWithAnnotations>),
684var parameters = deconstructMethod.Parameters;
715out ImmutableArray<BoundDeconstructValuePlaceholder> outPlaceholders, BoundExpression childNode)
Binder\Binder_Expressions.cs (159)
108return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty);
116return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childNode);
122private BoundBadExpression BadExpression(SyntaxNode syntax, ImmutableArray<BoundExpression> childNodes)
124return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childNodes);
132return BadExpression(syntax, lookupResultKind, ImmutableArray<Symbol>.Empty);
140return BadExpression(syntax, lookupResultKind, ImmutableArray<Symbol>.Empty, childNode);
146private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols)
151ImmutableArray<BoundExpression>.Empty,
159private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, BoundExpression childNode)
172private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, ImmutableArray<BoundExpression> childNodes, bool wasCompilerGenerated = false)
854node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(BindToTypeForErrorRecovery(BindValue(node.Expression, BindingDiagnosticBag.Discarded, BindValueKind.RefersToLocation))),
966ImmutableArray<BoundExpression> subExpressions = builder.ToImmutableAndFree();
972ImmutableArray<string> tupleNames = namesBuilder is null ? default : namesBuilder.ToImmutableAndFree();
973ImmutableArray<bool> inferredPositions = tupleNames.IsDefault ? default : tupleNames.SelectAsArray(n => n != null);
1007ImmutableArray<BoundExpression>.Empty;
1041argumentSyntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty,
1057var elements = elementTypesWithAnnotations.ToImmutableAndFree();
1058var locations = elementLocations.ToImmutableAndFree();
1066includeNullability: false, errorPositions: disallowInferredNames ? inferredPositions : default(ImmutableArray<bool>));
1078private static (ImmutableArray<string> elementNamesArray, ImmutableArray<bool> inferredArray, bool hasErrors) ExtractTupleElementNames(
1122private static (ImmutableArray<string> names, ImmutableArray<bool> inferred) MergeTupleElementNames(
1129return (default(ImmutableArray<string>), default(ImmutableArray<bool>));
1133var finalNames = inferredElementNames.ToImmutable();
1140return (elementNames.ToImmutable(), default(ImmutableArray<bool>));
1590var typeArgumentsWithAnnotations = hasTypeArguments ?
1592default(ImmutableArray<TypeWithAnnotations>);
2758ImmutableArray<MethodSymbol> originalUserDefinedConversions = conversion.OriginalUserDefinedConversions;
2789var targetElementTypesWithAnnotations = default(ImmutableArray<TypeWithAnnotations>);
2848ImmutableArray<BoundExpression> tupleArguments,
2849ImmutableArray<TypeWithAnnotations> targetElementTypesWithAnnotations)
3262foreach (Symbol member in ContainingType?.GetMembers(identifier) ?? ImmutableArray<Symbol>.Empty)
3382out ImmutableArray<int> argsToParamsOpt)
3392var parameters = methodResult.LeastOverriddenMember.GetParameters();
3505ImmutableArray<ParameterSymbol> parameters,
3561ImmutableArray<ParameterSymbol> parameters,
3594ImmutableArray<ParameterSymbol> parameters,
3598ref ImmutableArray<int> argsToParamsOpt,
3623ImmutableArray<BoundExpression> collectionArgs = paramsArgsBuilder.ToImmutableAndFree();
3677static ParameterSymbol getCorrespondingParameter(in MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, int arg)
3687ImmutableArray<ParameterSymbol> parameters,
3699var handlerParameterIndexes = correspondingParameter.InterpolatedStringHandlerArgumentIndexes;
3752ImmutableArray<int> handlerArgumentIndexes;
4028ImmutableArray<BoundExpression> arraySizes = sizes.ToImmutableAndFree();
4068ImmutableArray<BoundExpression> boundInitializerExpressions = BindArrayInitializerExpressions(initializer, diagnostics, dimension: 1, rank: rank);
4089sizes: ImmutableArray<BoundExpression>.Empty, boundInitExprOpt: boundInitializerExpressions);
4095ImmutableArray<BoundExpression> boundInitializerExpressions = BindArrayInitializerExpressions(initializer, diagnostics, dimension: 1, rank: 1);
4127private ImmutableArray<BoundExpression> BindArrayInitializerExpressions(InitializerExpressionSyntax initializer, BindingDiagnosticBag diagnostics, int dimension, int rank)
4215ImmutableArray<BoundExpression> boundInitExpr,
4296ImmutableArray<BoundExpression> boundInitExprOpt = default(ImmutableArray<BoundExpression>))
4363ImmutableArray<BoundExpression> sizes,
4364ImmutableArray<BoundExpression> boundInitExprOpt = default(ImmutableArray<BoundExpression>),
4454ImmutableArray<Symbol>.Empty,
4455ImmutableArray<BoundExpression>.Empty,
4493ImmutableArray<Symbol>.Empty,
4612ImmutableArray<BoundExpression> boundInitExprOpt = default)
4825symbols: ImmutableArray<Symbol>.Empty,
4836symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType
4879symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType
4885ImmutableArray<MethodSymbol> candidateConstructors;
4919ImmutableArray<MethodSymbol> candidateConstructors,
4925ImmutableArray<int> argsToParamsOpt;
5011var arguments = analyzedArguments.Arguments.ToImmutable();
5012var refKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
5047typeArgumentsWithAnnotations: ImmutableArray<TypeWithAnnotations>.Empty,
5200return new BoundBadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType());
5455var childNodes = BuildArgumentsForErrorRecovery(analyzedArguments);
5860ImmutableArray<BoundExpression> arguments = ImmutableArray<BoundExpression>.Empty;
5861ImmutableArray<string> argumentNamesOpt = default;
5862ImmutableArray<int> argsToParamsOpt = default;
5863ImmutableArray<RefKind> argumentRefKindsOpt = default;
5916var handlerPlaceholders = operand.GetInterpolatedStringHandlerData().ArgumentPlaceholders;
6095ImmutableArray<BoundExpression> initializers,
6361ImmutableArray<BoundExpression> boundElementInitializerExpressions,
6389return BadExpression(elementInitializer, LookupResultKind.NotInvocable, ImmutableArray<Symbol>.Empty, boundElementInitializerExpressions);
6413ImmutableArray<BoundExpression> boundElementInitializerExpressions,
6429applicableMethods: ImmutableArray<MethodSymbol>.Empty,
6553internal ImmutableArray<MethodSymbol> FilterInaccessibleConstructors(ImmutableArray<MethodSymbol> constructors, bool allowProtectedConstructorsOfBaseType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
6649ImmutableArray<MethodSymbol> accessibleConstructors = GetAccessibleConstructorsForOverloadResolution(type, ref useSiteInfo);
6654var finalApplicableCandidates = GetCandidatesPassingFinalValidation(node, overloadResolutionResult, receiverOpt: null, default(ImmutableArray<TypeWithAnnotations>), invokedAsExtensionMethod: false, diagnostics);
6662var argArray = BuildArgumentsForDynamicInvocation(analyzedArguments, diagnostics);
6663var refKindsArray = analyzedArguments.RefKinds.ToImmutableOrNull();
6699out ImmutableArray<MethodSymbol> candidateConstructors,
6719ImmutableArray<MethodSymbol> candidateConstructors,
6734ImmutableArray<int> argToParams;
6770var arguments = analyzedArguments.Arguments.ToImmutable();
6771var refKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
6803ImmutableArray<MethodSymbol> candidateConstructors,
7013var children = BuildArgumentsForErrorRecovery(analyzedArguments);
7020return new BoundBadExpression(node, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol>.Empty, children, interfaceType);
7103out ImmutableArray<MethodSymbol> candidateConstructors,
7109ImmutableArray<MethodSymbol> allInstanceConstructors;
7223private ImmutableArray<MethodSymbol> GetAccessibleConstructorsForOverloadResolution(NamedTypeSymbol type, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
7225ImmutableArray<MethodSymbol> allInstanceConstructors;
7229private ImmutableArray<MethodSymbol> GetAccessibleConstructorsForOverloadResolution(NamedTypeSymbol type, bool allowProtectedConstructorsOfBaseType, out ImmutableArray<MethodSymbol> allInstanceConstructors, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
7542ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations = rightHasTypeArguments ?
7544default(ImmutableArray<TypeWithAnnotations>);
7662var typeArguments = typeArgumentsSyntax.Count > 0 ? BindTypeArguments(typeArgumentsSyntax, diagnostics) : default(ImmutableArray<TypeWithAnnotations>);
7758ImmutableArray<TypeWithAnnotations> typeArguments,
7832ImmutableArray<TypeWithAnnotations> typeArguments,
7928ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
7980lookupResult.Symbols.All(s => s.Kind == SymbolKind.Method) ? lookupResult.Symbols.SelectAsArray(s_toMethodSymbolFunc) : ImmutableArray<MethodSymbol>.Empty,
8050ReportQueryLookupFailed(node, boundLeft, plainName, ImmutableArray<Symbol>.Empty, diagnostics);
8124ImmutableArray<Symbol> symbols,
8135var methods = builder.ToImmutableAndFree();
8144default(ImmutableArray<TypeWithAnnotations>),
8160(object)symbolOpt == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(symbolOpt),
8161boundLeft == null ? ImmutableArray<BoundExpression>.Empty : ImmutableArray.Create(BindToTypeForErrorRecovery(boundLeft)),
8226ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
8302boundDimensionsOpt: ImmutableArray<BoundExpression>.Empty,
8342ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
8463ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
9267var childBoundNodes = BuildArgumentsForErrorRecovery(analyzedArguments).Add(expr);
9268return new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes, CreateErrorType(), hasErrors: true);
9289return BindDynamicIndexer(node, expr, arguments, ImmutableArray<PropertySymbol>.Empty, diagnostics);
9373var argumentPlaceholders = ImmutableArray.Create(new BoundImplicitIndexerValuePlaceholder(convertedArguments[0].Syntax, int32) { WasCompilerGenerated = true });
9381indexerOrSliceAccess: new BoundArrayAccess(node, receiverPlaceholder, ImmutableArray<BoundExpression>.CastUp(argumentPlaceholders), resultType) { WasCompilerGenerated = true },
9654var properties = propertyGroup.Properties;
9666ImmutableArray<BoundExpression>.Empty,
9667default(ImmutableArray<string>),
9668default(ImmutableArray<RefKind>),
9679private BoundExpression BindIndexedPropertyAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<PropertySymbol> propertyGroup, AnalyzedArguments arguments, BindingDiagnosticBag diagnostics)
9696ImmutableArray<PropertySymbol> applicableProperties,
9720var argArray = BuildArgumentsForDynamicInvocation(arguments, diagnostics);
9721var refKindsArray = arguments.RefKinds.ToImmutableOrNull();
9761var finalApplicableCandidates = GetCandidatesPassingFinalValidation(syntax, overloadResolutionResult, receiver, default(ImmutableArray<TypeWithAnnotations>), invokedAsExtensionMethod: false, diagnostics);
9785ImmutableArray<string> argumentNames = analyzedArguments.GetNames();
9786ImmutableArray<RefKind> argumentRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
9792ImmutableArray<PropertySymbol> candidates = propertyGroup.ToImmutable();
9823ImmutableArray<BoundExpression> arguments = BuildArgumentsForErrorRecovery(analyzedArguments, candidates);
9850ImmutableArray<int> argsToParams;
9858var arguments = analyzedArguments.Arguments.ToImmutable();
9919out var lengthOrCountAccess, out var indexerOrSliceAccess, out var argumentPlaceholders, diagnostics))
9974out ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders,
10006out ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders,
10108out BoundExpression indexerOrSliceAccess, out ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders)
10215private ErrorPropertySymbol CreateErrorPropertySymbol(ImmutableArray<PropertySymbol> propertyGroup)
10393var methods = node.Methods;
10625var typeArguments = node.TypeArgumentsOpt;
10794ImmutableArray<ScopedKind>? parameterScopesOverride = null,
10795ImmutableArray<bool>? parameterHasUnscopedRefAttributesOverride = null,
10799var parameters = methodSymbol.Parameters;
10800var parameterRefKinds = methodSymbol.ParameterRefKinds;
10801var parameterTypes = methodSymbol.ParameterTypesWithAnnotations;
10819var typeArguments = returnsVoid ? parameterTypes : parameterTypes.Add(returnType);
10882static bool checkConstraints(CSharpCompilation compilation, ConversionsBase conversions, NamedTypeSymbol delegateType, ImmutableArray<TypeWithAnnotations> typeArguments)
10885var typeParameters = delegateType.TypeParameters;
Binder\Binder_InterpolatedString.cs (56)
257ImmutableArray<BoundExpression> parts = BindInterpolatedStringPartsForFactory(unconvertedInterpolatedString, diagnostics, out bool haveErrors);
266BoundInterpolatedString constructWithoutData(ImmutableArray<BoundExpression> parts)
295bool canLowerToStringConcatenation(ImmutableArray<BoundExpression> parts)
317private ImmutableArray<BoundExpression> BindInterpolatedStringPartsForFactory(BoundUnconvertedInterpolatedString unconvertedInterpolatedString, BindingDiagnosticBag diagnostics, out bool haveErrors)
321ImmutableArray<BoundExpression> parts = BindInterpolatedStringParts(unconvertedInterpolatedString, partsDiagnostics);
333ImmutableArray<BoundExpression> parts,
340ImmutableArray<BoundExpression> expressions = makeInterpolatedStringFactoryArguments(syntax, parts, diagnostics);
348typeArgs: default(ImmutableArray<TypeWithAnnotations>),
370ImmutableArray<BoundExpression> makeInterpolatedStringFactoryArguments(SyntaxNode syntax, ImmutableArray<BoundExpression> parts, BindingDiagnosticBag diagnostics)
435private static bool AllInterpolatedStringPartsAreStrings(ImmutableArray<BoundExpression> parts)
465var partsArrayBuilder = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance();
469static (BoundUnconvertedInterpolatedString unconvertedInterpolatedString, ArrayBuilder<ImmutableArray<BoundExpression>> partsArrayBuilder) =>
515private BoundBinaryOperator UpdateBinaryOperatorWithInterpolatedContents(BoundBinaryOperator originalOperator, ImmutableArray<ImmutableArray<BoundExpression>> appendCalls, InterpolatedStringHandlerData data, SyntaxNode rootSyntax, BindingDiagnosticBag diagnostics)
519Func<BoundUnconvertedInterpolatedString, int, (ImmutableArray<ImmutableArray<BoundExpression>>, TypeSymbol), BoundExpression> interpolationFactory =
521Func<BoundBinaryOperator, BoundExpression, BoundExpression, (ImmutableArray<ImmutableArray<BoundExpression>>, TypeSymbol), BoundExpression> binaryOperatorFactory =
528static BoundInterpolatedString createInterpolation(BoundUnconvertedInterpolatedString expression, int i, (ImmutableArray<ImmutableArray<BoundExpression>> AppendCalls, TypeSymbol _) arg)
540static BoundBinaryOperator createBinaryOperator(BoundBinaryOperator original, BoundExpression left, BoundExpression right, (ImmutableArray<ImmutableArray<BoundExpression>> _, TypeSymbol @string) arg)
559ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments = default,
560ImmutableArray<RefKind> additionalConstructorRefKinds = default)
579ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments = default,
580ImmutableArray<RefKind> additionalConstructorRefKinds = default)
605ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments,
606ImmutableArray<RefKind> additionalConstructorRefKinds)
610var partsArrayBuilder = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance();
613static (BoundUnconvertedInterpolatedString unconvertedInterpolatedString, ArrayBuilder<ImmutableArray<BoundExpression>> partsArrayBuilder) =>
632private (ImmutableArray<ImmutableArray<BoundExpression>> AppendCalls, InterpolatedStringHandlerData Data) BindUnconvertedInterpolatedPartsToHandlerType(
634ImmutableArray<ImmutableArray<BoundExpression>> partsArray,
638ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments,
639ImmutableArray<RefKind> additionalConstructorRefKinds)
676foreach (var parts in partsArray)
726var outConstructorAdditionalArguments = additionalConstructorArguments.Add(trailingConstructorValidityPlaceholder);
817static void populateArguments(SyntaxNode syntax, ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments, int baseStringLength, int numFormatHoles, NamedTypeSymbol intType, ArrayBuilder<BoundExpression> argumentsBuilder)
850private ImmutableArray<BoundExpression> BindInterpolatedStringParts(BoundUnconvertedInterpolatedString unconvertedInterpolatedString, BindingDiagnosticBag diagnostics)
895private (ImmutableArray<ImmutableArray<BoundExpression>> AppendFormatCalls, bool UsesBoolReturn, ImmutableArray<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>, int BaseStringLength, int NumFormatHoles) BindInterpolatedStringAppendCalls(
896ImmutableArray<ImmutableArray<BoundExpression>> partsArray,
902return (ImmutableArray<ImmutableArray<BoundExpression>>.Empty, false, ImmutableArray<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>.Empty, 0, 0);
907var builderAppendCallsArray = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance(partsArray.Length);
909var positionInfoArray = ArrayBuilder<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>.GetInstance(partsArray.Length);
916foreach (var parts in partsArray)
962var arguments = argumentsBuilder.ToImmutableAndClear();
963ImmutableArray<(string, Location)?> parameterNamesAndLocations;
Binder\Binder_Invocation.cs (65)
41private static ImmutableArray<MethodSymbol> GetOriginalMethods(OverloadResolutionResult<MethodSymbol> overloadResolutionResult)
51return ImmutableArray<MethodSymbol>.Empty;
81ImmutableArray<BoundExpression> args,
84ImmutableArray<TypeWithAnnotations> typeArgs = default(ImmutableArray<TypeWithAnnotations>),
85ImmutableArray<(string Name, Location Location)?> names = default,
312ImmutableArray<BoundExpression> arguments = analyzedArguments.Arguments.ToImmutable();
313ImmutableArray<RefKind> refKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
348result = BindDynamicInvocation(node, boundExpression, analyzedArguments, ImmutableArray<MethodSymbol>.Empty, diagnostics, queryClause);
394ImmutableArray<MethodSymbol> applicableMethods,
479ImmutableArray<BoundExpression> argArray = BuildArgumentsForDynamicInvocation(arguments, diagnostics);
480var refKindsArray = arguments.RefKinds.ToImmutableOrNull();
523private ImmutableArray<BoundExpression> BuildArgumentsForDynamicInvocation(AnalyzedArguments arguments, BindingDiagnosticBag diagnostics)
545ImmutableArray<BoundExpression> arguments,
546ImmutableArray<RefKind> refKinds,
664private static bool HasApplicableConditionalMethod(ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates)
724ImmutableArray<MethodSymbol> originalMethods;
726ImmutableArray<TypeWithAnnotations> typeArguments;
782var finalApplicableCandidates = GetCandidatesPassingFinalValidation(syntax, resolution.OverloadResolutionResult,
846private void ReportDynamicInvocationWarnings(SyntaxNode syntax, BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics, ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates)
862var parameters = candidate.Member.GetParameters();
970private ImmutableArray<MemberResolutionResult<TMethodOrPropertySymbol>> GetCandidatesPassingFinalValidation<TMethodOrPropertySymbol>(
974ImmutableArray<TypeWithAnnotations> typeArgumentsOpt,
1197ImmutableArray<int> argsToParams;
1261var argNames = analyzedArguments.GetNames();
1262var argRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
1263var args = analyzedArguments.Arguments.ToImmutable();
1423ImmutableArray<ParameterSymbol> parameters,
1424ImmutableArray<int> argsToParamsOpt,
1465ImmutableArray<ParameterSymbol> parameters,
1469ref ImmutableArray<int> argsToParamsOpt,
1571BoundExpression collection = CreateParamsCollection(node, parameters[paramsIndex], collectionArgs: ImmutableArray<BoundExpression>.Empty, diagnostics);
1597BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics, ArrayBuilder<BoundExpression> argumentsBuilder, int argumentsCount, ImmutableArray<int> argsToParamsOpt)
1709static int getArgumentIndex(int parameterIndex, ImmutableArray<int> argsToParamsOpt)
1717private BoundExpression CreateParamsCollection(SyntaxNode node, ParameterSymbol paramsParameter, ImmutableArray<BoundExpression> collectionArgs, BindingDiagnosticBag diagnostics)
1741var unconvertedCollection = new BoundUnconvertedCollectionExpression(node, ImmutableArray<BoundNode>.CastUp(collectionArgs)) { WasCompilerGenerated = true, IsParamsArrayOrCollection = true };
1916ImmutableArray<MethodSymbol> methods,
1918ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
1924ImmutableArray<BoundExpression> args;
1950var argNames = analyzedArguments.GetNames();
1951var argRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
1966private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, ImmutableArray<MethodSymbol> methods)
1968var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
1981var result = BuildArgumentsForErrorRecovery(analyzedArguments, parameterListList);
1986private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, ImmutableArray<PropertySymbol> properties)
1988var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2001var result = BuildArgumentsForErrorRecovery(analyzedArguments, parameterListList);
2006private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, IEnumerable<ImmutableArray<ParameterSymbol>> parameterListList)
2035foreach (var parameterList in parameterListList)
2110foreach (var parameterList in parameterListList)
2140private static TypeSymbol GetCorrespondingParameterType(AnalyzedArguments analyzedArguments, int i, ImmutableArray<ParameterSymbol> parameterList)
2161private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments)
2163return BuildArgumentsForErrorRecovery(analyzedArguments, Enumerable.Empty<ImmutableArray<ParameterSymbol>>());
2176var args = BuildArgumentsForErrorRecovery(analyzedArguments);
2177var argNames = analyzedArguments.GetNames();
2178var argRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
2179var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty;
2184private static TypeSymbol GetCommonTypeOrReturnType<TMember>(ImmutableArray<TMember> members)
2363ImmutableArray<FunctionPointerMethodSymbol> methods = methodsBuilder.ToImmutableAndFree();
2393var args = analyzedArguments.Arguments.ToImmutable();
2394var refKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
Binder\Binder_Lookup.cs (20)
399ImmutableArray<AliasAndExternAliasDirective> externAliases,
445var members = GetCandidateMembers(ns, name, options, originalBinder);
617var originalSymbols = symbols.ToImmutable();
766var members = GetCandidateMembers(type, name, options, originalBinder);
1036private static ImmutableArray<NamedTypeSymbol> GetBaseInterfaces(NamedTypeSymbol type, ConsList<TypeSymbol> basesBeingResolved, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1045return ImmutableArray<NamedTypeSymbol>.Empty;
1048var interfaces = type.GetDeclaredInterfaces(basesBeingResolved);
1052return ImmutableArray<NamedTypeSymbol>.Empty;
1097ImmutableArray<NamedTypeSymbol> baseInterfaces = @interface.GetDeclaredInterfaces(basesBeingResolved);
1117ImmutableArray<NamedTypeSymbol> interfaces,
1293internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, string name, LookupOptions options, Binder originalBinder)
1305return ImmutableArray<Symbol>.Empty;
1317internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, LookupOptions options, Binder originalBinder)
1329return ImmutableArray<Symbol>.Empty;
1441var unwrappedSymbols = ImmutableArray.Create<Symbol>(unwrappedSymbol);
1442diagInfo = diagnose ? new CSDiagnosticInfo(ErrorCode.ERR_BadAccess, new[] { unwrappedSymbol }, unwrappedSymbols, additionalLocations: ImmutableArray<Location>.Empty) : null;
1466diagInfo = new CSDiagnosticInfo(ErrorCode.ERR_BadAccess, new[] { unwrappedSymbol }, ImmutableArray.Create<Symbol>(unwrappedSymbol), additionalLocations: ImmutableArray<Location>.Empty);
1521ImmutableArray<byte> publicKey = this.Compilation.Assembly.PublicKey;
1525foreach (ImmutableArray<byte> key in keys)
1918ImmutableArray<AliasAndExternAliasDirective> externAliases,
Binder\Binder_Patterns.cs (16)
258private ImmutableArray<BoundPattern> BindListPatternSubpatterns(
326ImmutableArray<BoundPattern> subpatterns = BindListPatternSubpatterns(
370lengthAccess = new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType(), hasErrors: true) { WasCompilerGenerated = true };
465var interfaces = inputType is TypeParameterSymbol typeParam ? typeParam.EffectiveInterfacesNoUseSiteDiagnostics : inputType.AllInterfacesNoUseSiteDiagnostics;
977ImmutableArray<BoundPositionalSubpattern> deconstructionSubpatterns = default;
988positionalClause, declType, ImmutableArray<TypeWithAnnotations>.Empty, permitDesignations, ref hasErrors, patternsBuilder, diagnostics);
1002deconstructDiagnostics, outPlaceholders: out ImmutableArray<BoundDeconstructValuePlaceholder> outPlaceholders,
1026ImmutableArray<BoundPropertySubpattern> properties = default;
1052ImmutableArray<BoundDeconstructValuePlaceholder> outPlaceholders,
1156ImmutableArray<TypeWithAnnotations> elementTypesWithAnnotations,
1384addSubpatternsForTuple(ImmutableArray<TypeWithAnnotations>.Empty);
1398outPlaceholders: out ImmutableArray<BoundDeconstructValuePlaceholder> outPlaceholders,
1433void addSubpatternsForTuple(ImmutableArray<TypeWithAnnotations> elementTypes)
1458private ImmutableArray<BoundPropertySubpattern> BindPropertyPatternClause(
1556typeArgumentsWithAnnotations: default(ImmutableArray<TypeWithAnnotations>),
Binder\Binder_Query.cs (20)
302state.selectOrGroup, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty,
469var arguments = invocation.Arguments;
538var arguments = invocation.Arguments;
628var arguments = invocation.Arguments;
696return lambdaBodyBinder.CreateBlockFromExpression(node, ImmutableArray<LocalSymbol>.Empty, RefKind.None, construction, null, d);
736yExpression = new BoundBadExpression(yExpression.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), CreateErrorType());
742yExpression = new BoundBadExpression(yExpression.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), yExpression.Type);
770var locals = this.GetDeclaredLocalsForScope(expression);
803field2Value = new BoundBadExpression(field2Value.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(field2Value), field2Value.Type, true);
831private UnboundLambda MakeQueryUnboundLambda(RangeVariableMap qvm, ImmutableArray<RangeVariableSymbol> parameters, ExpressionSyntax expression, bool withDependencies)
860private UnboundLambda MakeQueryUnboundLambda(RangeVariableMap qvm, ImmutableArray<RangeVariableSymbol> parameters, CSharpSyntaxNode node, LambdaBodyFactory bodyFactory, bool withDependencies)
880return MakeQueryInvocation(node, receiver, methodName, default(SeparatedSyntaxList<TypeSyntax>), default(ImmutableArray<TypeWithAnnotations>), ImmutableArray.Create(arg), diagnostics
887protected BoundCall MakeQueryInvocation(CSharpSyntaxNode node, BoundExpression receiver, string methodName, ImmutableArray<BoundExpression> args, BindingDiagnosticBag diagnostics
893return MakeQueryInvocation(node, receiver, methodName, default(SeparatedSyntaxList<TypeSyntax>), default(ImmutableArray<TypeWithAnnotations>), args, diagnostics
906return MakeQueryInvocation(node, receiver, methodName, new SeparatedSyntaxList<TypeSyntax>(new SyntaxNodeOrTokenList(typeArgSyntax, 0)), ImmutableArray.Create(typeArg), ImmutableArray<BoundExpression>.Empty, diagnostics
913protected BoundCall MakeQueryInvocation(CSharpSyntaxNode node, BoundExpression receiver, string methodName, SeparatedSyntaxList<TypeSyntax> typeArgsSyntax, ImmutableArray<TypeWithAnnotations> typeArgs, ImmutableArray<BoundExpression> args, BindingDiagnosticBag diagnostics
975receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
997receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
1040protected BoundExpression MakeConstruction(CSharpSyntaxNode node, NamedTypeSymbol toCreate, ImmutableArray<BoundExpression> args, BindingDiagnosticBag diagnostics)
Binder\Binder_QueryErrors.cs (3)
29ImmutableArray<Symbol> symbols,
164internal static void ReportQueryInferenceFailed(CSharpSyntaxNode queryClause, string methodName, BoundExpression receiver, AnalyzedArguments arguments, ImmutableArray<Symbol> symbols, BindingDiagnosticBag diagnostics)
213private static bool ReportQueryInferenceFailedSelectMany(FromClauseSyntax fromClause, string methodName, BoundExpression receiver, AnalyzedArguments arguments, ImmutableArray<Symbol> symbols, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (43)
146result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
200ImmutableArray<BoundLocalDeclaration> declarations;
535ImmutableArray<BoundNode> childNodes;
543childNodes = ImmutableArray<BoundNode>.Empty;
1106ImmutableArray<BoundExpression> arguments = BindDeclaratorArguments(declarator, localDiagnostics);
1172internal ImmutableArray<BoundExpression> BindDeclaratorArguments(VariableDeclaratorSyntax declarator, BindingDiagnosticBag diagnostics)
1181var arguments = default(ImmutableArray<BoundExpression>);
1841ImmutableArray<BoundExpression>.Empty);
1895private BoundBlock FinishBindBlockParts(CSharpSyntaxNode node, ImmutableArray<BoundStatement> boundStatements)
1897ImmutableArray<LocalSymbol> locals = GetDeclaredLocalsForScope(node);
2138var delegateParameters = delegateType.DelegateParameters();
2270ImmutableArray<MethodSymbol> originalUserDefinedConversions = conversion.OriginalUserDefinedConversions;
2334var targetElementTypes = default(ImmutableArray<TypeWithAnnotations>);
2507ImmutableArray<BoundExpression> tupleArguments,
2508ImmutableArray<TypeWithAnnotations> targetElementTypes)
2706var best = this.UnaryOperatorOverloadResolution(UnaryOperatorKind.True, expr, node, diagnostics, out LookupResultKind resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators);
2794internal BoundStatement BindForOrUsingOrFixedDeclarations(VariableDeclarationSyntax nodeOpt, LocalDeclarationKind localKind, BindingDiagnosticBag diagnostics, out ImmutableArray<BoundLocalDeclaration> declarations)
2798declarations = ImmutableArray<BoundLocalDeclaration>.Empty;
2905return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
2916return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
3205var catchBlocks = BindCatchBlocks(node.Catches, diagnostics);
3210private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics)
3215return ImmutableArray<BoundCatchBlock>.Empty;
3330ImmutableArray<LocalSymbol> locals = binder.GetDeclaredLocalsForScope(node);
3446internal BoundBlock CreateBlockFromExpression(CSharpSyntaxNode node, ImmutableArray<LocalSymbol> locals, RefKind refKind, BoundExpression expression, ExpressionSyntax expressionSyntax, BindingDiagnosticBag diagnostics)
3683ImmutableArray<LocalSymbol> constructorLocals;
3694constructorLocals = ImmutableArray<LocalSymbol>.Empty;
3700blockBody: new BoundBlock(typeDecl, ImmutableArray<LocalSymbol>.Empty, ImmutableArray<BoundStatement>.Empty).MakeCompilerGenerated(),
3960arguments: ImmutableArray<BoundExpression>.Empty,
3961argumentNamesOpt: ImmutableArray<string?>.Empty,
3962argumentRefKindsOpt: ImmutableArray<RefKind>.Empty,
3966argsToParamsOpt: ImmutableArray<int>.Empty,
4035internal virtual ImmutableArray<LocalSymbol> Locals
4039return ImmutableArray<LocalSymbol>.Empty;
4043internal virtual ImmutableArray<LocalFunctionSymbol> LocalFunctions
4047return ImmutableArray<LocalFunctionSymbol>.Empty;
4051internal virtual ImmutableArray<LabelSymbol> Labels
4055return ImmutableArray<LabelSymbol>.Empty;
4063internal virtual ImmutableArray<AliasAndExternAliasDirective> ExternAliases
4077internal virtual ImmutableArray<AliasAndUsingDirective> UsingAliases
Binder\Binder_Symbols.cs (11)
725var typesArray = types.ToImmutableAndFree();
726var locationsArray = locations.ToImmutableAndFree();
738default(ImmutableArray<string>) :
743errorPositions: default(ImmutableArray<bool>),
1242var boundTypeArguments = BindTypeArguments(typeArguments, diagnostics, basesBeingResolved);
1337private ImmutableArray<TypeWithAnnotations> BindTypeArguments(SeparatedSyntaxList<TypeSyntax> typeArguments, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null)
1372private NamedTypeSymbol ConstructNamedTypeUnlessTypeArgumentOmitted(SyntaxNode typeSyntax, NamedTypeSymbol type, SeparatedSyntaxList<TypeSyntax> typeArgumentsSyntax, ImmutableArray<TypeWithAnnotations> typeArguments, BindingDiagnosticBag diagnostics)
1418ImmutableArray<TypeWithAnnotations> typeArguments,
1469receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.Ambiguous, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(receiver), receiver.Type, hasErrors: true).MakeCompilerGenerated();
1572ImmutableArray<TypeWithAnnotations> typeArguments,
1955var originalSymbols = symbols.ToImmutable();
Binder\PatternExplainer.cs (12)
31private static ImmutableArray<BoundDecisionDagNode> ShortestPathToNode(
32ImmutableArray<BoundDecisionDagNode> nodes,
111Func<ImmutableArray<BoundDecisionDagNode>, bool, bool> handler)
181ImmutableArray<BoundDecisionDagNode> nodes,
196var shortestPathToNode = ShortestPathToNode(nodes, targetNode, nullPaths, out requiresFalseWhenClause);
244static void gatherConstraintsAndEvaluations(BoundDecisionDagNode targetNode, ImmutableArray<BoundDecisionDagNode> pathToNode,
298var constraints = getArray(constraintMap, input);
299var evaluations = getArray(evaluationMap, input);
311static ImmutableArray<T> getArray<T>(Dictionary<BoundDagTemp, ArrayBuilder<T>> map, BoundDagTemp temp)
313return map.TryGetValue(temp, out var builder) ? builder.ToImmutable() : ImmutableArray<T>.Empty;
473var elements = input.Type.TupleElements;
596IValueSet computeRemainingValues(IValueSetFactory fac, ImmutableArray<(BoundDagTest test, bool sense)> constraints)
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (12)
87ImmutableArray<UserDefinedConversionAnalysis> u = ubuild.ToImmutableAndFree();
365private TypeSymbol MostSpecificSourceTypeForImplicitUserDefinedConversion(ImmutableArray<UserDefinedConversionAnalysis> u, TypeSymbol source, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
381private TypeSymbol MostSpecificTargetTypeForImplicitUserDefinedConversion(ImmutableArray<UserDefinedConversionAnalysis> u, TypeSymbol target, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
428private static int? MostSpecificConversionOperator(TypeSymbol sx, TypeSymbol tx, ImmutableArray<UserDefinedConversionAnalysis> u)
436private static int? MostSpecificConversionOperator(Func<UserDefinedConversionAnalysis, bool> constraint, ImmutableArray<UserDefinedConversionAnalysis> u)
547private static BestIndex UniqueIndex<T>(ImmutableArray<T> items, Func<T, bool> predicate)
690ImmutableArray<T> items,
698ImmutableArray<T> items,
752ImmutableArray<T> items,
760ImmutableArray<T> items,
804private static int? UniqueBestValidIndex<T>(ImmutableArray<T> items, Func<T, bool> valid, Func<T, T, BetterResult> better)
970ImmutableArray<UserDefinedConversionAnalysis> u = ubuild.ToImmutableAndFree();
Binder\Semantics\OverloadResolution\ArgumentAnalysisResult.cs (10)
14public readonly ImmutableArray<int> ArgsToParamsOpt;
33ImmutableArray<int> argsToParamsOpt)
51return new ArgumentAnalysisResult(ArgumentAnalysisResultKind.NameUsedForPositional, argumentPosition, 0, default(ImmutableArray<int>));
56return new ArgumentAnalysisResult(ArgumentAnalysisResultKind.NoCorrespondingParameter, argumentPosition, 0, default(ImmutableArray<int>));
61return new ArgumentAnalysisResult(ArgumentAnalysisResultKind.NoCorrespondingNamedParameter, argumentPosition, 0, default(ImmutableArray<int>));
66return new ArgumentAnalysisResult(ArgumentAnalysisResultKind.DuplicateNamedArgument, argumentPosition, 0, default(ImmutableArray<int>));
71return new ArgumentAnalysisResult(ArgumentAnalysisResultKind.RequiredParameterMissing, 0, parameterPosition, default(ImmutableArray<int>));
76return new ArgumentAnalysisResult(ArgumentAnalysisResultKind.BadNonTrailingNamedArgument, argumentPosition, 0, default(ImmutableArray<int>));
79public static ArgumentAnalysisResult NormalForm(ImmutableArray<int> argsToParamsOpt)
84public static ArgumentAnalysisResult ExpandedForm(ImmutableArray<int> argsToParamsOpt)
Binder\Semantics\OverloadResolution\MemberAnalysisResult.cs (16)
24private readonly ImmutableArray<Conversion> _conversionsOpt;
25public ImmutableArray<Conversion> ConversionsOpt
60private readonly ImmutableArray<int> _argsToParamsOpt;
61public ImmutableArray<int> ArgsToParamsOpt
74private readonly ImmutableArray<TypeParameterDiagnosticInfo> _constraintFailureDiagnostics;
75public ImmutableArray<TypeParameterDiagnosticInfo> ConstraintFailureDiagnostics
120ImmutableArray<int> argsToParamsOpt = default,
121ImmutableArray<Conversion> conversionsOpt = default,
124ImmutableArray<TypeParameterDiagnosticInfo> constraintFailureDiagnosticsOpt = default,
321public static MemberAnalysisResult BadArgumentConversions(ImmutableArray<int> argsToParamsOpt, BitVector badArguments, ImmutableArray<Conversion> conversions, TypeWithAnnotations definitionParamsElementTypeOpt, TypeWithAnnotations paramsElementTypeOpt)
376public static MemberAnalysisResult NormalForm(ImmutableArray<int> argsToParamsOpt, ImmutableArray<Conversion> conversions, bool hasAnyRefOmittedArgument)
381public static MemberAnalysisResult ExpandedForm(ImmutableArray<int> argsToParamsOpt, ImmutableArray<Conversion> conversions, bool hasAnyRefOmittedArgument, TypeWithAnnotations definitionParamsElementType, TypeWithAnnotations paramsElementType)
398internal static MemberAnalysisResult ConstraintFailure(ImmutableArray<TypeParameterDiagnosticInfo> constraintFailureDiagnostics)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (38)
73public readonly ImmutableArray<TypeWithAnnotations> InferredTypeArguments;
82ImmutableArray<TypeWithAnnotations> inferredTypeArguments,
134private readonly ImmutableArray<TypeParameterSymbol> _methodTypeParameters;
136private readonly ImmutableArray<TypeWithAnnotations> _formalParameterTypes;
137private readonly ImmutableArray<RefKind> _formalParameterRefKinds;
138private readonly ImmutableArray<BoundExpression> _arguments;
169ImmutableArray<TypeParameterSymbol> methodTypeParameters,
174ImmutableArray<TypeWithAnnotations> formalParameterTypes,
271ImmutableArray<RefKind> formalParameterRefKinds, // Optional; assume all value if missing.
272ImmutableArray<BoundExpression> arguments,// Required; in scenarios like method group conversions where there are
317ImmutableArray<TypeParameterSymbol> methodTypeParameters,
319ImmutableArray<TypeWithAnnotations> formalParameterTypes,
320ImmutableArray<RefKind> formalParameterRefKinds,
321ImmutableArray<BoundExpression> arguments,
429private ImmutableArray<TypeWithAnnotations> GetResults(out bool inferredFromFunctionType)
564var inferredTypeArguments = GetResults(out bool inferredFromFunctionType);
706var sourceArguments = argument.Arguments;
715var destTypes = destination.TupleElementTypesWithAnnotations;
904var sourceArguments = argument.Arguments;
912var destTypes = destination.TupleElementTypesWithAnnotations;
1001var parameters = delegateOrFunctionPointerType.DelegateOrFunctionPointerParameters();
1455var fixedParameters = GetFixedDelegateOrFunctionPointer(delegateOrFunctionPointerType).DelegateOrFunctionPointerParameters();
1478ImmutableArray<ParameterSymbol> delegateParameters,
1547var delegateParameters = delegateType.DelegateParameters();
1810ImmutableArray<TypeWithAnnotations> sourceTypes;
1811ImmutableArray<TypeWithAnnotations> targetTypes;
2291ImmutableArray<NamedTypeSymbol> allInterfaces;
2323internal static ImmutableArray<NamedTypeSymbol> ModuloReferenceTypeNullabilityDifferences(ImmutableArray<NamedTypeSymbol> interfaces, VarianceKind variance)
2680ImmutableArray<NamedTypeSymbol> allInterfaces = target.AllInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo);
2991var constraintTypes = typeParameter.ConstraintTypesNoUseSiteDiagnostics;
3076var originalDelegateParameters = target.DelegateParameters();
3089var fixedDelegateParameters = fixedDelegate.DelegateParameters();
3127private static NamedTypeSymbol GetInterfaceInferenceBound(ImmutableArray<NamedTypeSymbol> interfaces, NamedTypeSymbol target)
3173public static ImmutableArray<TypeWithAnnotations> InferTypeArgumentsFromFirstArgument(
3177ImmutableArray<BoundExpression> arguments,
3192ImmutableArray<BoundExpression> arguments,
3269private ImmutableArray<TypeWithAnnotations> GetInferredTypeArguments(out bool inferredFromFunctionType)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (48)
101public void ObjectCreationOverloadResolution(ImmutableArray<MethodSymbol> constructors, AnalyzedArguments arguments, OverloadResolutionResult<MethodSymbol> result, bool dynamicResolution, bool isEarlyAttributeBinding, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
285var applicableMethods = result.GetAllApplicableMembers();
539static ImmutableArray<Symbol> getHiddenMembers(Symbol member)
550return ImmutableArray<Symbol>.Empty;
1472private bool TypeArgumentsAccessible(ImmutableArray<TypeSymbol> typeArguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1724ImmutableArray<MethodSymbol> constructors,
2071private static ParameterSymbol GetParameter(int argIndex, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters)
2149var m1LeastOverriddenParameters = m1.LeastOverriddenMember.GetParameters();
2150var m2LeastOverriddenParameters = m2.LeastOverriddenMember.GetParameters();
2456var m1DefinitionParameters = m1.LeastOverriddenMember.OriginalDefinition.GetParameters();
2457var m2DefinitionParameters = m2.LeastOverriddenMember.OriginalDefinition.GetParameters();
2558static TypeSymbol getParameterTypeAndRefKind(int i, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, TypeWithAnnotations paramsElementTypeOpt, out RefKind parameter1RefKind)
2592var conversionsOpt = m.Result.ConversionsOpt;
2604ImmutableArray<ParameterSymbol> parameters1,
2606ImmutableArray<ParameterSymbol> parameters2)
2674ImmutableArray<int> argsToParamsOpt = m.Result.ArgsToParamsOpt;
3043ImmutableArray<BoundNode> collectionExpressionElements,
3044TypeSymbol t1, CollectionExpressionTypeKind kind1, TypeSymbol elementType1, ImmutableArray<Conversion> underlyingElementConversions1,
3045TypeSymbol t2, CollectionExpressionTypeKind kind2, TypeSymbol elementType2, ImmutableArray<Conversion> underlyingElementConversions2,
3351var sourceArguments = tupleSource.Arguments;
3359var destTypes = destination.TupleElementTypesWithAnnotations;
3700private static bool IdenticalParameters(ImmutableArray<ParameterSymbol> p1, ImmutableArray<ParameterSymbol> p2)
3777ImmutableArray<int> argToParamMap,
3783out ImmutableArray<TypeWithAnnotations> parameterTypes,
3784out ImmutableArray<RefKind> parameterRefKinds)
3799internal readonly ImmutableArray<TypeWithAnnotations> ParameterTypes;
3800internal readonly ImmutableArray<RefKind> ParameterRefKinds;
3803internal EffectiveParameters(ImmutableArray<TypeWithAnnotations> types, ImmutableArray<RefKind> refKinds, int firstParamsElementIndex)
3816ImmutableArray<int> argToParamMap,
3825ImmutableArray<ParameterSymbol> parameters = member.GetParameters();
3832ImmutableArray<RefKind> parameterRefKinds = member.GetParameterRefKinds();
3871var refKinds = refs != null ? refs.ToImmutableAndFree() : default(ImmutableArray<RefKind>);
3957ImmutableArray<int> argToParamMap,
3968ImmutableArray<int> argToParamMap,
3979var parameters = member.GetParameters();
4017var refKinds = anyRef ? refs.ToImmutable() : default(ImmutableArray<RefKind>);
4172ImmutableArray<int> argsToParamsMap,
4191ImmutableArray<TypeWithAnnotations> typeArguments;
4262var parameterTypes = leastOverriddenMember.GetParameterTypes();
4304private ImmutableArray<TypeWithAnnotations> InferMethodTypeArguments(
4306ImmutableArray<TypeParameterSymbol> originalTypeParameters,
4313var args = arguments.Arguments.ToImmutable();
4350return default(ImmutableArray<TypeWithAnnotations>);
4356return default(ImmutableArray<TypeWithAnnotations>);
4365ImmutableArray<int> argsToParameters,
4536var conversionsArray = conversions != null ? conversions.ToImmutableAndFree() : default(ImmutableArray<Conversion>);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (21)
102public ImmutableArray<MemberResolutionResult<TMember>> Results
134internal ImmutableArray<TMember> GetAllApplicableMembers()
197ImmutableArray<T> memberGroup, // the T is just a convenience for the caller
580private static void ReportUnsupportedMetadata(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, MemberResolutionResult<TMember> firstUnsupported)
595private static void ReportWrongCallingConvention(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, MemberResolutionResult<TMember> firstSupported, MethodSymbol target)
622ImmutableArray<Symbol> symbols,
641ImmutableArray<Symbol> symbols,
740ImmutableArray<Symbol> symbols,
793ImmutableArray<Symbol> symbols)
813ImmutableArray<Symbol> symbols)
846ImmutableArray<Symbol> symbols)
881ImmutableArray<Symbol> symbols,
898ImmutableArray<ParameterSymbol> parameters = badMember.GetParameters();
926ImmutableArray<Symbol> symbols,
1085ImmutableArray<Symbol> symbols,
1118var parameters = method.GetParameters();
1154ImmutableArray<Symbol> symbols,
1338ImmutableArray<CustomModifier>.Empty,
1389private bool HadAmbiguousWorseMethods(BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location, bool isQuery, BoundExpression receiver, string name)
1453private bool HadAmbiguousBestMethods(BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location)
1505private static DiagnosticInfoWithSymbols CreateAmbiguousCallDiagnosticInfo(Symbol first, Symbol second, ImmutableArray<Symbol> symbols)
Binder\WithUsingNamespacesAndTypesBinder.cs (10)
35internal abstract ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved);
141ImmutableArray<Symbol> candidates = Binder.GetCandidateMembers(typeOrNamespace.NamespaceOrType, name, options, originalBinder: originalBinder);
264internal static WithUsingNamespacesAndTypesBinder Create(ImmutableArray<NamespaceOrTypeAndUsingDirective> namespacesOrTypes, Binder next, bool withImportChainEntry = false)
273private ImmutableArray<NamespaceOrTypeAndUsingDirective> _lazyUsings;
283internal override ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved)
313internal override ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved)
338private readonly ImmutableArray<NamespaceOrTypeAndUsingDirective> _usings;
340internal FromNamespacesOrTypes(ImmutableArray<NamespaceOrTypeAndUsingDirective> namespacesOrTypes, Binder next, bool withImportChainEntry)
347internal override ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved)
354return Imports.Create(ImmutableDictionary<string, AliasAndUsingDirective>.Empty, _usings, ImmutableArray<AliasAndExternAliasDirective>.Empty);
BoundTree\BoundObjectCreationExpression.cs (15)
12public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt,
13ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ConstantValue? constantValueOpt,
15: this(syntax, constructor, ImmutableArray<MethodSymbol>.Empty, arguments, argumentNamesOpt, argumentRefKindsOpt, expanded, argsToParamsOpt, defaultArguments, constantValueOpt, initializerExpressionOpt, wasTargetTyped: false, type, hasErrors)
18public BoundObjectCreationExpression Update(MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded,
19ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ConstantValue? constantValueOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, TypeSymbol type)
21return this.Update(constructor, ImmutableArray<MethodSymbol>.Empty, arguments, argumentNamesOpt, argumentRefKindsOpt, expanded, argsToParamsOpt, defaultArguments, constantValueOpt, initializerExpressionOpt, this.WasTargetTyped, type);
24public BoundObjectCreationExpression Update(MethodSymbol constructor, ImmutableArray<MethodSymbol> constructorsGroup, ImmutableArray<BoundExpression> arguments,
25ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt,
BoundTree\Constructors.cs (59)
91ImmutableArray<BoundExpression> arguments,
92ImmutableArray<string?> argumentNamesOpt,
93ImmutableArray<RefKind> argumentRefKindsOpt,
97ImmutableArray<int> argsToParamsOpt,
109ImmutableArray<BoundExpression> arguments,
110ImmutableArray<string?> argumentNamesOpt,
111ImmutableArray<RefKind> argumentRefKindsOpt,
115ImmutableArray<int> argsToParamsOpt,
125ImmutableArray<BoundExpression> arguments,
126ImmutableArray<string?> namedArguments,
127ImmutableArray<RefKind> refKinds,
130ImmutableArray<MethodSymbol> originalMethods,
150argsToParamsOpt: default(ImmutableArray<int>),
158public BoundCall Update(ImmutableArray<BoundExpression> arguments)
163public BoundCall Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments)
170return Synthesized(syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning: initialBindingReceiverIsSubjectToCloning, method, ImmutableArray<BoundExpression>.Empty);
183public static BoundCall Synthesized(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt = default)
216argumentNamesOpt: default(ImmutableArray<string?>),
221argsToParamsOpt: default(ImmutableArray<int>),
230static ImmutableArray<RefKind> getArgumentRefKinds(MethodSymbol method)
232var result = method.ParameterRefKinds;
254: this(syntax, constructor, ImmutableArray.Create<BoundExpression>(arguments), default(ImmutableArray<string?>), default(ImmutableArray<RefKind>), false, default(ImmutableArray<int>), default(BitVector), null, null, constructor.ContainingType)
257public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments)
258: this(syntax, constructor, arguments, default(ImmutableArray<string?>), default(ImmutableArray<RefKind>), false, default(ImmutableArray<int>), default(BitVector), null, null, constructor.ContainingType)
269ImmutableArray<BoundExpression> arguments,
270ImmutableArray<string?> namedArguments,
271ImmutableArray<RefKind> refKinds,
272ImmutableArray<PropertySymbol> originalIndexers)
284argsToParamsOpt: default(ImmutableArray<int>),
295ImmutableArray<BoundExpression> arguments,
296ImmutableArray<string?> argumentNamesOpt,
297ImmutableArray<RefKind> argumentRefKindsOpt,
300ImmutableArray<int> argsToParamsOpt,
310ImmutableArray<BoundExpression> arguments,
311ImmutableArray<string?> argumentNamesOpt,
312ImmutableArray<RefKind> argumentRefKindsOpt,
315ImmutableArray<int> argsToParamsOpt,
436ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt,
496ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt,
543public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, bool hasErrors = false)
550: this(syntax, aliasOpt, boundContainingTypeOpt, ImmutableArray<BoundExpression>.Empty, typeWithAnnotations, hasErrors)
564public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, ImmutableArray<BoundExpression> dimensionsOpt, TypeWithAnnotations typeWithAnnotations, bool hasErrors = false)
599public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol type)
618public static BoundStatementList Synthesized(SyntaxNode syntax, ImmutableArray<BoundStatement> statements)
623public static BoundStatementList Synthesized(SyntaxNode syntax, bool hasErrors, ImmutableArray<BoundStatement> statements)
655public BoundBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
656: this(syntax, locals, ImmutableArray<LocalFunctionSymbol>.Empty, hasUnsafeModifier: false, instrumentation: null, statements, hasErrors)
662return new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, ImmutableArray.Create(statement))
666public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, ImmutableArray<BoundStatement> statements)
668return new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, statements) { WasCompilerGenerated = true };
673return new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, statements.AsImmutableOrNull()) { WasCompilerGenerated = true };
687public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt = null)
BoundTree\Expression.cs (37)
12internal static ImmutableArray<BoundExpression> GetChildInitializers(BoundExpression? objectOrCollectionInitializer)
26return ImmutableArray<BoundExpression>.Empty;
29ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: null, Arguments, InitializerExpressionOpt);
34ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(Arguments);
39ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ImplicitReceiverOpt, Arguments);
44protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Left, this.Right);
49protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ChildBoundNodes);
51ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(this.ChildBoundNodes);
56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
61ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
66protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Receiver));
71protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments);
76protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ConstructorArguments.AddRange(StaticCast<BoundExpression>.From(this.NamedArguments)));
81protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Value);
86protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments);
91protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Argument);
96protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression, this.Index);
101protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
106protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver);
111protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
116protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
121protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Expression));
126protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
131internal static ImmutableArray<BoundExpression> GetChildInitializers(BoundArrayInitialization? arrayInitializer)
133return arrayInitializer?.Initializers ?? ImmutableArray<BoundExpression>.Empty;
139protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count));
144protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count));
149protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.AddRange(BoundObjectCreationExpression.GetChildInitializers(this.InitializerExpressionOpt)));
154protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt);
164protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.SideEffects.Add(this.Value));
169protected override ImmutableArray<BoundNode?> Children =>
170(this.Kind == BoundKind.StatementList || this.Kind == BoundKind.Scope) ? StaticCast<BoundNode?>.From(this.Statements) : ImmutableArray<BoundNode?>.Empty;
175protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
180protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver, Argument);
185ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: this.InvokedExpression, Arguments);
186protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(((IBoundInvalidNode)this).InvalidNodeChildren);
BoundTree\LengthBasedStringSwitchData.cs (16)
74internal readonly ImmutableArray<CharJumpTable> CharBasedJumpTables;
75internal readonly ImmutableArray<StringJumpTable> StringBasedJumpTables;
78ImmutableArray<CharJumpTable> charJumpTables, ImmutableArray<StringJumpTable> stringJumpTables)
88public readonly ImmutableArray<(int value, LabelSymbol label)> LengthCaseLabels;
90public LengthJumpTable(LabelSymbol? nullCaseLabel, ImmutableArray<(int value, LabelSymbol label)> lengthCaseLabels)
103public readonly ImmutableArray<(char value, LabelSymbol label)> CharCaseLabels;
105internal CharJumpTable(LabelSymbol label, int selectedCharPosition, ImmutableArray<(char value, LabelSymbol label)> charCaseLabels)
118public readonly ImmutableArray<(string value, LabelSymbol label)> StringCaseLabels;
120internal StringJumpTable(LabelSymbol label, ImmutableArray<(string value, LabelSymbol label)> stringCaseLabels)
137internal static LengthBasedStringSwitchData Create(ImmutableArray<(ConstantValue value, LabelSymbol label)> inputCases)
165private static LabelSymbol CreateAndRegisterCharJumpTables(int stringLength, ImmutableArray<(string value, LabelSymbol label)> casesWithGivenLength,
202static int selectBestCharacterIndex(int stringLength, ImmutableArray<(string value, LabelSymbol label)> caseLabels)
229static (int singleEntryCount, int largestBucket) positionScore(int position, ImmutableArray<(string value, LabelSymbol label)> caseLabels)
253private static LabelSymbol CreateAndRegisterStringJumpTable(ImmutableArray<(string value, LabelSymbol label)> cases, ArrayBuilder<StringJumpTable> stringJumpTables)
290void dump<T>(ImmutableArray<(T value, LabelSymbol label)> cases)
BoundTree\UnboundLambda.cs (66)
46internal readonly ImmutableArray<DiagnosticInfo> UseSiteDiagnostics;
47internal readonly ImmutableArray<AssemblySymbol> Dependencies;
56ImmutableArray<DiagnosticInfo> useSiteDiagnostics,
57ImmutableArray<AssemblySymbol> dependencies)
170ImmutableArray<TypeWithAnnotations> parameterTypes,
171ImmutableArray<RefKind> parameterRefKinds,
239useSiteInfo.AccumulatesDependencies ? useSiteInfo.Dependencies.AsImmutableOrEmpty() : ImmutableArray<AssemblySymbol>.Empty);
396ImmutableArray<SyntaxList<AttributeListSyntax>> parameterAttributes,
397ImmutableArray<RefKind> refKinds,
398ImmutableArray<ScopedKind> declaredScopes,
399ImmutableArray<TypeWithAnnotations> types,
400ImmutableArray<string> names,
401ImmutableArray<bool> discardsOpt,
403ImmutableArray<EqualsValueClauseSyntax?> defaultValues,
649internal (ImmutableArray<RefKind>, ArrayBuilder<ScopedKind>, ImmutableArray<TypeWithAnnotations>, bool) CollectParameterProperties()
691var parameterRefKinds = parameterRefKindsBuilder.ToImmutableAndFree();
692var parameterTypes = parameterTypesBuilder.ToImmutableAndFree();
823var lambdaParameters = lambdaSymbol.Parameters;
884ImmutableArray<TypeWithAnnotations> parameterTypes,
885ImmutableArray<RefKind> parameterRefKinds,
901ReturnInferenceCacheKey.GetFields(delegateType, IsAsync, out var parameterTypes, out var parameterRefKinds, out _);
905private void ValidateUnsafeParameters(BindingDiagnosticBag diagnostics, ImmutableArray<TypeWithAnnotations> targetParameterTypes)
932ImmutableArray<TypeWithAnnotations> parameterTypes,
933ImmutableArray<RefKind> parameterRefKinds)
949ImmutableArray<DiagnosticInfo>.Empty,
950ImmutableArray<AssemblySymbol>.Empty);
989ImmutableArray<TypeWithAnnotations> parameterTypes,
990ImmutableArray<RefKind> parameterRefKinds,
1025public readonly ImmutableArray<TypeWithAnnotations> ParameterTypes;
1026public readonly ImmutableArray<RefKind> ParameterRefKinds;
1029public static readonly ReturnInferenceCacheKey Empty = new ReturnInferenceCacheKey(ImmutableArray<TypeWithAnnotations>.Empty, ImmutableArray<RefKind>.Empty, null);
1031private ReturnInferenceCacheKey(ImmutableArray<TypeWithAnnotations> parameterTypes, ImmutableArray<RefKind> parameterRefKinds, NamedTypeSymbol? taskLikeReturnTypeOpt)
1080GetFields(delegateType, isAsync, out var parameterTypes, out var parameterRefKinds, out var taskLikeReturnTypeOpt);
1091out ImmutableArray<TypeWithAnnotations> parameterTypes,
1092out ImmutableArray<RefKind> parameterRefKinds,
1097parameterTypes = ImmutableArray<TypeWithAnnotations>.Empty;
1098parameterRefKinds = ImmutableArray<RefKind>.Empty;
1183?? rebind(ReallyInferReturnType(delegateType: null, ImmutableArray<TypeWithAnnotations>.Empty, ImmutableArray<RefKind>.Empty));
1191ReturnInferenceCacheKey.GetFields(delegateType, IsAsync, out var parameterTypes, out var parameterRefKinds, out _);
1199ImmutableArray<TypeWithAnnotations> parameterTypes,
1200ImmutableArray<RefKind> parameterRefKinds)
1234ImmutableArray<DiagnosticInfo>.Empty,
1235ImmutableArray<AssemblySymbol>.Empty))
1375private static FirstAmongEqualsSet<Diagnostic> CreateFirstAmongEqualsSet(ImmutableArray<Diagnostic> bag)
1430private readonly ImmutableArray<SyntaxList<AttributeListSyntax>> _parameterAttributes;
1431private readonly ImmutableArray<string> _parameterNames;
1432private readonly ImmutableArray<bool> _parameterIsDiscardOpt;
1433private readonly ImmutableArray<TypeWithAnnotations> _parameterTypesWithAnnotations;
1434private readonly ImmutableArray<RefKind> _parameterRefKinds;
1435private readonly ImmutableArray<ScopedKind> _parameterDeclaredScopes;
1436private readonly ImmutableArray<EqualsValueClauseSyntax?> _defaultValues;
1445ImmutableArray<SyntaxList<AttributeListSyntax>> parameterAttributes,
1446ImmutableArray<string> parameterNames,
1447ImmutableArray<bool> parameterIsDiscardOpt,
1448ImmutableArray<TypeWithAnnotations> parameterTypesWithAnnotations,
1449ImmutableArray<RefKind> parameterRefKinds,
1450ImmutableArray<ScopedKind> parameterDeclaredScopes,
1451ImmutableArray<EqualsValueClauseSyntax?> defaultValues,
1568var statements = body.Statements;
CodeGen\EmitArrayInitializer.cs (20)
47var initExprs = inits.Initializers;
56ImmutableArray<byte> data = this.GetRawData(initExprs);
68ImmutableArray<BoundExpression> inits,
82ImmutableArray<BoundExpression> inits,
124public IndexDesc(int index, ImmutableArray<BoundExpression> initializers)
131public readonly ImmutableArray<BoundExpression> Initializers;
135ImmutableArray<BoundExpression> inits,
246private ArrayInitializerStyle ShouldEmitBlockInitializer(TypeSymbol elementType, ImmutableArray<BoundExpression> inits)
297private void InitializerCountRecursive(ImmutableArray<BoundExpression> inits, ref int initCount, ref int constInits)
332private ImmutableArray<byte> GetRawData(ImmutableArray<BoundExpression> initializers)
344private void SerializeArrayRecursive(BlobBuilder bw, ImmutableArray<BoundExpression> inits)
368private static bool IsMultidimensionalInitializer(ImmutableArray<BoundExpression> inits)
482ImmutableArray<BoundExpression> initializers = initializer.Initializers;
511ImmutableArray<byte> data = GetRawDataForArrayInit(initializers);
632bool tryEmitAsCachedArrayFromBlob(NamedTypeSymbol spanType, BoundExpression wrappedExpression, int elementCount, ImmutableArray<byte> data, ref ArrayTypeSymbol arrayType, TypeSymbol elementType)
694var initializers = initializer.Initializers;
708ImmutableArray<ConstantValue> constants = initializers.SelectAsArray(static init => init.ConstantValueOpt!);
813private ImmutableArray<byte> GetRawDataForArrayInit(ImmutableArray<BoundExpression> initializers)
CodeGen\Optimizer.cs (21)
692var locals = node.Locals;
720var sideeffects = node.SideEffects;
764var sideeffects = node.SideEffects;
1174receiver = typeExpression.Update(aliasOpt: null, boundContainingTypeOpt: null, boundDimensionsOpt: ImmutableArray<BoundExpression>.Empty,
1188var rewrittenArguments = VisitArguments(node.Arguments, node.Method.Parameters, node.ArgumentRefKindsOpt);
1255private ImmutableArray<BoundExpression> VisitArguments(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parameters, ImmutableArray<RefKind> argRefKindsOpt)
1272private void VisitArgument(ImmutableArray<BoundExpression> arguments, ref ArrayBuilder<BoundExpression> rewrittenArguments, int i, RefKind argRefKind)
1295ImmutableArray<BoundExpression> arguments = node.Arguments;
1296ImmutableArray<RefKind> argRefKindsOpt = node.ArgumentRefKindsOpt;
1319var rewrittenArguments = VisitArguments(node.Arguments, constructor.Parameters, node.ArgumentRefKindsOpt);
1673var catchBlocks = this.VisitList(node.CatchBlocks);
1759var initializers = node.Initializers;
1989private void DeclareLocals(ImmutableArray<LocalSymbol> locals, int stack)
2143ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
2265receiverOpt = typeExpression.Update(aliasOpt: null, boundContainingTypeOpt: null, boundDimensionsOpt: ImmutableArray<BoundExpression>.Empty,
2279ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
2396public override ImmutableArray<Location> Locations
2401public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
CommandLine\CSharpCompiler.cs (8)
42ImmutableArray<AnalyzerConfigOptionsResult> analyzerConfigOptions,
53var sourceFiles = Arguments.SourceFiles;
148var sourceFileResolver = new LoggingSourceFileResolver(ImmutableArray<string>.Empty, Arguments.BaseDirectory, Arguments.PathMap, touchedFilesLogger);
338out ImmutableArray<DiagnosticAnalyzer> analyzers,
339out ImmutableArray<ISourceGenerator> generators)
376private protected override GeneratorDriver CreateGeneratorDriver(string baseDirectory, ParseOptions parseOptions, ImmutableArray<ISourceGenerator> generators, AnalyzerConfigOptionsProvider analyzerConfigOptionsProvider, ImmutableArray<AdditionalText> additionalTexts)
381private protected override void DiagnoseBadAccesses(TextWriter consoleOutput, ErrorLogger? errorLogger, Compilation compilation, ImmutableArray<Diagnostic> diagnostics)
Compilation\BuiltInOperators.cs (24)
28private ImmutableArray<UnaryOperatorSignature>[] _builtInUnaryOperators;
29private ImmutableArray<BinaryOperatorSignature>[][] _builtInOperators;
39private ImmutableArray<UnaryOperatorSignature> GetSignaturesFromUnaryOperatorKinds(int[] operatorKinds)
54var allOperators = new ImmutableArray<UnaryOperatorSignature>[]
237ImmutableArray<UnaryOperatorSignature>.Empty,
238ImmutableArray<UnaryOperatorSignature>.Empty,
292private ImmutableArray<BinaryOperatorSignature> GetSignaturesFromBinaryOperatorKinds(int[] operatorKinds)
307var logicalOperators = new ImmutableArray<BinaryOperatorSignature>[]
309ImmutableArray<BinaryOperatorSignature>.Empty, //multiplication
310ImmutableArray<BinaryOperatorSignature>.Empty, //addition
311ImmutableArray<BinaryOperatorSignature>.Empty, //subtraction
312ImmutableArray<BinaryOperatorSignature>.Empty, //division
313ImmutableArray<BinaryOperatorSignature>.Empty, //remainder
314ImmutableArray<BinaryOperatorSignature>.Empty, //left shift
315ImmutableArray<BinaryOperatorSignature>.Empty, //right shift
316ImmutableArray<BinaryOperatorSignature>.Empty, //equal
317ImmutableArray<BinaryOperatorSignature>.Empty, //not equal
318ImmutableArray<BinaryOperatorSignature>.Empty, //greater than
319ImmutableArray<BinaryOperatorSignature>.Empty, //less than
320ImmutableArray<BinaryOperatorSignature>.Empty, //greater than or equal
321ImmutableArray<BinaryOperatorSignature>.Empty, //less than or equal
323ImmutableArray<BinaryOperatorSignature>.Empty, //xor
325ImmutableArray<BinaryOperatorSignature>.Empty, //unsigned right shift
328var nonLogicalOperators = new ImmutableArray<BinaryOperatorSignature>[]
Compilation\CSharpCompilation.cs (64)
55private ImmutableArray<NamespaceOrTypeAndUsingDirective> _lazyGlobalImports;
70private ConcurrentDictionary<ImportInfo, ImmutableArray<AssemblySymbol>>? _lazyImportInfos;
74private ImmutableArray<Diagnostic> _lazyClsComplianceDiagnostics;
75private ImmutableArray<AssemblySymbol> _lazyClsComplianceDependencies;
412var validatedReferences = ValidateReferences<CSharpCompilationReference>(references);
434ImmutableArray<SyntaxTree>.Empty,
454ImmutableArray<MetadataReference> references,
471ImmutableArray<MetadataReference> references,
534private static LanguageVersion CommonLanguageVersion(ImmutableArray<SyntaxTree> syntaxTrees)
820public new ImmutableArray<SyntaxTree> SyntaxTrees
976syntaxAndDeclarations: syntaxAndDeclarations.WithExternalSyntaxTrees(ImmutableArray<SyntaxTree>.Empty));
1161public override ImmutableArray<MetadataReference> DirectiveReferences
1289public override CompilationReference ToMetadataReference(ImmutableArray<string> aliases = default, bool embedInteropTypes = false)
1567internal ImmutableArray<NamespaceOrTypeAndUsingDirective> GlobalImports
1570private ImmutableArray<NamespaceOrTypeAndUsingDirective> BindGlobalImports()
1574var previousSubmissionImports = previousSubmission is object ? Imports.ExpandPreviousSubmissionImports(previousSubmission.GlobalImports, this) : ImmutableArray<NamespaceOrTypeAndUsingDirective>.Empty;
1778ImmutableArray<Symbol>.Empty,
1779ImmutableArray<Location>.Empty
2431private sealed class InterceptorKeyComparer : IEqualityComparer<(ImmutableArray<byte> ContentHash, int Position)>
2436public bool Equals((ImmutableArray<byte> ContentHash, int Position) x, (ImmutableArray<byte> ContentHash, int Position) y)
2441public int GetHashCode((ImmutableArray<byte> ContentHash, int Position) obj)
2450private ConcurrentDictionary<(ImmutableArray<byte> ContentHash, int Position), OneOrMany<(Location AttributeLocation, MethodSymbol Interceptor)>>? _interceptions;
2452internal void AddInterception(ImmutableArray<byte> contentHash, int position, Location attributeLocation, MethodSymbol interceptor)
2458() => new ConcurrentDictionary<(ImmutableArray<byte> ContentHash, int Position), OneOrMany<(Location AttributeLocation, MethodSymbol Interceptor)>>(comparer: InterceptorKeyComparer.Instance));
2674ImmutableArray<AssemblySymbol> dependencies = pair.Value;
2780internal void RecordImportDependencies(UsingDirectiveSyntax syntax, ImmutableArray<AssemblySymbol> dependencies)
2885public override ImmutableArray<Diagnostic> GetParseDiagnostics(CancellationToken cancellationToken = default)
2894public override ImmutableArray<Diagnostic> GetDeclarationDiagnostics(CancellationToken cancellationToken = default)
2902public override ImmutableArray<Diagnostic> GetMethodBodyDiagnostics(CancellationToken cancellationToken = default)
2911public override ImmutableArray<Diagnostic> GetDiagnostics(CancellationToken cancellationToken = default)
2916internal ImmutableArray<Diagnostic> GetDiagnostics(CompilationStage stage, bool includeEarlierStages, Predicate<ISymbolInternal>? symbolFilter, CancellationToken cancellationToken)
2945var syntaxTrees = this.SyntaxTrees;
3027ImmutableArray<LoadDirective> loadDirectives;
3087private ImmutableArray<Diagnostic> GetDiagnosticsForMethodBodiesInTree(SyntaxTree tree, TextSpan? span, CancellationToken cancellationToken)
3264return new ReadOnlyBindingDiagnostic<AssemblySymbol>(result.AsImmutable(), ImmutableArray<AssemblySymbol>.Empty);
3302internal ImmutableArray<Diagnostic> GetDiagnosticsForSyntaxTree(
3571public bool CheckDuplicateFilePathsAndFree(ImmutableArray<SyntaxTree> syntaxTrees, NamespaceSymbol globalNamespace)
3727ImmutableArray<ModuleSymbol> modules = SourceAssembly.Modules;
3732ImmutableArray<EmbeddedResource> resources;
3861private static bool ChecksumMatches(string bytesText, ImmutableArray<byte> bytes)
3883private static ImmutableArray<byte> MakeChecksumBytes(string bytesText)
3951protected internal override ImmutableArray<SyntaxTree> CommonSyntaxTrees
4042ImmutableArray<ITypeSymbol> parameterTypes,
4043ImmutableArray<RefKind> parameterRefKinds,
4045ImmutableArray<INamedTypeSymbol> callingConventionTypes)
4098: ImmutableArray<CustomModifier>.Empty;
4137ImmutableArray<ITypeSymbol> elementTypes,
4138ImmutableArray<string?> elementNames,
4139ImmutableArray<Location?> elementLocations,
4140ImmutableArray<CodeAnalysis.NullableAnnotation> elementNullableAnnotations)
4164ImmutableArray<string?> elementNames,
4165ImmutableArray<Location?> elementLocations,
4166ImmutableArray<CodeAnalysis.NullableAnnotation> elementNullableAnnotations)
4192ImmutableArray<ITypeSymbol> memberTypes,
4193ImmutableArray<string> memberNames,
4194ImmutableArray<Location> memberLocations,
4195ImmutableArray<bool> memberIsReadOnly,
4196ImmutableArray<CodeAnalysis.NullableAnnotation> memberNullableAnnotations)
4753internal override AnalyzerDriver CreateAnalyzerDriver(ImmutableArray<DiagnosticAnalyzer> analyzers, AnalyzerManager analyzerManager, SeverityFilter severityFilter)
4786var preprocessorSymbols = GetPreprocessorSymbols();
4801private ImmutableArray<string> GetPreprocessorSymbols()
4807return ImmutableArray<string>.Empty;
Compilation\CSharpSemanticModel.cs (81)
167internal abstract BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols);
177internal abstract ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken));
187internal abstract ImmutableArray<IPropertySymbol> GetIndexerGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken));
279protected BoundExpression GetSpeculativelyBoundExpressionWithoutNullability(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
286crefSymbols = default(ImmutableArray<Symbol>);
324internal static ImmutableArray<Symbol> BindCref(CrefSyntax crefSyntax, Binder binder)
327var symbols = binder.BindCref(crefSyntax, out unusedAmbiguityWinner, BindingDiagnosticBag.Discarded);
336ImmutableArray<Symbol> symbols = BindCref(crefSyntax, binder);
721ImmutableArray<Symbol> crefSymbols;
1051ImmutableArray<Symbol> crefSymbols;
1084public ImmutableArray<ISymbol> GetMemberGroup(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken))
1090: ImmutableArray<ISymbol>.Empty;
1098public ImmutableArray<ISymbol> GetMemberGroup(AttributeSyntax attribute, CancellationToken cancellationToken = default(CancellationToken))
1104: ImmutableArray<ISymbol>.Empty;
1112public ImmutableArray<ISymbol> GetMemberGroup(ConstructorInitializerSyntax initializer, CancellationToken cancellationToken = default(CancellationToken))
1118: ImmutableArray<ISymbol>.Empty;
1135public ImmutableArray<IPropertySymbol> GetIndexerGroup(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken))
1141: ImmutableArray<IPropertySymbol>.Empty;
1198ImmutableArray<Symbol> crefSymbols;
1413public ImmutableArray<ISymbol> LookupSymbols(
1458public new ImmutableArray<ISymbol> LookupBaseMembers(
1483public ImmutableArray<ISymbol> LookupStaticMembers(
1509public ImmutableArray<ISymbol> LookupNamespacesAndTypes(
1531public new ImmutableArray<ISymbol> LookupLabels(
1558private ImmutableArray<ISymbol> LookupSymbolsInternal(
1585return ImmutableArray<ISymbol>.Empty;
1597return ImmutableArray<ISymbol>.Empty;
1903boundExpr, boundNodeForSyntacticParent, binderOpt, options, out bool isDynamic, out LookupResultKind resultKind, out ImmutableArray<Symbol> unusedMemberGroup);
1909ImmutableArray<Symbol> unusedHighestMemberGroup;
1949return SymbolInfoFactory.Create(ImmutableArray<Symbol>.Empty, LookupResultKind.Empty, isDynamic);
2155conversion = Conversion.MakeConditionalExpression(ImmutableArray<Conversion>.Empty);
2272internal ImmutableArray<Symbol> GetMemberGroupForNode(
2281ImmutableArray<Symbol> memberGroup;
2288return ImmutableArray<Symbol>.Empty;
2295internal ImmutableArray<IPropertySymbol> GetIndexerGroupForNode(
2305return ImmutableArray<IPropertySymbol>.Empty;
3221internal abstract ImmutableArray<ISymbol> GetDeclaredSymbols(BaseFieldDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken));
3224ImmutableArray<ParameterSymbol> parameters,
3348out ImmutableArray<Symbol> memberGroup)
3350memberGroup = ImmutableArray<Symbol>.Empty;
3486ImmutableArray<PropertySymbol> originalIndexersOpt = indexerAccess.OriginalIndexersOpt;
3595var candidateSymbols = errorType.CandidateSymbols;
3939private static void GetSymbolsAndResultKind(BoundExpression node, Symbol symbolOpt, ImmutableArray<MethodSymbol> originalCandidates, out OneOrMany<Symbol> symbols, out LookupResultKind resultKind)
3967ref ImmutableArray<Symbol> memberGroup)
4020ref ImmutableArray<Symbol> memberGroup)
4033ImmutableArray<MethodSymbol> candidateConstructors;
4037var instanceConstructors = typeSymbolOpt.IsInterfaceType() && (object)typeSymbolOpt.ComImportCoClass != null ?
4054candidateConstructors = ImmutableArray<MethodSymbol>.Empty;
4081private ImmutableArray<IPropertySymbol> GetIndexerGroupSemanticSymbols(BoundExpression boundNode, Binder binderOpt)
4089return ImmutableArray<IPropertySymbol>.Empty;
4099return ImmutableArray<IPropertySymbol>.Empty;
4102var result = FilterOverriddenOrHiddenIndexers(symbols);
4108private static ImmutableArray<IPropertySymbol> FilterOverriddenOrHiddenIndexers(ArrayBuilder<ISymbol> symbols)
4195private static ImmutableArray<MethodSymbol> FilterOverriddenOrHiddenMethods(ImmutableArray<MethodSymbol> methods)
4238out ImmutableArray<Symbol> methodGroup)
4332ImmutableArray<Symbol> myMethodGroup = methodGroup;
4390out ImmutableArray<Symbol> propertyGroup)
4433ImmutableArray<Symbol> myPropertyGroup = propertyGroup;
4550private static ParameterSymbol FindNamedParameter(ImmutableArray<ParameterSymbol> parameters, string argumentName)
4561internal static ImmutableArray<MethodSymbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
4566var typeArguments = node.TypeArgumentsOpt;
4574ImmutableArray<MethodSymbol> nonHiddenMethods = FilterOverriddenOrHiddenMethods(node.Methods);
4666ImmutableArray<TypeWithAnnotations> typeArguments,
4705ImmutableArray<TypeWithAnnotations> typeArguments,
4749var methods = call.OriginalMethodsOpt;
4773AddReducedAndFilteredMethodGroupSymbol(methodBuilder, filteredMethodBuilder, method, default(ImmutableArray<TypeWithAnnotations>), extensionThisType, compilation);
4998private ImmutableArray<ISymbol> GetMemberGroupFromNode(SyntaxNode node, CancellationToken cancellationToken)
5012return ImmutableArray<ISymbol>.Empty;
5015protected sealed override ImmutableArray<ISymbol> GetMemberGroupCore(SyntaxNode node, CancellationToken cancellationToken)
5017var methodGroup = this.GetMemberGroupFromNode(node, cancellationToken);
5164protected sealed override ImmutableArray<ISymbol> GetDeclaredSymbolsCore(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken))
5190: ImmutableArray<ISymbol>.Empty;
5226var checksum = text.GetContentHash();
5279protected sealed override ImmutableArray<ISymbol> LookupSymbolsCore(int position, INamespaceOrTypeSymbol container, string name, bool includeReducedExtensionMethods)
5284protected sealed override ImmutableArray<ISymbol> LookupBaseMembersCore(int position, string name)
5289protected sealed override ImmutableArray<ISymbol> LookupStaticMembersCore(int position, INamespaceOrTypeSymbol container, string name)
5294protected sealed override ImmutableArray<ISymbol> LookupNamespacesAndTypesCore(int position, INamespaceOrTypeSymbol container, string name)
5299protected sealed override ImmutableArray<ISymbol> LookupLabelsCore(int position, string name)
5405private protected sealed override ImmutableArray<IImportScope> GetImportScopesCore(int position, CancellationToken cancellationToken)
5423xmlNamespaces: ImmutableArray<ImportedXmlNamespace>.Empty));
Compilation\MemberSemanticModel.cs (10)
191internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
571public sealed override ImmutableArray<Diagnostic> GetSyntaxDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
576public sealed override ImmutableArray<Diagnostic> GetDeclarationDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
581public sealed override ImmutableArray<Diagnostic> GetMethodBodyDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
586public sealed override ImmutableArray<Diagnostic> GetDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
822internal override ImmutableArray<ISymbol> GetDeclaredSymbols(BaseFieldDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
1128var elements = tupleLiteralType.TupleElements;
1232internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken))
1244internal override ImmutableArray<IPropertySymbol> GetIndexerGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken))
1831private static BoundExpression GetContainingArgument(ImmutableArray<BoundExpression> arguments, int position)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (8)
235public override ImmutableArray<Diagnostic> GetSyntaxDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
240public override ImmutableArray<Diagnostic> GetDeclarationDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
245public override ImmutableArray<Diagnostic> GetMethodBodyDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
250public override ImmutableArray<Diagnostic> GetDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
370internal override ImmutableArray<ISymbol> GetDeclaredSymbols(BaseFieldDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
460internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken))
465internal override ImmutableArray<IPropertySymbol> GetIndexerGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken))
565internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
Compilation\SyntaxAndDeclarationManager.cs (21)
28ImmutableArray<SyntaxTree> externalSyntaxTrees,
50ImmutableArray<SyntaxTree> externalSyntaxTrees,
58var loadDirectiveMapBuilder = PooledDictionary<SyntaxTree, ImmutableArray<LoadDirective>>.GetInstance();
161IDictionary<SyntaxTree, ImmutableArray<LoadDirective>> loadDirectiveMapBuilder,
196IDictionary<SyntaxTree, ImmutableArray<LoadDirective>> loadDirectiveMapBuilder,
313var syntaxTrees = state.SyntaxTrees;
320ImmutableArray<LoadDirective> unused2;
385ImmutableArray<SyntaxTree> syntaxTrees,
387ImmutableDictionary<SyntaxTree, ImmutableArray<LoadDirective>> loadDirectiveMap,
391out ImmutableArray<LoadDirective> oldLoadDirectives)
400oldLoadDirectives = ImmutableArray<LoadDirective>.Empty;
415ImmutableArray<LoadDirective> loadDirectives;
433ImmutableArray<LoadDirective> loadDirectives,
434ImmutableDictionary<SyntaxTree, ImmutableArray<LoadDirective>> loadDirectiveMap,
445ImmutableArray<LoadDirective> nestedLoadDirectives;
477var syntaxTrees = state.SyntaxTrees;
483ImmutableArray<LoadDirective> oldLoadDirectives;
514ImmutableArray<SyntaxTree> newTrees;
663internal SyntaxAndDeclarationManager WithExternalSyntaxTrees(ImmutableArray<SyntaxTree> trees)
678ImmutableDictionary<SyntaxTree, ImmutableArray<LoadDirective>> loadDirectiveMap,
684ImmutableArray<LoadDirective> loadDirectives;
Compilation\SyntaxTreeSemanticModel.cs (15)
114public override ImmutableArray<Diagnostic> GetSyntaxDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
121public override ImmutableArray<Diagnostic> GetDeclarationDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
128public override ImmutableArray<Diagnostic> GetMethodBodyDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
135public override ImmutableArray<Diagnostic> GetDiagnostics(TextSpan? span = null, CancellationToken cancellationToken = default(CancellationToken))
255var symbols = binder.BindXmlNameAttribute(attrSyntax, ref discardedUseSiteInfo);
397internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken))
403return model == null ? ImmutableArray<Symbol>.Empty : model.GetMemberGroupWorker(node, options, cancellationToken);
406internal override ImmutableArray<IPropertySymbol> GetIndexerGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken))
412return model == null ? ImmutableArray<IPropertySymbol>.Empty : model.GetIndexerGroupWorker(node, options, cancellationToken);
738internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
1759var collection = name != null ? container.GetMembers(name) : container.GetMembersUnordered();
1930var usingAliases = binder.UsingAliases;
1963var externAliases = binder.ExternAliases;
1988internal override ImmutableArray<ISymbol> GetDeclaredSymbols(BaseFieldDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
2174private TypeParameterSymbol GetTypeParameterSymbol(ImmutableArray<TypeParameterSymbol> parameters, TypeParameterSyntax parameter)
Compiler\DocumentationCommentCompiler.cs (19)
294if (!TryGetDocumentationCommentNodes(symbolForDocComments, out var maxDocumentationMode, out var docCommentNodes))
330ImmutableArray<CSharpSyntaxNode> includeElementNodes;
419ImmutableArray<DocumentationCommentTriviaSyntax> docCommentNodes,
421out ImmutableArray<CSharpSyntaxNode> includeElementNodes)
452static ArrayBuilder<XmlElementSyntax>? getMatchingParamTags(string propertyName, ImmutableArray<DocumentationCommentTriviaSyntax> docCommentNodes)
494ImmutableArray<DocumentationCommentTriviaSyntax> docCommentNodes,
499out ImmutableArray<CSharpSyntaxNode> includeElementNodes)
579includeElementNodes = default(ImmutableArray<CSharpSyntaxNode>);
594includeElementNodes = _processIncludes ? includeElementNodesBuilder.ToImmutableAndFree() : default(ImmutableArray<CSharpSyntaxNode>);
615private static ImmutableArray<ParameterSymbol> GetParameters(Symbol symbol)
632return ImmutableArray<ParameterSymbol>.Empty;
638private static ImmutableArray<TypeParameterSymbol> GetTypeParameters(Symbol symbol)
648return ImmutableArray<TypeParameterSymbol>.Empty;
687private bool TryGetDocumentationCommentNodes(Symbol symbol, out DocumentationMode maxDocumentationMode, out ImmutableArray<DocumentationCommentTriviaSyntax> nodes)
690nodes = default(ImmutableArray<DocumentationCommentTriviaSyntax>);
700ImmutableArray<DocumentationCommentTriviaSyntax> triviaList = SourceDocumentationCommentUtils.GetDocumentationCommentTriviaFromSyntaxNode((CSharpSyntaxNode)reference.GetSyntax(), diagnosticBag);
727nodes = ImmutableArray<DocumentationCommentTriviaSyntax>.Empty;
1072ImmutableArray<Symbol> symbols = binder.BindCref(crefSyntax, out ambiguityWinner, diagnostics);
1161ImmutableArray<Symbol> referencedSymbols = binder.BindXmlNameAttribute(syntax, ref useSiteInfo);
Compiler\MethodCompiler.cs (44)
168var embeddedTypes = moduleBeingBuiltOpt.GetEmbeddedTypes(diagnostics);
279out ImmutableArray<SourceSpan> codeCoverageSpans,
308ImmutableArray<EncLambdaInfo>.Empty,
309ImmutableArray<LambdaRuntimeRudeEditInfo>.Empty,
310ImmutableArray<EncClosureInfo>.Empty,
311ImmutableArray<StateMachineStateDebugInfo>.Empty,
318codeCoverageSpans: ImmutableArray<SourceSpan>.Empty,
493var members = containingType.GetMembers();
638var processedInitializers = new Binder.ProcessedFieldInitializers() { BoundInitializers = ImmutableArray<BoundInitializer>.Empty };
682private void CompileSynthesizedMethods(ImmutableArray<NamedTypeSymbol> additionalTypes, BindingDiagnosticBag diagnostics)
765ImmutableArray<EncLambdaInfo>.Empty,
766ImmutableArray<LambdaRuntimeRudeEditInfo>.Empty,
767ImmutableArray<EncClosureInfo>.Empty,
775codeCoverageSpans: ImmutableArray<SourceSpan>.Empty,
823var interfaces = sourceTypeSymbol.GetInterfacesToEmit();
900sourceMethod.SetDiagnostics(ImmutableArray<Diagnostic>.Empty, out diagsWritten);
913var cachedDiagnostics = sourceMethod.Diagnostics;
961body = new BoundBlock(methodSymbol.GetNonNullSyntaxNode(), ImmutableArray<LocalSymbol>.Empty, ImmutableArray<BoundStatement>.Empty) { WasCompilerGenerated = true };
1004new BoundBlock(analyzedInitializers.Syntax, ImmutableArray<LocalSymbol>.Empty, analyzedInitializers.Statements), // The block is necessary to establish the right local scope for the analysis
1162ImmutableArray<SourceSpan> codeCoverageSpans;
1198codeCoverageSpans = ImmutableArray<SourceSpan>.Empty;
1214ImmutableArray<BoundStatement> boundStatements;
1222boundStatements = ImmutableArray<BoundStatement>.Empty;
1260out ImmutableArray<SourceSpan> initializerCodeCoverageSpans,
1370out ImmutableArray<SourceSpan> codeCoverageSpans,
1384codeCoverageSpans = ImmutableArray<SourceSpan>.Empty;
1476codeCoverageSpans = ImmutableArray<SourceSpan>.Empty;
1490ImmutableArray<EncLambdaInfo> lambdaDebugInfo,
1491ImmutableArray<LambdaRuntimeRudeEditInfo> orderedLambdaRuntimeRudeEdits,
1492ImmutableArray<EncClosureInfo> closureDebugInfo,
1493ImmutableArray<StateMachineStateDebugInfo> stateMachineStateDebugInfos,
1500ImmutableArray<SourceSpan> codeCoverageSpans,
1548codeGen.Generate(out int asyncCatchHandlerOffset, out var asyncYieldPoints, out var asyncResumePoints, out hasStackalloc);
1580builder.GetHoistedLocalScopes() : default(ImmutableArray<StateMachineHoistedLocalScope>);
1603var stateMachineHoistedLocalSlots = default(ImmutableArray<EncHoistedLocalInfo>);
1604var stateMachineAwaiterSlots = default(ImmutableArray<Cci.ITypeReference>);
1655out ImmutableArray<EncHoistedLocalInfo> hoistedVariableSlots,
1656out ImmutableArray<Cci.ITypeReference> awaiterSlots)
1942ImmutableArray<BoundStatement> statements;
1951statements = ImmutableArray<BoundStatement>.Empty;
Declarations\DeclarationTreeBuilder.cs (22)
123private ImmutableArray<SingleNamespaceOrTypeDeclaration> VisitNamespaceChildren(
134return ImmutableArray<SingleNamespaceOrTypeDeclaration>.Empty;
190var diagnostics = ImmutableArray<Diagnostic>.Empty;
227children: ImmutableArray<SingleTypeDeclaration>.Empty,
228diagnostics: ImmutableArray<Diagnostic>.Empty,
232private static SingleNamespaceOrTypeDeclaration CreateSimpleProgram(GlobalStatementSyntax firstGlobalStatement, bool hasAwaitExpressions, bool isIterator, bool hasReturnWithExpression, ImmutableArray<Diagnostic> diagnostics)
255children: ImmutableArray<SingleTypeDeclaration>.Empty,
303private static ImmutableArray<ReferenceDirective> GetReferenceDirectives(CompilationUnitSyntax compilationUnit)
309return ImmutableArray<ReferenceDirective>.Empty;
322ImmutableArray<SingleTypeDeclaration> children,
343diagnostics: ImmutableArray<Diagnostic>.Empty,
355diagnostics: ImmutableArray<Diagnostic>.Empty);
399var children = VisitNamespaceChildren(compilationUnit, compilationUnit.Members, ((Syntax.InternalSyntax.CompilationUnitSyntax)(compilationUnit.Green)).Members);
432private RootSingleNamespaceDeclaration CreateRootSingleNamespaceDeclaration(CompilationUnitSyntax compilationUnit, ImmutableArray<SingleNamespaceOrTypeDeclaration> children, bool isForScript)
469referenceDirectives: isForScript ? GetReferenceDirectives(compilationUnit) : ImmutableArray<ReferenceDirective>.Empty,
501var children = VisitNamespaceChildren(node, node.Members, ((Syntax.InternalSyntax.BaseNamespaceDeclarationSyntax)node.Green).Members);
516diagnostics: ImmutableArray<Diagnostic>.Empty);
783private ImmutableArray<SingleTypeDeclaration> VisitTypeChildren(TypeDeclarationSyntax node)
787return ImmutableArray<SingleTypeDeclaration>.Empty;
826children: ImmutableArray<SingleTypeDeclaration>.Empty,
864children: ImmutableArray<SingleTypeDeclaration>.Empty,
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (36)
32IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>? otherSynthesizedMembers,
33IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>? otherDeletedMembers)
101private readonly IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>? _otherSynthesizedMembers;
103private readonly IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>? _otherDeletedMembers;
114private readonly ConcurrentDictionary<ISymbolInternal, IReadOnlyDictionary<string, ImmutableArray<ISymbolInternal>>> _otherMembers = new(ReferenceEqualityComparer.Instance);
120IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>? otherSynthesizedMembers,
121IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>? otherDeletedMembers,
156var otherModifiers = VisitCustomModifiers(symbol.ElementTypeWithAnnotations.CustomModifiers);
290var otherTypeParameters = otherDef.GetAllTypeParameters();
382var otherModifiers = VisitCustomModifiers(symbol.PointedAtTypeWithAnnotations.CustomModifiers);
396var otherRefCustomModifiers = VisitCustomModifiers(sig.RefCustomModifiers);
399var otherParameterTypes = ImmutableArray<TypeWithAnnotations>.Empty;
400ImmutableArray<ImmutableArray<CustomModifier>> otherParamRefCustomModifiers = default;
405var otherParamRefCustomModifiersBuilder = ArrayBuilder<ImmutableArray<CustomModifier>>.GetInstance(sig.ParameterCount);
451private ImmutableArray<CustomModifier> VisitCustomModifiers(ImmutableArray<CustomModifier> modifiers)
552if (otherMembersByName.TryGetValue(sourceMember.MetadataName, out var otherMembers))
611var typeParameters = method.TypeParameters;
636var typeParameters = type.TypeParameters;
694private static void ValidateFunctionPointerParamOrReturn(TypeWithAnnotations type, RefKind refKind, ImmutableArray<CustomModifier> refCustomModifiers, bool allowOut)
699static bool verifyRefModifiers(ImmutableArray<CustomModifier> modifiers, RefKind refKind, bool allowOut)
777private IReadOnlyDictionary<string, ImmutableArray<ISymbolInternal>> GetAllEmittedMembers(ISymbolInternal symbol)
795if (_otherSynthesizedMembers != null && _otherSynthesizedMembers.TryGetValue(symbol, out var synthesizedMembers))
800if (_otherDeletedMembers?.TryGetValue(symbol, out var deletedMembers) == true)
862var translatedModifiers = VisitCustomModifiers(symbol.ElementTypeWithAnnotations.CustomModifiers);
905var translatedModifiers = VisitCustomModifiers(symbol.PointedAtTypeWithAnnotations.CustomModifiers);
914var translatedRefCustomModifiers = VisitCustomModifiers(sig.RefCustomModifiers);
916var translatedParameterTypes = ImmutableArray<TypeWithAnnotations>.Empty;
917ImmutableArray<ImmutableArray<CustomModifier>> translatedParamRefCustomModifiers = default;
922var translatedParamRefCustomModifiersBuilder = ArrayBuilder<ImmutableArray<CustomModifier>>.GetInstance(sig.ParameterCount);
943private ImmutableArray<CustomModifier> VisitCustomModifiers(ImmutableArray<CustomModifier> modifiers)
Emitter\Model\PEAssemblyBuilder.cs (34)
28private readonly ImmutableArray<NamedTypeSymbol> _additionalTypes;
30private ImmutableArray<Cci.IFileReference> _lazyFiles;
33private ImmutableArray<Cci.IFileReference> _lazyFilesWithoutManifestResources;
73ImmutableArray<NamedTypeSymbol> additionalTypes)
88public sealed override ImmutableArray<NamedTypeSymbol> GetAdditionalTopLevelTypes()
91internal sealed override ImmutableArray<NamedTypeSymbol> GetEmbeddedTypes(BindingDiagnosticBag diagnostics)
121ImmutableArray<Cci.IFileReference> getFiles(ref ImmutableArray<Cci.IFileReference> lazyFiles)
128var modules = _sourceAssembly.Modules;
167var modules = _sourceAssembly.Modules;
203ImmutableArray<TypedConstant>.Empty,
204ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
207internal override SynthesizedAttributeData SynthesizeNullableAttribute(WellKnownMember member, ImmutableArray<TypedConstant> arguments)
216ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
222internal override SynthesizedAttributeData SynthesizeNullableContextAttribute(ImmutableArray<TypedConstant> arguments)
230ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
236internal override SynthesizedAttributeData SynthesizeNullablePublicOnlyAttribute(ImmutableArray<TypedConstant> arguments)
244ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
250internal override SynthesizedAttributeData SynthesizeNativeIntegerAttribute(WellKnownMember member, ImmutableArray<TypedConstant> arguments)
259ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
272ImmutableArray<TypedConstant>.Empty,
273ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
279internal override SynthesizedAttributeData SynthesizeRefSafetyRulesAttribute(ImmutableArray<TypedConstant> arguments)
287ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
300ImmutableArray<TypedConstant>.Empty,
301ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
314ImmutableArray<TypedConstant>.Empty,
315ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
328ImmutableArray<TypedConstant>.Empty,
329ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
342ImmutableArray<TypedConstant>.Empty,
343ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
356ImmutableArray<TypedConstant>.Empty,
357ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
Emitter\Model\PEModuleBuilder.cs (33)
31private readonly ConcurrentDictionary<ImportChain, ImmutableArray<Cci.UsedNamespaceOrType>> _translatedImportsMap =
32new ConcurrentDictionary<ImportChain, ImmutableArray<Cci.UsedNamespaceOrType>>(ReferenceEqualityComparer.Instance);
43private ImmutableArray<Cci.ExportedType> _lazyExportedTypes;
147public sealed override ImmutableArray<Cci.UsedNamespaceOrType> GetImports() => ImmutableArray<Cci.UsedNamespaceOrType>.Empty;
154ImmutableArray<ModuleSymbol> modules = SourceModule.ContainingAssembly.Modules;
216public sealed override IEnumerable<(Cci.ITypeDefinition, ImmutableArray<Cci.DebugSourceDocument>)> GetTypeToDebugDocumentMap(EmitContext context)
508internal virtual ImmutableArray<AnonymousTypeKey> GetPreviousAnonymousTypes()
510return ImmutableArray<AnonymousTypeKey>.Empty;
513internal virtual ImmutableArray<SynthesizedDelegateKey> GetPreviousAnonymousDelegates()
515return ImmutableArray<SynthesizedDelegateKey>.Empty;
610public sealed override ImmutableArray<Cci.ExportedType> GetExportedTypes(DiagnosticBag diagnostics)
631private ImmutableArray<Cci.ExportedType> CalculateExportedTypes()
638var modules = sourceAssembly.Modules;
669private void ReportExportedTypeNameCollisions(ImmutableArray<Cci.ExportedType> exportedTypes, DiagnosticBag diagnostics)
789ImmutableArray<NamedTypeSymbol> nested = type.GetTypeMembers(); // Ordered.
1364internal ImmutableArray<Cci.IParameterTypeInformation> Translate(ImmutableArray<ParameterSymbol> @params)
1403private ImmutableArray<Cci.IParameterTypeInformation> TranslateAll(ImmutableArray<ParameterSymbol> @params)
1605internal virtual SynthesizedAttributeData SynthesizeNullableAttribute(WellKnownMember member, ImmutableArray<TypedConstant> arguments)
1625internal virtual SynthesizedAttributeData SynthesizeNullableContextAttribute(ImmutableArray<TypedConstant> arguments)
1658attribute = SynthesizeNativeIntegerAttribute(WellKnownMember.System_Runtime_CompilerServices_NativeIntegerAttribute__ctor, ImmutableArray<TypedConstant>.Empty);
1666var arguments = ImmutableArray.Create(new TypedConstant(boolArray, transformFlags));
1674internal virtual SynthesizedAttributeData SynthesizeNativeIntegerAttribute(WellKnownMember member, ImmutableArray<TypedConstant> arguments)
1705internal virtual SynthesizedAttributeData SynthesizeRefSafetyRulesAttribute(ImmutableArray<TypedConstant> arguments)
1719internal virtual SynthesizedAttributeData SynthesizeNullablePublicOnlyAttribute(ImmutableArray<TypedConstant> arguments)
2068public sealed override ImmutableArray<NamedTypeSymbol> GetEmbeddedTypes(DiagnosticBag diagnostics)
2072var result = GetEmbeddedTypes(bindingDiagnostics);
2079internal virtual ImmutableArray<NamedTypeSymbol> GetEmbeddedTypes(BindingDiagnosticBag diagnostics)
2084internal bool TryGetTranslatedImports(ImportChain chain, out ImmutableArray<Cci.UsedNamespaceOrType> imports)
2089internal ImmutableArray<Cci.UsedNamespaceOrType> GetOrAddTranslatedImports(ImportChain chain, ImmutableArray<Cci.UsedNamespaceOrType> imports)
Emitter\NoPia\EmbeddedTypesManager.cs (9)
124internal override CSharpAttributeData CreateSynthesizedAttribute(WellKnownMember constructor, ImmutableArray<TypedConstant> constructorArguments, ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
140ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
149ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
156internal override bool TryGetAttributeArguments(CSharpAttributeData attrData, out ImmutableArray<TypedConstant> constructorArguments, out ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
189protected override void OnGetTypesCompleted(ImmutableArray<EmbeddedType> types, DiagnosticBag diagnostics)
628internal static ImmutableArray<EmbeddedParameter> EmbedParameters(
630ImmutableArray<ParameterSymbol> underlyingParameters)
Errors\CSDiagnosticInfo.cs (8)
23: this(code, Array.Empty<object>(), ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty)
28: this(code, args, ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty)
32internal CSDiagnosticInfo(ErrorCode code, ImmutableArray<Symbol> symbols, object[] args)
33: this(code, args, symbols, ImmutableArray<Location>.Empty)
37internal CSDiagnosticInfo(ErrorCode code, object[] args, ImmutableArray<Symbol> symbols, ImmutableArray<Location> additionalLocations)
FlowAnalysis\AbstractFlowPass.cs (27)
316protected virtual void EnterParameters(ImmutableArray<ParameterSymbol> parameters)
328ImmutableArray<ParameterSymbol> parameters,
421protected virtual ImmutableArray<PendingBranch> Scan(ref bool badRegion)
432ImmutableArray<PendingBranch> result = RemoveReturns();
436protected ImmutableArray<PendingBranch> Analyze(ref bool badRegion, Optional<TLocalState> initialState = default)
438ImmutableArray<PendingBranch> returns;
466protected ImmutableArray<ParameterSymbol> MethodParameters
471return (object)method == null ? ImmutableArray<ParameterSymbol>.Empty : method.Parameters;
531protected virtual ImmutableArray<PendingBranch> RemoveReturns()
533ImmutableArray<PendingBranch> result;
1132VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), null);
1311private void VisitStatements(ImmutableArray<BoundStatement> statements)
1516protected virtual void VisitArguments(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKindsOpt, MethodSymbol method)
1523private void VisitArgumentsBeforeCall(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKindsOpt)
1543private void VisitArgumentsAfterCall(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKindsOpt, MethodSymbol method)
1566protected static RefKind GetRefKind(ImmutableArray<RefKind> refKindsOpt, int index)
2080private void VisitCollectionExpression(ImmutableArray<BoundNode> elements)
3157var sideEffects = node.SideEffects;
3533VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), node.Constructor);
3572private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers)
3584var arguments = node.Arguments;
3617VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), node.AddMethod);
3623VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), node.AddMethod);
3631VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), method: null);
FlowAnalysis\DataFlowsOutWalker.cs (4)
25private readonly ImmutableArray<ISymbol> _dataFlowsIn;
27private DataFlowsOutWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn)
33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn)
67protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion)
FlowAnalysis\FlowAnalysisPass.cs (8)
48ImmutableArray<FieldSymbol> implicitlyInitializedFields = default;
69else if (Analyze(compilation, method, block, diagnostics.DiagnosticBag, out var needsImplicitReturn, out var unusedImplicitlyInitializedFields))
85var newStatements = block.Statements.Add(new BoundReturnStatement(trailingExpression.Syntax, RefKind.None, trailingExpression, @checked: false));
86block = new BoundBlock(block.Syntax, ImmutableArray<LocalSymbol>.Empty, newStatements) { WasCompilerGenerated = true };
110private static BoundBlock PrependImplicitInitializations(BoundBlock body, MethodSymbol method, ImmutableArray<FieldSymbol> implicitlyInitializedFields, TypeCompilationState compilationState, BindingDiagnosticBag diagnostics)
169var statements = body.Statements;
176return body.Update(body.Locals, ImmutableArray<LocalFunctionSymbol>.Empty, body.HasUnsafeModifier, body.Instrumentation, builder.ToImmutableAndFree());
213out ImmutableArray<FieldSymbol> implicitlyInitializedFieldsOpt)
FlowAnalysis\NullableWalker.cs (153)
269private static readonly ImmutableArray<BoundKind> s_skippedExpressions = ImmutableArray.Create(BoundKind.ArrayInitialization,
579protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion)
601ImmutableArray<PendingBranch> pendingReturns = base.Scan(ref badRegion);
657: ImmutableArray<string>.Empty;
682checkMemberStateOnConstructorExit(method, member, state, thisSlot, exitLocation, membersWithStateEnforcedByRequiredMembers: ImmutableArray<string>.Empty, forcePropertyAnalysis: true);
704void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member, LocalState state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis)
790var info = new CSDiagnosticInfo(errorCode, new object[] { symbol.Kind.Localize(), symbol.Name }, ImmutableArray<Symbol>.Empty, additionalLocations: symbol.Locations);
862ImmutableArray<Symbol> getMembersNeedingDefaultInitialState()
866return ImmutableArray<Symbol>.Empty;
906static ImmutableArray<Symbol> membersToBeInitialized(NamedTypeSymbol containingType, bool includeAllMembers, bool includeCurrentTypeRequiredMembers, bool includeBaseRequiredMembers)
911=> ImmutableArray<Symbol>.Empty,
944static ImmutableArray<Symbol> getAllTypeAndRequiredMembers(TypeSymbol containingType)
946var members = containingType.GetMembersUnordered();
1091void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members, LocalState state, LocalState otherState)
1107var notNullMembers = sense ? method.NotNullWhenTrueMembers : method.NotNullWhenFalseMembers;
1153private void MakeMembersMaybeNull(MethodSymbol method, ImmutableArray<string> members)
1216var parameters = this.MethodParameters;
1292private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen)
1352private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1849ImmutableArray<PendingBranch> returns = walker.Analyze(ref badRegion, initialState);
2234private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2863var methodParameters = methodSymbol.Parameters;
2864var signatureParameters = (_useDelegateInvokeParameterTypes ? _delegateInvokeMethod! : methodSymbol).Parameters;
3356ImmutableArray<PendingBranch> pendingReturns = RemoveReturns();
3517private void DeclareLocals(ImmutableArray<LocalSymbol> locals)
3919var arguments = node.Arguments;
3921(_, ImmutableArray<VisitResult> argumentResults, _, ArgumentsCompletionDelegate? argumentsCompletion) =
3945ImmutableArray<VisitResult> argumentResults,
3974ImmutableArray<VisitResult> argumentResults,
4014ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
4084ImmutableArray<BoundExpression> arguments,
4085ImmutableArray<VisitResult> argumentResults)
4175ImmutableArray<VisitResult> argumentResults = default;
4211ImmutableArray<VisitResult> argumentResults,
4233ImmutableArray<VisitResult> argumentResults,
4364ImmutableArray<VisitResult> argumentResults = default;
4399ImmutableArray<VisitResult> argumentResults,
4424ImmutableArray<VisitResult> argumentResults,
4437static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4503var members = ((NamedTypeSymbol)type).GetMembersUnordered();
4551var arguments = node.Arguments;
4673var placeholders = placeholderBuilder.ToImmutableAndFree();
4792var placeholders = placeholdersBuilder.ToImmutableAndFree();
5164var parameters = method.Parameters;
5577static ImmutableArray<NamedTypeSymbol> inheritedInterfaces(TypeSymbol type) => type switch
5581_ => ImmutableArray<NamedTypeSymbol>.Empty,
6339ImmutableArray<RefKind> refKindsOpt = node.ArgumentRefKindsOpt;
6346ImmutableArray<VisitResult> results;
6366private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
6370var arguments = node.Arguments;
6544public readonly ImmutableArray<BoundExpression> Arguments;
6545public readonly ImmutableArray<VisitResult> Results;
6546public readonly ImmutableArray<int> ArgsToParamsOpt;
6548public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
6581var argsToParamsOpt = compareExchangeInfo.ArgsToParamsOpt;
6769protected override void VisitArguments(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKindsOpt, MethodSymbol method)
6775private (MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull) VisitArguments(
6777ImmutableArray<BoundExpression> arguments,
6778ImmutableArray<RefKind> refKindsOpt,
6780ImmutableArray<int> argsToParamsOpt,
6788private ImmutableArray<VisitResult> VisitArguments(
6790ImmutableArray<BoundExpression> arguments,
6791ImmutableArray<RefKind> refKindsOpt,
6793ImmutableArray<int> argsToParamsOpt,
6803private (MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull) VisitArguments(
6805ImmutableArray<BoundExpression> arguments,
6806ImmutableArray<RefKind> refKindsOpt,
6807ImmutableArray<ParameterSymbol> parametersOpt,
6808ImmutableArray<int> argsToParamsOpt,
6821private delegate (MethodSymbol? method, bool returnNotNull) ArgumentsCompletionDelegate(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, MethodSymbol? method);
6823private (MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull, ArgumentsCompletionDelegate? completion)
6826ImmutableArray<BoundExpression> arguments,
6827ImmutableArray<RefKind> refKindsOpt,
6828ImmutableArray<ParameterSymbol> parametersOpt,
6829ImmutableArray<int> argsToParamsOpt,
6851(ImmutableArray<BoundExpression> argumentsNoConversions, ImmutableArray<Conversion> conversions) = RemoveArgumentConversions(arguments, refKindsOpt);
6854ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
6861(MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull, ArgumentsCompletionDelegate? completion)
6864ImmutableArray<BoundExpression> arguments,
6865ImmutableArray<BoundExpression> argumentsNoConversions,
6866ImmutableArray<Conversion> conversions,
6867ImmutableArray<VisitResult> results,
6868ImmutableArray<RefKind> refKindsOpt,
6869ImmutableArray<ParameterSymbol> parametersOpt,
6870ImmutableArray<int> argsToParamsOpt,
7035ImmutableArray<BoundExpression> arguments,
7036ImmutableArray<BoundExpression> argumentsNoConversions,
7037ImmutableArray<Conversion> conversions,
7038ImmutableArray<RefKind> refKindsOpt,
7039ImmutableArray<int> argsToParamsOpt,
7044return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, MethodSymbol? method) =>
7056static void expandParamsCollection(ref ImmutableArray<BoundExpression> arguments, ref ImmutableArray<RefKind> refKindsOpt, ImmutableArray<ParameterSymbol> parametersOpt, ref ImmutableArray<int> argsToParamsOpt, ref BitVector defaultArguments)
7070ImmutableArray<BoundExpression> elements;
7205var notNullMembers = method.NotNullMembers;
7206var notNullWhenTrueMembers = method.NotNullWhenTrueMembers;
7207var notNullWhenFalseMembers = method.NotNullWhenFalseMembers;
7231void applyMemberPostConditions(int receiverSlot, TypeSymbol type, ImmutableArray<string> members, ref LocalState state)
7277private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
7278ImmutableArray<BoundExpression> arguments,
7279ImmutableArray<RefKind> refKindsOpt,
7280ImmutableArray<FlowAnalysisAnnotations> parameterAnnotationsOpt,
7288return ImmutableArray<VisitResult>.Empty;
7312private ImmutableArray<FlowAnalysisAnnotations> GetParametersAnnotations(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parametersOpt, ImmutableArray<int> argsToParamsOpt, bool expanded)
7314ImmutableArray<FlowAnalysisAnnotations> parameterAnnotationsOpt = default;
7795private (ImmutableArray<BoundExpression> arguments, ImmutableArray<Conversion> conversions) RemoveArgumentConversions(
7796ImmutableArray<BoundExpression> arguments,
7797ImmutableArray<RefKind> refKindsOpt)
7800var conversions = default(ImmutableArray<Conversion>);
7844ImmutableArray<ParameterSymbol> parametersOpt,
7845ImmutableArray<int> argsToParamsOpt,
7878ImmutableArray<BoundExpression> arguments,
7879ImmutableArray<RefKind> argumentRefKindsOpt,
7880ImmutableArray<int> argsToParamsOpt,
7908parameterTypes: out ImmutableArray<TypeWithAnnotations> parameterTypes,
7909parameterRefKinds: out ImmutableArray<RefKind> parameterRefKinds);
7987private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8480var arguments = node.Arguments;
8481ImmutableArray<TypeWithState> elementTypes = arguments.SelectAsArray((a, w) => w.VisitRvalueWithState(a), this);
8482ImmutableArray<TypeWithAnnotations> elementTypesWithAnnotations = elementTypes.SelectAsArray(a => a.ToTypeWithAnnotations(compilation));
8523ImmutableArray<BoundExpression> values,
8524ImmutableArray<TypeWithState> types,
8525ImmutableArray<int> argsToParamsOpt,
8534var tupleElements = tupleType.TupleElements;
8603var conversions = conversion.UnderlyingConversions;
8604var targetElements = ((NamedTypeSymbol)targetType).TupleElements;
8605var valueElements = valueTuple.TupleElements;
8921static (MethodSymbol invokeSignature, ImmutableArray<ParameterSymbol>) getDelegateOrFunctionPointerInfo(TypeSymbol targetType)
8926_ => (null, ImmutableArray<ParameterSymbol>.Empty),
9866private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod)
10257var parameters = deconstructMethod.Parameters;
10304private void VisitTupleDeconstructionArguments(ArrayBuilder<DeconstructionVariable> variables, ImmutableArray<(BoundValuePlaceholder? placeholder, BoundExpression? conversion)> deconstructConversionInfo, BoundExpression right, TypeWithState? rightResultOpt)
10307var rightParts = GetDeconstructionRightParts(right, rightResultOpt);
10411var arguments = tuple.Arguments;
10437private ImmutableArray<BoundExpression> GetDeconstructionRightParts(BoundExpression expr, TypeWithState? rightResultOpt)
10466var fields = tupleType.TupleElements;
12096VisitArguments(node, node.ConstructorArguments, ImmutableArray<RefKind>.Empty, node.Constructor, argsToParamsOpt: node.ConstructorArgumentsToParamsOpt, defaultArguments: node.ConstructorDefaultArguments,
Generated\BoundNodes.xml.Generated.cs (485)
292protected BoundEqualsValue(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
303public ImmutableArray<LocalSymbol> Locals { get; }
309public BoundFieldEqualsValue(SyntaxNode syntax, FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
325public BoundFieldEqualsValue Update(FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value)
339public BoundPropertyEqualsValue(SyntaxNode syntax, PropertySymbol property, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
355public BoundPropertyEqualsValue Update(PropertySymbol property, ImmutableArray<LocalSymbol> locals, BoundExpression value)
369public BoundParameterEqualsValue(SyntaxNode syntax, ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
385public BoundParameterEqualsValue Update(ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value)
980public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false)
993public ImmutableArray<Symbol?> Symbols { get; }
994public ImmutableArray<BoundExpression> ChildBoundNodes { get; }
999public BoundBadExpression Update(LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type)
1013public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1022public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1027public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1069public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type, bool hasErrors = false)
1083public ImmutableArray<BoundExpression> BoundDimensionsOpt { get; }
1090public BoundTypeExpression Update(AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type)
1183public BoundUnaryOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1206public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1211public BoundUnaryOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
1225public BoundIncrementOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1254public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1259public BoundIncrementOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
1446public BoundFunctionPointerInvocation(SyntaxNode syntax, BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false)
1462public ImmutableArray<BoundExpression> Arguments { get; }
1463public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
1469public BoundFunctionPointerInvocation Update(BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, LookupResultKind resultKind, TypeSymbol type)
1733public BoundUserDefinedConditionalLogicalOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, MethodSymbol logicalOperator, MethodSymbol trueOperator, MethodSymbol falseOperator, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false)
1759public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1764public BoundUserDefinedConditionalLogicalOperator Update(BinaryOperatorKind operatorKind, MethodSymbol logicalOperator, MethodSymbol trueOperator, MethodSymbol falseOperator, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, BoundExpression left, BoundExpression right, TypeSymbol type)
1778public BoundCompoundAssignmentOperator(SyntaxNode syntax, BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1806public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1811public BoundCompoundAssignmentOperator Update(BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
2049public BoundArrayAccess(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type, bool hasErrors = false)
2063public ImmutableArray<BoundExpression> Indices { get; }
2068public BoundArrayAccess Update(BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type)
2952public BoundConversion(SyntaxNode syntax, BoundExpression operand, Conversion conversion, bool isBaseConversion, bool @checked, bool explicitCastInCode, ConstantValue? constantValueOpt, ConversionGroup? conversionGroupOpt, ImmutableArray<MethodSymbol> originalUserDefinedConversionsOpt, TypeSymbol type, bool hasErrors = false)
2977public ImmutableArray<MethodSymbol> OriginalUserDefinedConversionsOpt { get; }
2982public BoundConversion Update(BoundExpression operand, Conversion conversion, bool isBaseConversion, bool @checked, bool explicitCastInCode, ConstantValue? constantValueOpt, ConversionGroup? conversionGroupOpt, ImmutableArray<MethodSymbol> originalUserDefinedConversionsOpt, TypeSymbol type)
3064public BoundArgListOperator(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, TypeSymbol? type, bool hasErrors = false)
3075public ImmutableArray<BoundExpression> Arguments { get; }
3076public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
3081public BoundArgListOperator Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, TypeSymbol? type)
3305public BoundBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, bool hasUnsafeModifier, BoundBlockInstrumentation? instrumentation, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
3319public ImmutableArray<LocalSymbol> Locals { get; }
3320public ImmutableArray<LocalFunctionSymbol> LocalFunctions { get; }
3327public BoundBlock Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, bool hasUnsafeModifier, BoundBlockInstrumentation? instrumentation, ImmutableArray<BoundStatement> statements)
3341public BoundScope(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
3351public ImmutableArray<LocalSymbol> Locals { get; }
3356public BoundScope Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements)
3370public BoundStateMachineScope(SyntaxNode syntax, ImmutableArray<StateMachineFieldSymbol> fields, BoundStatement statement, bool hasErrors = false)
3381public ImmutableArray<StateMachineFieldSymbol> Fields { get; }
3387public BoundStateMachineScope Update(ImmutableArray<StateMachineFieldSymbol> fields, BoundStatement statement)
3401public BoundLocalDeclaration(SyntaxNode syntax, LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType, bool hasErrors = false)
3417public ImmutableArray<BoundExpression> ArgumentsOpt { get; }
3423public BoundLocalDeclaration Update(LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType)
3437protected BoundMultipleLocalDeclarationsBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3446public ImmutableArray<BoundLocalDeclaration> LocalDeclarations { get; }
3451public BoundMultipleLocalDeclarations(SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3463public BoundMultipleLocalDeclarations Update(ImmutableArray<BoundLocalDeclaration> localDeclarations)
3477public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3493public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations)
3771public BoundSwitchStatement(SyntaxNode syntax, BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel, bool hasErrors = false)
3792public ImmutableArray<LocalSymbol> InnerLocals { get; }
3793public ImmutableArray<LocalFunctionSymbol> InnerLocalFunctions { get; }
3794public ImmutableArray<BoundSwitchSection> SwitchSections { get; }
3802public BoundSwitchStatement Update(BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel)
3816public BoundSwitchDispatch(SyntaxNode syntax, BoundExpression expression, ImmutableArray<(ConstantValue value, LabelSymbol label)> cases, LabelSymbol defaultLabel, LengthBasedStringSwitchData? lengthBasedStringSwitchDataOpt, bool hasErrors = false)
3831public ImmutableArray<(ConstantValue value, LabelSymbol label)> Cases { get; }
3838public BoundSwitchDispatch Update(BoundExpression expression, ImmutableArray<(ConstantValue value, LabelSymbol label)> cases, LabelSymbol defaultLabel, LengthBasedStringSwitchData? lengthBasedStringSwitchDataOpt)
3913protected BoundConditionalLoopStatement(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
3928public ImmutableArray<LocalSymbol> Locals { get; }
3935public BoundDoStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
3951public BoundDoStatement Update(ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
3965public BoundWhileStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
3981public BoundWhileStatement Update(ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
3995public BoundForStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> outerLocals, BoundStatement? initializer, ImmutableArray<LocalSymbol> innerLocals, BoundExpression? condition, BoundStatement? increment, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
4013public ImmutableArray<LocalSymbol> OuterLocals { get; }
4015public ImmutableArray<LocalSymbol> InnerLocals { get; }
4023public BoundForStatement Update(ImmutableArray<LocalSymbol> outerLocals, BoundStatement? initializer, ImmutableArray<LocalSymbol> innerLocals, BoundExpression? condition, BoundStatement? increment, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
4037public BoundForEachStatement(SyntaxNode syntax, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
4064public ImmutableArray<LocalSymbol> IterationVariables { get; }
4074public BoundForEachStatement Update(ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
4119public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false)
4134public ImmutableArray<LocalSymbol> Locals { get; }
4144public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt)
4158public BoundFixedStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations declarations, BoundStatement body, bool hasErrors = false)
4171public ImmutableArray<LocalSymbol> Locals { get; }
4178public BoundFixedStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations declarations, BoundStatement body)
4223public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false)
4238public ImmutableArray<BoundCatchBlock> CatchBlocks { get; }
4246public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler)
4260public BoundCatchBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll, bool hasErrors = false)
4276public ImmutableArray<LocalSymbol> Locals { get; }
4287public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll)
4810protected BoundStatementList(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
4819public BoundStatementList(SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
4828public ImmutableArray<BoundStatement> Statements { get; }
4833public BoundStatementList Update(ImmutableArray<BoundStatement> statements)
4880protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4896public ImmutableArray<BoundSwitchExpressionArm> SwitchArms { get; }
4904public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false)
4920public ImmutableArray<LocalSymbol> Locals { get; }
4929public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
4943public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4957public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type)
4971public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false)
4991public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type)
5112public BoundWhenDecisionDagNode(SyntaxNode syntax, ImmutableArray<BoundPatternBinding> bindings, BoundExpression? whenExpression, BoundDecisionDagNode whenTrue, BoundDecisionDagNode? whenFalse, bool hasErrors = false)
5125public ImmutableArray<BoundPatternBinding> Bindings { get; }
5133public BoundWhenDecisionDagNode Update(ImmutableArray<BoundPatternBinding> bindings, BoundExpression? whenExpression, BoundDecisionDagNode whenTrue, BoundDecisionDagNode? whenFalse)
5659public BoundSwitchSection(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundSwitchLabel> switchLabels, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
5671public ImmutableArray<LocalSymbol> Locals { get; }
5672public ImmutableArray<BoundSwitchLabel> SwitchLabels { get; }
5677public BoundSwitchSection Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundSwitchLabel> switchLabels, ImmutableArray<BoundStatement> statements)
5766public BoundSequence(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression value, TypeSymbol type, bool hasErrors = false)
5781public ImmutableArray<LocalSymbol> Locals { get; }
5782public ImmutableArray<BoundExpression> SideEffects { get; }
5788public BoundSequence Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression value, TypeSymbol type)
5802public BoundSpillSequence(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression value, TypeSymbol type, bool hasErrors = false)
5817public ImmutableArray<LocalSymbol> Locals { get; }
5818public ImmutableArray<BoundStatement> SideEffects { get; }
5824public BoundSpillSequence Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression value, TypeSymbol type)
5838public BoundDynamicMemberAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, bool invoked, bool indexed, TypeSymbol type, bool hasErrors = false)
5855public ImmutableArray<TypeWithAnnotations> TypeArgumentsOpt { get; }
5863public BoundDynamicMemberAccess Update(BoundExpression receiver, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, bool invoked, bool indexed, TypeSymbol type)
5877protected BoundDynamicInvocableBase(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol? type, bool hasErrors = false)
5889public ImmutableArray<BoundExpression> Arguments { get; }
5894public BoundDynamicInvocation(SyntaxNode syntax, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type, bool hasErrors = false)
5909public ImmutableArray<string?> ArgumentNamesOpt { get; }
5910public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
5911public ImmutableArray<MethodSymbol> ApplicableMethods { get; }
5916public BoundDynamicInvocation Update(ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type)
6075public BoundMethodGroup(SyntaxNode syntax, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false)
6091public ImmutableArray<TypeWithAnnotations> TypeArgumentsOpt { get; }
6093public ImmutableArray<MethodSymbol> Methods { get; }
6102public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind)
6116public BoundPropertyGroup(SyntaxNode syntax, ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false)
6125public ImmutableArray<PropertySymbol> Properties { get; }
6130public BoundPropertyGroup Update(ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt, LookupResultKind resultKind)
6144public BoundCall(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool isDelegateCall, bool expanded, bool invokedAsExtensionMethod, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalMethodsOpt, TypeSymbol type, bool hasErrors = false)
6171public ImmutableArray<BoundExpression> Arguments { get; }
6172public ImmutableArray<string?> ArgumentNamesOpt { get; }
6173public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6177public ImmutableArray<int> ArgsToParamsOpt { get; }
6180public ImmutableArray<MethodSymbol> OriginalMethodsOpt { get; }
6185public BoundCall Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool isDelegateCall, bool expanded, bool invokedAsExtensionMethod, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalMethodsOpt, TypeSymbol type)
6238public BoundAttribute(SyntaxNode syntax, MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false)
6258public ImmutableArray<BoundExpression> ConstructorArguments { get; }
6259public ImmutableArray<string?> ConstructorArgumentNamesOpt { get; }
6260public ImmutableArray<int> ConstructorArgumentsToParamsOpt { get; }
6263public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6269public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
6283public BoundUnconvertedObjectCreationExpression(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder, bool hasErrors = false)
6298public ImmutableArray<BoundExpression> Arguments { get; }
6299public ImmutableArray<(string Name, Location Location)?> ArgumentNamesOpt { get; }
6300public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6307public BoundUnconvertedObjectCreationExpression Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder)
6342public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<MethodSymbol> constructorsGroup, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ConstantValue? constantValueOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false)
6365public ImmutableArray<MethodSymbol> ConstructorsGroup { get; }
6366public override ImmutableArray<BoundExpression> Arguments { get; }
6367public override ImmutableArray<string?> ArgumentNamesOpt { get; }
6368public override ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6370public override ImmutableArray<int> ArgsToParamsOpt { get; }
6379public BoundObjectCreationExpression Update(MethodSymbol constructor, ImmutableArray<MethodSymbol> constructorsGroup, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ConstantValue? constantValueOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, bool wasTargetTyped, TypeSymbol type)
6393protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6402public ImmutableArray<BoundNode> Elements { get; }
6407public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6420public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements)
6434public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false)
6465public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6547protected BoundTupleExpression(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6558public ImmutableArray<BoundExpression> Arguments { get; }
6559public ImmutableArray<string?> ArgumentNamesOpt { get; }
6560public ImmutableArray<bool> InferredNamesOpt { get; }
6565public BoundTupleLiteral(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6578public BoundTupleLiteral Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type)
6592public BoundConvertedTupleLiteral(SyntaxNode syntax, BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6608public BoundConvertedTupleLiteral Update(BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type)
6622public BoundDynamicObjectCreationExpression(SyntaxNode syntax, string name, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, ImmutableArray<MethodSymbol> applicableMethods, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false)
6641public override ImmutableArray<BoundExpression> Arguments { get; }
6642public override ImmutableArray<string?> ArgumentNamesOpt { get; }
6643public override ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6645public ImmutableArray<MethodSymbol> ApplicableMethods { get; }
6651public BoundDynamicObjectCreationExpression Update(string name, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, ImmutableArray<MethodSymbol> applicableMethods, bool wasTargetTyped, TypeSymbol type)
6697protected BoundObjectInitializerExpressionBase(BoundKind kind, SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6711public ImmutableArray<BoundExpression> Initializers { get; }
6716public BoundObjectInitializerExpression(SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6730public BoundObjectInitializerExpression Update(BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type)
6744public BoundObjectInitializerMember(SyntaxNode syntax, Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type, bool hasErrors = false)
6766public ImmutableArray<BoundExpression> Arguments { get; }
6767public ImmutableArray<string?> ArgumentNamesOpt { get; }
6768public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6770public ImmutableArray<int> ArgsToParamsOpt { get; }
6779public BoundObjectInitializerMember Update(Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type)
6838public BoundCollectionInitializerExpression(SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6852public BoundCollectionInitializerExpression Update(BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type)
6866public BoundCollectionElementInitializer(SyntaxNode syntax, MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false)
6886public ImmutableArray<BoundExpression> Arguments { get; }
6889public ImmutableArray<int> ArgsToParamsOpt { get; }
6897public BoundCollectionElementInitializer Update(MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod, LookupResultKind resultKind, TypeSymbol type)
6911public BoundDynamicCollectionElementInitializer(SyntaxNode syntax, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type, bool hasErrors = false)
6924public ImmutableArray<MethodSymbol> ApplicableMethods { get; }
6929public BoundDynamicCollectionElementInitializer Update(ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type)
6978public BoundAnonymousObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<BoundAnonymousPropertyDeclaration> declarations, TypeSymbol type, bool hasErrors = false)
6994public ImmutableArray<BoundExpression> Arguments { get; }
6995public ImmutableArray<BoundAnonymousPropertyDeclaration> Declarations { get; }
7000public BoundAnonymousObjectCreationExpression Update(MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<BoundAnonymousPropertyDeclaration> declarations, TypeSymbol type)
7120public BoundArrayCreation(SyntaxNode syntax, ImmutableArray<BoundExpression> bounds, BoundArrayInitialization? initializerOpt, TypeSymbol type, bool hasErrors = false)
7132public ImmutableArray<BoundExpression> Bounds { get; }
7138public BoundArrayCreation Update(ImmutableArray<BoundExpression> bounds, BoundArrayInitialization? initializerOpt, TypeSymbol type)
7152public BoundArrayInitialization(SyntaxNode syntax, bool isInferred, ImmutableArray<BoundExpression> initializers, bool hasErrors = false)
7164public ImmutableArray<BoundExpression> Initializers { get; }
7169public BoundArrayInitialization Update(bool isInferred, ImmutableArray<BoundExpression> initializers)
7412public BoundIndexerAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol indexer, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, AccessorKind accessorKind, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ImmutableArray<PropertySymbol> originalIndexersOpt, TypeSymbol type, bool hasErrors = false)
7437public ImmutableArray<BoundExpression> Arguments { get; }
7438public ImmutableArray<string?> ArgumentNamesOpt { get; }
7439public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
7442public ImmutableArray<int> ArgsToParamsOpt { get; }
7444public ImmutableArray<PropertySymbol> OriginalIndexersOpt { get; }
7449public BoundIndexerAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol indexer, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, AccessorKind accessorKind, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ImmutableArray<PropertySymbol> originalIndexersOpt, TypeSymbol type)
7463public BoundImplicitIndexerAccess(SyntaxNode syntax, BoundExpression receiver, BoundExpression argument, BoundExpression lengthOrCountAccess, BoundImplicitIndexerReceiverPlaceholder receiverPlaceholder, BoundExpression indexerOrSliceAccess, ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders, TypeSymbol type, bool hasErrors = false)
7493public ImmutableArray<BoundImplicitIndexerValuePlaceholder> ArgumentPlaceholders { get; }
7498public BoundImplicitIndexerAccess Update(BoundExpression receiver, BoundExpression argument, BoundExpression lengthOrCountAccess, BoundImplicitIndexerReceiverPlaceholder receiverPlaceholder, BoundExpression indexerOrSliceAccess, ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders, TypeSymbol type)
7553public BoundDynamicIndexerAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<PropertySymbol> applicableIndexers, TypeSymbol type, bool hasErrors = false)
7571public ImmutableArray<BoundExpression> Arguments { get; }
7572public ImmutableArray<string?> ArgumentNamesOpt { get; }
7573public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
7574public ImmutableArray<PropertySymbol> ApplicableIndexers { get; }
7579public BoundDynamicIndexerAccess Update(BoundExpression receiver, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<PropertySymbol> applicableIndexers, TypeSymbol type)
7718public BoundTypeOrInstanceInitializers(SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
7730public new BoundTypeOrInstanceInitializers Update(ImmutableArray<BoundStatement> statements)
7777protected BoundInterpolatedStringBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7787public ImmutableArray<BoundExpression> Parts { get; }
7793public BoundUnconvertedInterpolatedString(SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7805public BoundUnconvertedInterpolatedString Update(ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type)
7819public BoundInterpolatedString(SyntaxNode syntax, InterpolatedStringHandlerData? interpolationData, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7833public BoundInterpolatedString Update(InterpolatedStringHandlerData? interpolationData, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type)
8148public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8168public ImmutableArray<BoundPositionalSubpattern> Deconstruction { get; }
8169public ImmutableArray<BoundPropertySubpattern> Properties { get; }
8175public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8189public BoundListPattern(SyntaxNode syntax, ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8209public ImmutableArray<BoundPattern> Subpatterns { get; }
8219public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8272public BoundITuplePattern(SyntaxNode syntax, MethodSymbol getLengthMethod, MethodSymbol getItemMethod, ImmutableArray<BoundPositionalSubpattern> subpatterns, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8293public ImmutableArray<BoundPositionalSubpattern> Subpatterns { get; }
8298public BoundITuplePattern Update(MethodSymbol getLengthMethod, MethodSymbol getItemMethod, ImmutableArray<BoundPositionalSubpattern> subpatterns, TypeSymbol inputType, TypeSymbol narrowedType)
8767public BoundConstructorMethodBody(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false)
8777public ImmutableArray<LocalSymbol> Locals { get; }
8783public BoundConstructorMethodBody Update(ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody)
10935ImmutableArray<BoundExpression> childBoundNodes = this.VisitList(node.ChildBoundNodes);
10941ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes);
10952ImmutableArray<BoundExpression> boundDimensionsOpt = this.VisitList(node.BoundDimensionsOpt);
11018ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11136ImmutableArray<BoundExpression> indices = this.VisitList(node.Indices);
11294ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11323ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11328ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11340ImmutableArray<BoundExpression> argumentsOpt = this.VisitList(node.ArgumentsOpt);
11345ImmutableArray<BoundLocalDeclaration> localDeclarations = this.VisitList(node.LocalDeclarations);
11351ImmutableArray<BoundLocalDeclaration> localDeclarations = this.VisitList(node.LocalDeclarations);
11387ImmutableArray<BoundSwitchSection> switchSections = this.VisitList(node.SwitchSections);
11465ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks);
11548ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11566ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
11574ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
11692ImmutableArray<BoundSwitchLabel> switchLabels = this.VisitList(node.SwitchLabels);
11693ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11710ImmutableArray<BoundExpression> sideEffects = this.VisitList(node.SideEffects);
11717ImmutableArray<BoundStatement> sideEffects = this.VisitList(node.SideEffects);
11731ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11777ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11790ImmutableArray<BoundExpression> constructorArguments = this.VisitList(node.ConstructorArguments);
11791ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
11797ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11803ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11810ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11821ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11842ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11849ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11855ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11869ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
11875ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11889ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
11895ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11903ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11914ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11915ImmutableArray<BoundAnonymousPropertyDeclaration> declarations = this.VisitList(node.Declarations);
11938ImmutableArray<BoundExpression> bounds = this.VisitList(node.Bounds);
11945ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
11991ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
12002ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders = node.ArgumentPlaceholders;
12016ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
12043ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
12054ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
12060ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
12114ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction);
12115ImmutableArray<BoundPropertySubpattern> properties = this.VisitList(node.Properties);
12123ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns);
12145ImmutableArray<BoundPositionalSubpattern> subpatterns = this.VisitList(node.Subpatterns);
12268ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
12276ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
12284ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
12486ImmutableArray<Symbol?> symbols = GetUpdatedArray(node, node.Symbols);
12487ImmutableArray<BoundExpression> childBoundNodes = this.VisitList(node.ChildBoundNodes);
12505ImmutableArray<BoundExpression> boundDimensionsOpt = this.VisitList(node.BoundDimensionsOpt);
12548ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt = GetUpdatedArray(node, node.OriginalUserDefinedOperatorsOpt);
12568ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt = GetUpdatedArray(node, node.OriginalUserDefinedOperatorsOpt);
12678ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
12802ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt = GetUpdatedArray(node, node.OriginalUserDefinedOperatorsOpt);
12939ImmutableArray<BoundExpression> indices = this.VisitList(node.Indices);
13304ImmutableArray<MethodSymbol> originalUserDefinedConversionsOpt = GetUpdatedArray(node, node.OriginalUserDefinedConversionsOpt);
13352ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
13390ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13391ImmutableArray<LocalFunctionSymbol> localFunctions = GetUpdatedArray(node, node.LocalFunctions);
13393ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
13399ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13400ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
13406ImmutableArray<StateMachineFieldSymbol> fields = GetUpdatedArray(node, node.Fields);
13416ImmutableArray<BoundExpression> argumentsOpt = this.VisitList(node.ArgumentsOpt);
13430ImmutableArray<LocalSymbol> innerLocals = GetUpdatedArray(node, node.InnerLocals);
13431ImmutableArray<LocalFunctionSymbol> innerLocalFunctions = GetUpdatedArray(node, node.InnerLocalFunctions);
13433ImmutableArray<BoundSwitchSection> switchSections = this.VisitList(node.SwitchSections);
13441ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13449ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13457ImmutableArray<LocalSymbol> outerLocals = GetUpdatedArray(node, node.OuterLocals);
13458ImmutableArray<LocalSymbol> innerLocals = GetUpdatedArray(node, node.InnerLocals);
13468ImmutableArray<LocalSymbol> iterationVariables = GetUpdatedArray(node, node.IterationVariables);
13482ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13492ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13500ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13664ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13674ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
13694ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
13762ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13763ImmutableArray<BoundSwitchLabel> switchLabels = this.VisitList(node.SwitchLabels);
13764ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
13787ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13788ImmutableArray<BoundExpression> sideEffects = this.VisitList(node.SideEffects);
13806ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13807ImmutableArray<BoundStatement> sideEffects = this.VisitList(node.SideEffects);
13842ImmutableArray<MethodSymbol> applicableMethods = GetUpdatedArray(node, node.ApplicableMethods);
13844ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
13929ImmutableArray<MethodSymbol> methods = GetUpdatedArray(node, node.Methods);
13949ImmutableArray<PropertySymbol> properties = GetUpdatedArray(node, node.Properties);
13968ImmutableArray<MethodSymbol> originalMethodsOpt = GetUpdatedArray(node, node.OriginalMethodsOpt);
13970ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14007ImmutableArray<BoundExpression> constructorArguments = this.VisitList(node.ConstructorArguments);
14008ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
14025ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14043ImmutableArray<MethodSymbol> constructorsGroup = GetUpdatedArray(node, node.ConstructorsGroup);
14044ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14062ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14085ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14114ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14132ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14149ImmutableArray<MethodSymbol> applicableMethods = GetUpdatedArray(node, node.ApplicableMethods);
14150ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14186ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
14205ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14240ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
14258ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14276ImmutableArray<MethodSymbol> applicableMethods = GetUpdatedArray(node, node.ApplicableMethods);
14278ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14308ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14309ImmutableArray<BoundAnonymousPropertyDeclaration> declarations = this.VisitList(node.Declarations);
14378ImmutableArray<BoundExpression> bounds = this.VisitList(node.Bounds);
14396ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
14523ImmutableArray<PropertySymbol> originalIndexersOpt = GetUpdatedArray(node, node.OriginalIndexersOpt);
14525ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14560ImmutableArray<PropertySymbol> applicableIndexers = GetUpdatedArray(node, node.ApplicableIndexers);
14562ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14653ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
14670ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
14779ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction);
14780ImmutableArray<BoundPropertySubpattern> properties = this.VisitList(node.Properties);
14790ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns);
14816ImmutableArray<BoundPositionalSubpattern> subpatterns = this.VisitList(node.Subpatterns);
14951ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
Lowering\ClosureConversion\ClosureConversion.cs (25)
118private ImmutableArray<TypeParameterSymbol> _currentTypeParameters;
460var structEnvironments = getStructEnvironments(nestedFunction);
479static ImmutableArray<SynthesizedClosureEnvironment> getStructEnvironments(Analysis.NestedFunction function)
873ref ImmutableArray<BoundExpression> arguments,
874ref ImmutableArray<RefKind> argRefKinds)
903var typeParameters = ((SynthesizedClosureEnvironment)frameType).ConstructedFromTypeParameters;
905var subst = this.TypeMap.SubstituteTypeParameters(typeParameters);
960private ImmutableArray<TypeWithAnnotations> SubstituteTypeArguments(ImmutableArray<TypeWithAnnotations> typeArguments)
1013ImmutableArray<TypeWithAnnotations> typeArgumentsOpt,
1073var args = VisitList(node.Arguments);
1074var argRefKinds = node.ArgumentRefKindsOpt;
1123locals: ImmutableArray<LocalSymbol>.Empty,
1204var statements = VisitList(node.Statements);
1233var rewrittenCatchLocals = newLocals.ToImmutableAndFree();
1340var arguments = default(ImmutableArray<BoundExpression>);
1341var argRefKinds = default(ImmutableArray<RefKind>);
1367ImmutableArray<BoundExpression> arguments = default;
1368ImmutableArray<RefKind> argRefKinds = default;
1439private DebugId GetLambdaId(SyntaxNode syntax, ClosureKind closureKind, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, RuntimeRudeEdit? closureRudeEdit)
1559var oldTypeParameters = _currentTypeParameters;
1651RemapLambdaOrLocalFunction(node.Syntax, node.Symbol, default(ImmutableArray<TypeWithAnnotations>), closureKind, ref referencedMethod, out receiver, out constructedFrame);
1731return new BoundBadExpression(F.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (7)
310private BoundExpression Indices(ImmutableArray<BoundExpression> expressions)
326private BoundExpression Expressions(ImmutableArray<BoundExpression> expressions)
351return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType);
382return new BoundBadExpression(node.Syntax, 0, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType);
1091return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1098return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1130return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\DiagnosticsPass_ExpressionTrees.cs (6)
307ImmutableArray<BoundExpression> arguments,
308ImmutableArray<RefKind> argumentRefKindsOpt,
309ImmutableArray<string> argumentNamesOpt,
357static bool hasDefaultArgument(ImmutableArray<BoundExpression> arguments, BitVector defaultArguments)
516VisitCall(node.AddMethod, null, node.Arguments, default(ImmutableArray<RefKind>), default(ImmutableArray<string>), node.DefaultArguments, node);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (13)
369protected ImmutableArray<BoundStatement> LowerDecisionDagCore(BoundDecisionDag decisionDag)
373ImmutableArray<BoundDecisionDagNode> sortedNodes = decisionDag.TopologicallySortedNodes;
388ImmutableArray<BoundDecisionDagNode> nodesToLower = sortedNodes.WhereAsArray(n => n.Kind != BoundKind.WhenDecisionDagNode && n.Kind != BoundKind.LeafDecisionDagNode);
428var result = _loweredDecisionDag.ToImmutableAndFree();
441ImmutableArray<BoundDecisionDagNode> nodesToLower,
620ImmutableArray<(ConstantValue value, LabelSymbol label)> cases,
643(ImmutableArray<(ConstantValue value, LabelSymbol label)> whenTrueCases, ImmutableArray<(ConstantValue value, LabelSymbol label)> whenFalseCases)
644splitCases(ImmutableArray<(ConstantValue value, LabelSymbol label)> cases, BinaryOperatorKind op, ConstantValue value)
787ImmutableArray<(ConstantValue value, LabelSymbol label)> cases;
821var cases = node.Cases.Sort(new CasesComparer(input.Type));
970private void LowerWhenClauses(ImmutableArray<BoundDecisionDagNode> sortedNodes)
1177void lowerBindings(ImmutableArray<BoundPatternBinding> bindings, ArrayBuilder<BoundStatement> sectionBuilder)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (14)
69var loweredArguments = VisitList(indexerAccess.Arguments);
142ImmutableArray<BoundExpression> loweredArguments,
143ImmutableArray<string?> argumentNames,
144ImmutableArray<RefKind> refKinds,
190ImmutableArray<BoundExpression>.Empty,
191default(ImmutableArray<RefKind>),
193default(ImmutableArray<int>),
203ImmutableArray<BoundExpression> arguments = indexerAccess.Arguments;
271ImmutableArray<BoundExpression> arguments,
272ImmutableArray<RefKind> argumentRefKindsOpt,
274ImmutableArray<int> argsToParamsOpt,
367ImmutableArray<BoundExpression>.Empty,
374private static ImmutableArray<T> AppendToPossibleNull<T>(ImmutableArray<T> possibleNull, T newElement)
Lowering\LocalRewriter\LocalRewriter_Call.cs (57)
27var loweredArguments = VisitList(node.Arguments);
31ImmutableArray<TypeWithAnnotations> typeArguments;
97private void EmbedIfNeedTo(BoundExpression receiver, ImmutableArray<MethodSymbol> methods, SyntaxNode syntaxNode)
116private void EmbedIfNeedTo(BoundExpression receiver, ImmutableArray<PropertySymbol> properties, SyntaxNode syntaxNode)
138ref ImmutableArray<BoundExpression> arguments,
139ref ImmutableArray<RefKind> argumentRefKindsOpt,
384ImmutableArray<int> argsToParamsOpt = node.ArgsToParamsOpt;
385ImmutableArray<RefKind> argRefKindsOpt = node.ArgumentRefKindsOpt;
386ImmutableArray<BoundExpression> arguments = node.Arguments;
399var rewrittenArguments = VisitArgumentsAndCaptureReceiverIfNeeded(
442ImmutableArray<BoundExpression> rewrittenArguments,
443ImmutableArray<RefKind> argumentRefKinds,
445ImmutableArray<LocalSymbol> temps)
479argumentNamesOpt: default(ImmutableArray<string?>),
484argsToParamsOpt: default(ImmutableArray<int>),
496argumentNamesOpt: default(ImmutableArray<string?>),
501argsToParamsOpt: default(ImmutableArray<int>),
514sideEffects: ImmutableArray<BoundExpression>.Empty,
522private BoundExpression MakeCall(SyntaxNode syntax, BoundExpression? rewrittenReceiver, MethodSymbol method, ImmutableArray<BoundExpression> rewrittenArguments)
530argumentRefKinds: default(ImmutableArray<RefKind>),
653private ImmutableArray<BoundExpression> VisitArgumentsAndCaptureReceiverIfNeeded(
656ImmutableArray<BoundExpression> arguments,
658ImmutableArray<int> argsToParamsOpt,
659ImmutableArray<RefKind> argumentRefKindsOpt,
721ImmutableArray<BoundExpression> rewrittenArguments;
731var parameters = methodOrIndexer.GetParameters();
748ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> argumentPlaceholders = addInterpolationPlaceholderReplacements(
807ImmutableArray<LocalSymbol>.Empty,
825ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> addInterpolationPlaceholderReplacements(
826ImmutableArray<ParameterSymbol> parameters,
884visitedArgumentsBuilder[argIndex] = _factory.Sequence(ImmutableArray<LocalSymbol>.Empty, ImmutableArray.Create<BoundExpression>(store), local);
903return ImmutableArray<BoundInterpolatedStringArgumentPlaceholder>.Empty;
997private ImmutableArray<BoundExpression> MakeArguments(
998ImmutableArray<BoundExpression> rewrittenArguments,
1001ImmutableArray<int> argsToParamsOpt,
1002ref ImmutableArray<RefKind> argumentRefKindsOpt,
1016ImmutableArray<ParameterSymbol> parameters = methodOrIndexer.GetParameters();
1155private static ImmutableArray<RefKind> GetEffectiveArgumentRefKinds(ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<ParameterSymbol> parameters)
1190static void fillRefKindsBuilder(ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<ParameterSymbol> parameters, [NotNull] ref ArrayBuilder<RefKind>? refKindsBuilder)
1210ImmutableArray<BoundExpression> rewrittenArguments,
1212ImmutableArray<int> argsToParamsOpt,
1243private static ImmutableArray<RefKind> GetRefKindsOrNull(ArrayBuilder<RefKind> refKinds)
1252return default(ImmutableArray<RefKind>);
1303ImmutableArray<int> argsToParamsOpt,
1304ImmutableArray<ParameterSymbol> parameters,
1305ImmutableArray<RefKind> argumentRefKinds,
1306ImmutableArray<BoundExpression> rewrittenArguments,
1440ImmutableArray<BoundExpression>.Empty,
1441default(ImmutableArray<string?>),
1442default(ImmutableArray<RefKind>),
1446argsToParamsOpt: default(ImmutableArray<int>),
1579ImmutableArray<LocalSymbol>.Empty,
1600ImmutableArray<ParameterSymbol> parameters,
1643locals: ImmutableArray<LocalSymbol>.Empty,
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (17)
101var elements = node.Elements;
254var elements = node.Elements;
336var elements = node.Elements;
406var elements = node.Elements;
425var typeArgs = ImmutableArray.Create(elementType);
543ImmutableArray<BoundNode> elements,
616locals: ImmutableArray<LocalSymbol>.Empty,
722var elements = node.Elements;
1021private BoundExpression CreateAndPopulateList(BoundCollectionExpression node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements)
1025var typeArguments = ImmutableArray.Create(elementType);
1083rewrittenReceiver = _factory.New(constructor, ImmutableArray<BoundExpression>.Empty);
1213ImmutableArray<BoundNode> elements,
1229ImmutableArray<BoundNode> elements,
1262new BoundBlock(iteratorBody.Syntax, locals: ImmutableArray<LocalSymbol>.Empty, statements);
1274private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions)
1348var iterationVariables = ImmutableArray.Create(iterationVariable);
1420ImmutableArray<LocalSymbol>.Empty,
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (9)
220ImmutableArray<BoundExpression> rightParts = GetRightParts(right, conversion, temps, effects, ref inInit);
222ImmutableArray<(BoundValuePlaceholder?, BoundExpression?)> deconstructConversionInfo = conversion.DeconstructConversionInfo;
277private ImmutableArray<BoundExpression> GetRightParts(BoundExpression right, Conversion conversion,
334private ImmutableArray<BoundExpression> AccessTupleFields(BoundExpression expression, ArrayBuilder<LocalSymbol> temps,
340var tupleElementTypes = tupleType.TupleElementTypesWithAnnotations;
360var fields = tupleType.TupleElements;
381private ImmutableArray<BoundExpression> InvokeDeconstructMethod(DeconstructMethodInfo deconstruction, BoundExpression target,
386var outputPlaceholders = deconstruction.OutputPlaceholders;
515internal ImmutableArray<BoundExpression> ToImmutableAndFree()
Lowering\LocalRewriter\LocalRewriter_Event.cs (8)
54var rewrittenArguments = ImmutableArray.Create<BoundExpression>(rewrittenArgument);
128clearCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(removeDelegate), ErrorTypeSymbol.UnknownResultType);
132ImmutableArray<BoundExpression> marshalArguments;
170marshalCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, marshalArguments, ErrorTypeSymbol.UnknownResultType);
179ImmutableArray<LocalSymbol> tempSymbols = boundTemp == null
180? ImmutableArray<LocalSymbol>.Empty
265getOrCreateCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(fieldAccess), ErrorTypeSymbol.UnknownResultType);
287return new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(getOrCreateCall), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (6)
19ImmutableArray<BoundLocalDeclaration> localDecls = node.Declarations.LocalDeclarations;
67ImmutableArray<BoundCatchBlock>.Empty,
379locals: ImmutableArray<LocalSymbol>.Empty,
483helperCall = new BoundBadExpression(fixedInitializer.Syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
544lengthCall = new BoundBadExpression(fixedInitializer.Syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(factory.Local(pinnedTemp)), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (12)
141ImmutableArray<LocalSymbol> iterationVariables,
260tryBlock: new BoundBlock(forEachSyntax, locals: ImmutableArray<LocalSymbol>.Empty, statements: ImmutableArray.Create(whileLoop)),
261catchBlocks: ImmutableArray<BoundCatchBlock>.Empty,
411locals: ImmutableArray<LocalSymbol>.Empty,
548return BoundCall.Synthesized(syntax, receiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, methodArgumentInfo.Method, arguments: ImmutableArray<BoundExpression>.Empty);
603ImmutableArray<LocalSymbol> iterationVariables,
812ImmutableArray<LocalSymbol> iterationVariables,
838ImmutableArray<LocalSymbol> iterationVariables,
899ImmutableArray<LocalSymbol> iterationVariables,
1048ImmutableArray<LocalSymbol> iterationVariables,
1096ImmutableArray<BoundExpression> dimensionArgument = ImmutableArray.Create(
1150ImmutableArray<BoundExpression> dimensionArgument = ImmutableArray.Create(
Lowering\LocalRewriter\LocalRewriter_Literal.cs (6)
137argumentNamesOpt: default(ImmutableArray<string?>), argumentRefKindsOpt: default(ImmutableArray<RefKind>), expanded: false,
138argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector),
157argumentNamesOpt: default(ImmutableArray<string?>), argumentRefKindsOpt: default(ImmutableArray<RefKind>), expanded: false,
158argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector),
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (4)
117exitCallExpr = new BoundBadExpression(lockSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType);
179ImmutableArray<BoundCatchBlock>.Empty,
212enterCallExpr = new BoundBadExpression(lockSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType);
228ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (17)
20var loweredArguments = VisitList(node.Arguments);
43ImmutableArray<RefKind> argumentRefKindsOpt = node.ArgumentRefKindsOpt;
45ImmutableArray<BoundExpression> rewrittenArguments = VisitArgumentsAndCaptureReceiverIfNeeded(
107ImmutableArray<BoundExpression>.Empty,
199ImmutableArray<BoundExpression> getAnonymousTypeValues(BoundWithExpression withExpr, BoundExpression oldValue, AnonymousTypeManager.AnonymousTypePublicSymbol anonymousType,
247var rewrittenInitializers = MakeObjectOrCollectionInitializersForExpressionTree(initializerExpressionOpt);
288ImmutableArray<LocalSymbol> locals;
350ImmutableArray<BoundExpression>.Empty,
351default(ImmutableArray<string?>),
352default(ImmutableArray<RefKind>),
356argsToParamsOpt: default(ImmutableArray<int>),
389newGuid = new BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
407callGetTypeFromCLSID = new BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
419rewrittenObjectCreation = new BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, node.Type);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (19)
18private static BoundObjectInitializerExpressionBase UpdateInitializers(BoundObjectInitializerExpressionBase initializerExpression, ImmutableArray<BoundExpression> newInitializers)
66private ImmutableArray<BoundExpression> MakeObjectOrCollectionInitializersForExpressionTree(BoundExpression initializerExpression)
88private void AddCollectionInitializers(ArrayBuilder<BoundExpression> result, BoundExpression? rewrittenReceiver, ImmutableArray<BoundExpression> initializers)
120var rewrittenArguments = VisitList(initializer.Arguments);
129ImmutableArray<TypeWithAnnotations>.Empty,
131default(ImmutableArray<string?>),
132default(ImmutableArray<RefKind>),
163var argumentRefKindsOpt = default(ImmutableArray<RefKind>);
176ImmutableArray<BoundExpression> rewrittenArguments = VisitArgumentsAndCaptureReceiverIfNeeded(
221var rewrittenArguments = VisitArgumentsAndCaptureReceiverIfNeeded(ref rewrittenReceiver, captureReceiverMode: ReceiverCaptureMode.Default, node.Arguments, node.MemberSymbol, node.ArgsToParamsOpt, node.ArgumentRefKindsOpt,
254ImmutableArray<BoundExpression> initializers)
305var args = EvaluateSideEffectingArgumentsToTemps(
307memberInit.MemberSymbol?.GetParameterRefKinds() ?? default(ImmutableArray<RefKind>),
410var indices = EvaluateSideEffectingArgumentsToTemps(
587private ImmutableArray<BoundExpression> EvaluateSideEffectingArgumentsToTemps(
588ImmutableArray<BoundExpression> args,
589ImmutableArray<RefKind> paramRefKindsOpt,
680var arguments = rewrittenLeft.Arguments;
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (10)
29private InterpolationHandlerResult RewriteToInterpolatedStringHandlerPattern(InterpolatedStringHandlerData data, ImmutableArray<BoundExpression> parts, SyntaxNode syntax)
219private BoundExpression LowerPartsToString(InterpolatedStringHandlerData data, ImmutableArray<BoundExpression> parts, SyntaxNode syntax, TypeSymbol type)
228: new BoundBadExpression(syntax, LookupResultKind.Empty, symbols: ImmutableArray<Symbol?>.Empty, childBoundNodes: ImmutableArray<BoundExpression>.Empty, type);
234private static void AssertNoImplicitInterpolatedStringHandlerConversions(ImmutableArray<BoundExpression> arguments, bool allowConversionsWithNoContext = false)
257private readonly ImmutableArray<BoundStatement> _statements;
258private readonly ImmutableArray<BoundExpression> _expressions;
264public InterpolationHandlerResult(ImmutableArray<BoundStatement> statements, BoundLocal handlerTemp, LocalSymbol outTemp, LocalRewriter rewriter)
273public InterpolationHandlerResult(ImmutableArray<BoundExpression> expressions, BoundLocal handlerTemp, LocalSymbol? outTemp, LocalRewriter rewriter)
285var locals = _outTemp != null
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (22)
61var underlyingConversions = c.UnderlyingConversions;
63var resultTypes = conversion.Type.TupleElementTypesWithAnnotations;
82var newArguments = builder.ToImmutableAndFree();
84tuple.Syntax, sourceTuple: null, wasTargetTyped: true, newArguments, ImmutableArray<string?>.Empty,
85ImmutableArray<bool>.Empty, conversion.Type, conversion.HasErrors);
108var destElementTypes = expr.Type.TupleElementTypesWithAnnotations;
111var srcElementFields = boundConversion.Operand.Type.TupleElements;
114var elementConversions = conversion.UnderlyingConversions;
126syntax, sourceTuple: null, wasTargetTyped: true, fieldAccessorsBuilder.ToImmutableAndFree(), ImmutableArray<string?>.Empty,
127ImmutableArray<bool>.Empty, expr.Type, expr.HasErrors);
160var newArguments = builder.ToImmutableAndFree();
162tuple.Syntax, sourceTuple: null, wasTargetTyped: false, newArguments, ImmutableArray<string?>.Empty,
163ImmutableArray<bool>.Empty, tuple.Type, tuple.HasErrors);
308BoundExpression innerSequence = _factory.Sequence(locals: ImmutableArray<LocalSymbol>.Empty, innerEffects.ToImmutableAndFree(), logicalExpression);
322return _factory.Sequence(ImmutableArray<LocalSymbol>.Empty, outerEffects.ToImmutableAndFree(),
330return _factory.Sequence(ImmutableArray<LocalSymbol>.Empty, outerEffects.ToImmutableAndFree(),
339_factory.Sequence(ImmutableArray<LocalSymbol>.Empty, outerEffects.ToImmutableAndFree(),
444var types = expr.Type.GetNullableUnderlyingType().TupleElementTypesWithAnnotations;
446var underlyingConversions = tupleConversion.UnderlyingConversions;
459argumentNamesOpt: ImmutableArray<string?>.Empty,
460inferredNamesOpt: ImmutableArray<bool>.Empty,
488ImmutableArray<TupleBinaryOperatorInfo> nestedOperators = operators.Operators;
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (7)
27ImmutableArray<BoundExpression> rewrittenArguments = VisitList(node.Arguments);
37private BoundExpression RewriteTupleCreationExpression(BoundTupleExpression node, ImmutableArray<BoundExpression> rewrittenArguments)
43private BoundExpression MakeTupleCreationExpression(SyntaxNode syntax, NamedTypeSymbol type, ImmutableArray<BoundExpression> rewrittenArguments)
54ImmutableArray<BoundExpression> smallestCtorArguments = ImmutableArray.Create(rewrittenArguments,
69Binder.CheckRequiredMembersInObjectInitializer(smallestConstructor, initializers: ImmutableArray<BoundExpression>.Empty, syntax, _diagnostics);
83Binder.CheckRequiredMembersInObjectInitializer(tuple8Ctor, initializers: ImmutableArray<BoundExpression>.Empty, syntax, _diagnostics);
88ImmutableArray<BoundExpression> ctorArguments = ImmutableArray.Create(rewrittenArguments,
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (9)
64ImmutableArray<LocalSymbol> locals,
65ImmutableArray<BoundLocalDeclaration> declarations,
89private BoundStatement MakeLocalUsingDeclarationStatement(BoundUsingLocalDeclarations usingDeclarations, ImmutableArray<BoundStatement> statements)
92BoundBlock body = new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, statements);
96ImmutableArray<LocalSymbol>.Empty,
422catchBlocks: ImmutableArray<BoundCatchBlock>.Empty,
463disposeCall = new BoundBadExpression(resourceSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(disposedExpression), ErrorTypeSymbol.UnknownResultType);
512ImmutableArray<RefKind> argumentRefKindsOpt = default;
514var rewrittenArguments = VisitArgumentsAndCaptureReceiverIfNeeded(
Lowering\LocalRewriter\LoweredDynamicOperation.cs (6)
25private readonly ImmutableArray<LocalSymbol> _temps;
29public LoweredDynamicOperation(SyntheticBoundNodeFactory? factory, BoundExpression? siteInitialization, BoundExpression siteInvocation, TypeSymbol resultType, ImmutableArray<LocalSymbol> temps)
40ImmutableArray<BoundExpression> loweredArguments,
52public static LoweredDynamicOperation Bad(TypeSymbol resultType, ImmutableArray<BoundExpression> children)
55var bad = new BoundBadExpression(children[0].Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, children, resultType);
56return new LoweredDynamicOperation(null, null, bad, resultType, default(ImmutableArray<LocalSymbol>));
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (50)
97var loweredArguments = ImmutableArray.Create(loweredOperand);
111return MakeDynamicOperation(binderConstruction, null, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
129var loweredArguments = ImmutableArray.Create(loweredOperand);
147return MakeDynamicOperation(binderConstruction, null, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
172var loweredArguments = ImmutableArray.Create<BoundExpression>(loweredLeft, loweredRight);
190return MakeDynamicOperation(binderConstruction, null, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
196ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
197ImmutableArray<BoundExpression> loweredArguments,
198ImmutableArray<string?> argumentNames,
199ImmutableArray<RefKind> refKinds,
270var loweredArguments = ImmutableArray<BoundExpression>.Empty;
292return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), loweredHandler, resultType);
297ImmutableArray<BoundExpression> loweredArguments,
298ImmutableArray<string?> argumentNames,
299ImmutableArray<RefKind> refKinds,
335ImmutableArray<BoundExpression> loweredArguments,
336ImmutableArray<string?> argumentNames,
337ImmutableArray<RefKind> refKinds)
372var loweredArguments = ImmutableArray<BoundExpression>.Empty;
391return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), null, resultType);
414var loweredArguments = ImmutableArray<BoundExpression>.Empty;
432return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, loweredArguments, default(ImmutableArray<RefKind>), loweredRight, AssemblySymbol.DynamicType);
437ImmutableArray<BoundExpression> loweredArguments,
438ImmutableArray<string?> argumentNames,
439ImmutableArray<RefKind> refKinds)
463ImmutableArray<BoundExpression> loweredArguments,
464ImmutableArray<string?> argumentNames,
465ImmutableArray<RefKind> refKinds,
516return MakeDynamicOperation(binderConstruction, loweredReceiver, RefKind.None, ImmutableArray<BoundExpression>.Empty, default(ImmutableArray<RefKind>), null, resultType);
560ImmutableArray<BoundExpression> loweredArguments,
561ImmutableArray<string?> argumentNames = default(ImmutableArray<string?>),
562ImmutableArray<RefKind> refKinds = default(ImmutableArray<RefKind>),
602ImmutableArray<BoundExpression> loweredArguments,
603ImmutableArray<RefKind> refKinds,
640ImmutableArray<LocalSymbol> temps = MakeTempsForDiscardArguments(ref loweredArguments);
647var callSiteArguments = GetCallSiteArguments(callSiteFieldAccess, loweredReceiver, loweredArguments, loweredRight);
670private ImmutableArray<LocalSymbol> MakeTempsForDiscardArguments(ref ImmutableArray<BoundExpression> loweredArguments)
676return ImmutableArray<LocalSymbol>.Empty;
721ImmutableArray<BoundExpression> loweredArguments,
722ImmutableArray<RefKind> refKinds,
873private static ImmutableArray<BoundExpression> GetCallSiteArguments(BoundExpression callSiteFieldAccess, BoundExpression? receiver, ImmutableArray<BoundExpression> arguments, BoundExpression? right)
896private TypeSymbol[] MakeCallSiteDelegateSignature(TypeSymbol callSiteType, BoundExpression? receiver, ImmutableArray<BoundExpression> arguments, BoundExpression? right, TypeSymbol resultType)
Lowering\SpillSequenceSpiller.cs (27)
67public ImmutableArray<LocalSymbol> GetLocals()
69return (_locals == null) ? ImmutableArray<LocalSymbol>.Empty : _locals.ToImmutable();
72public ImmutableArray<BoundStatement> GetStatements()
76return ImmutableArray<BoundStatement>.Empty;
132public void AddLocals(ImmutableArray<LocalSymbol> locals)
150public void AddStatements(ImmutableArray<BoundStatement> statements)
158internal void AddExpressions(ImmutableArray<BoundExpression> expressions)
320var newInitializers = VisitExpressionList(ref builder, arrayInitialization.Initializers, forceSpill: true);
327var newArgs = VisitExpressionList(ref builder, argumentList.Arguments, argumentList.ArgumentRefKindsOpt, forceSpill: true);
487var argRefKinds = objectCreationExpression.ArgumentRefKindsOpt;
583private ImmutableArray<BoundExpression> VisitExpressionList(
585ImmutableArray<BoundExpression> args,
586ImmutableArray<RefKind> refKinds = default(ImmutableArray<RefKind>),
598var newList = VisitList(args);
710var locals = node.Locals;
772var newArgs = VisitExpressionList(ref builder, node.Arguments);
782var indices = this.VisitExpressionList(ref indicesBuilder, node.Indices);
809ImmutableArray<BoundExpression> bounds;
829var initializers = this.VisitExpressionList(ref builder, node.Initializers);
893var indices = this.VisitExpressionList(ref leftBuilder, arrayAccess.Indices, forceSpill: true);
940var indices = this.VisitExpressionList(ref leftBuilder, arrayAccess.Indices, forceSpill: true);
1019var arguments = this.VisitExpressionList(ref builder, node.Arguments, node.ArgumentRefKindsOpt);
1085var arguments = this.VisitExpressionList(ref builder, node.Arguments, node.ArgumentRefKindsOpt);
1416var arguments = this.VisitExpressionList(ref builder, node.Arguments, node.ArgumentRefKindsOpt);
1455var sideEffects = VisitExpressionList(ref builder, node.SideEffects, forceSpill: valueBuilder != null, sideEffectsOnly: true);
1487private void PromoteAndAddLocals(BoundSpillSequenceBuilder builder, ImmutableArray<LocalSymbol> locals)
Lowering\SyntheticBoundNodeFactory.cs (63)
233return new BoundBadExpression(Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, type, hasErrors: true);
445return Block(ImmutableArray<BoundStatement>.Empty);
448public BoundBlock Block(ImmutableArray<BoundStatement> statements)
450return Block(ImmutableArray<LocalSymbol>.Empty, statements);
458public BoundBlock Block(ImmutableArray<LocalSymbol> locals, params BoundStatement[] statements)
463public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements)
468public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, params BoundStatement[] statements)
473public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, ImmutableArray<BoundStatement> statements)
485return StatementList(ImmutableArray<BoundStatement>.Empty);
488public BoundStatementList StatementList(ImmutableArray<BoundStatement> statements)
533statements.Add(Try(Block(statement), ImmutableArray<BoundCatchBlock>.Empty, Block(instrumentation.Epilogue)));
740public BoundObjectCreationExpression New(NamedTypeSymbol type, ImmutableArray<BoundExpression> args)
746public BoundObjectCreationExpression New(MethodSymbol ctor, ImmutableArray<BoundExpression> args)
749public BoundObjectCreationExpression New(MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKinds)
764public BoundObjectCreationExpression New(WellKnownMember wm, ImmutableArray<BoundExpression> args)
789return new BoundBadExpression(Syntax, default(LookupResultKind), ImmutableArray<Symbol?>.Empty, args.AsImmutable(), receiver);
795public BoundExpression StaticCall(MethodSymbol method, ImmutableArray<BoundExpression> args)
806public BoundExpression StaticCall(WellKnownMember method, ImmutableArray<TypeSymbol> typeArgs, params BoundExpression[] args)
826return Call(receiver, method, ImmutableArray<BoundExpression>.Empty);
847public BoundCall Call(BoundExpression? receiver, MethodSymbol method, ImmutableArray<BoundExpression> args, bool useStrictArgumentRefKinds = false)
853argumentNamesOpt: default(ImmutableArray<string?>), argumentRefKindsOpt: getArgumentRefKinds(method, useStrictArgumentRefKinds), isDelegateCall: false, expanded: false,
854invokedAsExtensionMethod: false, argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector), resultKind: LookupResultKind.Viable,
858static ImmutableArray<RefKind> getArgumentRefKinds(MethodSymbol method, bool useStrictArgumentRefKinds)
860var result = method.ParameterRefKinds;
884public BoundCall Call(BoundExpression? receiver, MethodSymbol method, ImmutableArray<RefKind> refKinds, ImmutableArray<BoundExpression> args)
889argumentNamesOpt: default(ImmutableArray<String?>), argumentRefKindsOpt: refKinds, isDelegateCall: false, expanded: false, invokedAsExtensionMethod: false,
890argsToParamsOpt: ImmutableArray<int>.Empty, defaultArguments: default(BitVector), resultKind: LookupResultKind.Viable, type: method.ReturnType)
916return If(condition, ImmutableArray<LocalSymbol>.Empty, thenClause, elseClauseOpt);
924public BoundStatement If(BoundExpression condition, ImmutableArray<LocalSymbol> locals, BoundStatement thenClause, BoundStatement? elseClauseOpt = null)
992return MakeSequence(ImmutableArray<LocalSymbol>.Empty, parts);
995public BoundExpression MakeSequence(ImmutableArray<LocalSymbol> locals, params BoundExpression[] parts)
1021return new BoundSequence(Syntax, ImmutableArray<LocalSymbol>.Empty, sideEffects.AsImmutableOrNull(), result, resultType) { WasCompilerGenerated = true };
1024public BoundExpression Sequence(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression result)
1033public BoundSpillSequence SpillSequence(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression result)
1044public readonly ImmutableArray<int> Values;
1045public readonly ImmutableArray<BoundStatement> Statements;
1047public SyntheticSwitchSection(ImmutableArray<int> values, ImmutableArray<BoundStatement> statements)
1057public SyntheticSwitchSection SwitchSection(ImmutableArray<int> values, params BoundStatement[] statements)
1063public BoundStatement Switch(BoundExpression ex, ImmutableArray<SyntheticSwitchSection> sections)
1102private static void CheckSwitchSections(ImmutableArray<SyntheticSwitchSection> sections)
1168ImmutableArray<BoundExpression> firstElementIndices = ArrayBuilder<BoundExpression>.GetInstance(rank, Literal(0)).ToImmutableAndFree();
1177public BoundArrayAccess ArrayAccess(BoundExpression array, ImmutableArray<BoundExpression> indices)
1279public ImmutableArray<BoundExpression> TypeOfs(ImmutableArray<TypeWithAnnotations> typeArguments, TypeSymbol systemType)
1531public BoundExpression ArrayOrEmpty(TypeSymbol elementType, ImmutableArray<BoundExpression> elements)
1546public BoundExpression Array(TypeSymbol elementType, ImmutableArray<BoundExpression> elements)
1577ImmutableArray<BoundCatchBlock> catchBlocks,
1584internal ImmutableArray<BoundCatchBlock> CatchBlocks(
1602return new BoundCatchBlock(Syntax, ImmutableArray<LocalSymbol>.Empty, source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false);
1607return new BoundTryStatement(Syntax, tryBlock, ImmutableArray<BoundCatchBlock>.Empty, faultBlock, finallyLabelOpt: null, preferFaultHandler: true);
1726internal ImmutableArray<BoundExpression> MakeTempsForDiscardArguments(ImmutableArray<BoundExpression> arguments, ArrayBuilder<LocalSymbol> builder)
1844locals: ImmutableArray<LocalSymbol>.Empty,
Operations\CSharpOperationFactory.cs (118)
319ImmutableArray<IOperation> children = GetIOperationChildren(boundNode);
337public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation
341return ImmutableArray<TOperation>.Empty;
373internal ImmutableArray<IOperation> GetIOperationChildren(IBoundNodeWithIOperationChildren boundNodeWithChildren)
375var children = boundNodeWithChildren.Children;
378return ImmutableArray<IOperation>.Empty;
396internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax)
450ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren);
457ImmutableArray<IArgumentOperation> arguments = DeriveArguments(boundCall);
480ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren);
485var arguments = DeriveArguments(boundFunctionPointerInvocation);
511var namedArguments = CreateFromArray<BoundAssignmentOperator, IOperation>(boundAttribute.NamedArguments);
520internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration)
533var declarations = ((BoundMultipleLocalDeclarationsBase)declaration).LocalDeclarations;
534ImmutableArray<BoundExpression> dimensions;
543dimensions = ImmutableArray<BoundExpression>.Empty;
615var arguments = ImmutableArray<IArgumentOperation>.Empty;
633var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren);
637ImmutableArray<IArgumentOperation> arguments = DeriveArguments(boundIndexerAccess);
697ImmutableArray<IOperation> initializers = GetAnonymousObjectCreationInitializers(boundAnonymousObjectCreationExpression.Arguments, boundAnonymousObjectCreationExpression.Declarations, syntax, type, isImplicit);
713var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren);
721ImmutableArray<IOperation> initializers = GetAnonymousObjectCreationInitializers(
723declarations: ImmutableArray<BoundAnonymousPropertyDeclaration>.Empty,
730ImmutableArray<IArgumentOperation> arguments = DeriveArguments(boundObjectCreationExpression);
750ImmutableArray<IOperation> arguments = CreateFromArray<BoundExpression, IOperation>(boundDynamicObjectCreationExpression.Arguments);
751ImmutableArray<string?> argumentNames = boundDynamicObjectCreationExpression.ArgumentNamesOpt.NullToEmpty();
752ImmutableArray<RefKind> argumentRefKinds = boundDynamicObjectCreationExpression.ArgumentRefKindsOpt.NullToEmpty();
764return CreateBoundDynamicMemberAccessOperation(implicitReceiver, typeArgumentsOpt: ImmutableArray<TypeSymbol>.Empty, memberName: "Add",
779ImmutableArray<IOperation> arguments = CreateFromArray<BoundExpression, IOperation>(boundDynamicInvocation.Arguments);
780ImmutableArray<string?> argumentNames = boundDynamicInvocation.ArgumentNamesOpt.NullToEmpty();
781ImmutableArray<RefKind> argumentRefKinds = boundDynamicInvocation.ArgumentRefKindsOpt.NullToEmpty();
803internal ImmutableArray<IOperation> CreateBoundDynamicIndexerAccessArguments(BoundExpression indexer)
822ImmutableArray<IOperation> arguments = CreateBoundDynamicIndexerAccessArguments(boundDynamicIndexerAccess);
823ImmutableArray<string?> argumentNames = boundDynamicIndexerAccess.ArgumentNamesOpt.NullToEmpty();
824ImmutableArray<RefKind> argumentRefKinds = boundDynamicIndexerAccess.ArgumentRefKindsOpt.NullToEmpty();
833ImmutableArray<IOperation> initializers = CreateFromArray<BoundExpression, IOperation>(BoundObjectCreationExpression.GetChildInitializers(boundObjectInitializerExpression));
842ImmutableArray<IOperation> initializers = CreateFromArray<BoundExpression, IOperation>(BoundObjectCreationExpression.GetChildInitializers(boundCollectionInitializerExpression));
861ImmutableArray<IOperation> arguments = CreateBoundDynamicIndexerAccessArguments(boundObjectInitializerMember);
862ImmutableArray<string?> argumentNames = boundObjectInitializerMember.ArgumentNamesOpt.NullToEmpty();
863ImmutableArray<RefKind> argumentRefKinds = boundObjectInitializerMember.ArgumentRefKindsOpt.NullToEmpty();
879ImmutableArray<IArgumentOperation> arguments;
889var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren);
897arguments = ImmutableArray<IArgumentOperation>.Empty;
914ImmutableArray<ITypeSymbol> typeArguments = ImmutableArray<ITypeSymbol>.Empty;
927ImmutableArray<IArgumentOperation> arguments = DeriveArguments(boundCollectionElementInitializer);
935var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren);
951ImmutableArray<TypeSymbol> typeArgumentsOpt,
964ImmutableArray<ITypeSymbol> typeArguments = ImmutableArray<ITypeSymbol>.Empty;
977ImmutableArray<IOperation> arguments = CreateFromArray<BoundExpression, IOperation>(boundCollectionElementInitializer.Arguments);
981return new DynamicInvocationOperation(operation, arguments, argumentNames: ImmutableArray<string?>.Empty, argumentRefKinds: ImmutableArray<RefKind>.Empty, _semanticModel, syntax, type, isImplicit);
1206ImmutableArray<IOperation> dimensionSizes = CreateFromArray<BoundExpression, IOperation>(boundArrayCreation.Bounds);
1217ImmutableArray<IOperation> elementValues = CreateFromArray<BoundExpression, IOperation>(boundArrayInitialization.Initializers);
1229ImmutableArray<IOperation> elements = expr.Elements.SelectAsArray((element, expr) => CreateBoundCollectionExpressionElement(expr, element), expr);
1409var children = CreateFromArray<BoundExpression, IOperation>(boundBadExpression.ChildBoundNodes);
1627ImmutableArray<IOperation> indices = CreateFromArray<BoundExpression, IOperation>(boundArrayAccess.Indices);
1726ImmutableArray<IFieldSymbol> initializedFields = ImmutableArray.Create<IFieldSymbol>(boundFieldEqualsValue.Field.GetPublicSymbol());
1735ImmutableArray<IPropertySymbol> initializedProperties = ImmutableArray.Create<IPropertySymbol>(boundPropertyEqualsValue.Property.GetPublicSymbol());
1753ImmutableArray<IOperation> operations = CreateFromArray<BoundStatement, IOperation>(boundBlock.Statements);
1754ImmutableArray<ILocalSymbol> locals = boundBlock.Locals.GetPublicSymbols();
1848ImmutableArray<ILocalSymbol> locals = boundWhileStatement.Locals.GetPublicSymbols();
1866ImmutableArray<ILocalSymbol> locals = boundDoStatement.Locals.GetPublicSymbols();
1874ImmutableArray<IOperation> before = CreateFromArray<BoundStatement, IOperation>(ToStatements(boundForStatement.Initializer));
1876ImmutableArray<IOperation> atLoopBottom = CreateFromArray<BoundStatement, IOperation>(ToStatements(boundForStatement.Increment));
1878ImmutableArray<ILocalSymbol> locals = boundForStatement.OuterLocals.GetPublicSymbols();
1879ImmutableArray<ILocalSymbol> conditionLocals = boundForStatement.InnerLocals.GetPublicSymbols();
1932ImmutableArray<IArgumentOperation> createArgumentOperations(MethodArgumentInfo? info)
1940return ImmutableArray<IArgumentOperation>.Empty;
1942var args = DeriveArguments(
1969return new VariableDeclaratorOperation(local.GetPublicSymbol(), initializer: null, ignoredArguments: ImmutableArray<IOperation>.Empty, semanticModel: _semanticModel, syntax: declaratorSyntax, isImplicit: false);
1981var nextVariables = ImmutableArray<IOperation>.Empty;
1985ImmutableArray<ILocalSymbol> locals = boundForEachStatement.IterationVariables.GetPublicSymbols();
1998ImmutableArray<ICatchClauseOperation> catches = CreateFromArray<BoundCatchBlock, ICatchClauseOperation>(boundTryStatement.CatchBlocks);
2013ImmutableArray<ILocalSymbol> locals = boundCatchBlock.Locals.GetPublicSymbols();
2023ImmutableArray<ILocalSymbol> locals = boundFixedStatement.Locals.GetPublicSymbols();
2035ImmutableArray<ILocalSymbol> locals = boundUsingStatement.Locals.GetPublicSymbols();
2095var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);
2141ImmutableArray<IVariableDeclaratorOperation> declarators = CreateVariableDeclarator(boundLocalDeclaration, varDeclaration);
2142ImmutableArray<IOperation> ignoredDimensions = CreateIgnoredDimensions(boundLocalDeclaration);
2161ImmutableArray<IVariableDeclaratorOperation> declarators = CreateVariableDeclarator(boundMultipleLocalDeclarations, declarationSyntax);
2162ImmutableArray<IOperation> ignoredDimensions = CreateIgnoredDimensions(boundMultipleLocalDeclarations);
2250ImmutableArray<IOperation> elements = CreateFromArray<BoundExpression, IOperation>(boundTupleExpression.Arguments);
2254private IInterpolatedStringOperation CreateBoundInterpolatedStringExpressionOperation(BoundInterpolatedString boundInterpolatedString, ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>? positionInfo = null)
2263ImmutableArray<IInterpolatedStringContentOperation> parts = CreateBoundInterpolatedStringContentOperation(boundInterpolatedString.Parts, positionInfo);
2271internal ImmutableArray<IInterpolatedStringContentOperation> CreateBoundInterpolatedStringContentOperation(ImmutableArray<BoundExpression> parts, ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>? positionInfo)
2275ImmutableArray<IInterpolatedStringContentOperation> createNonHandlerInterpolatedStringContent()
2293ImmutableArray<IInterpolatedStringContentOperation> createHandlerInterpolatedStringContent(ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)> positionInfo)
2377static (BoundExpression Value, BoundExpression? Alignment, BoundExpression? Format) getCallInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, (bool IsLiteral, bool HasAlignment, bool HasFormat) currentPosition)
2489return new InvalidOperation(ImmutableArray<IOperation>.Empty, _semanticModel, syntax, type, placeholder.ConstantValueOpt, isImplicit);
2556ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions
2558: ImmutableArray<IPatternOperation>.Empty;
2559ImmutableArray<IPropertySubpatternOperation> propertySubpatterns = boundRecursivePattern.Properties is { IsDefault: false } properties
2561: ImmutableArray<IPropertySubpatternOperation>.Empty;
2577ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundITuplePattern.Subpatterns is { IsDefault: false } subpatterns
2579: ImmutableArray<IPatternOperation>.Empty;
2585propertySubpatterns: ImmutableArray<IPropertySubpatternOperation>.Empty,
2687ImmutableArray<ISwitchCaseOperation> cases = CreateFromArray<BoundSwitchSection, ISwitchCaseOperation>(boundSwitchStatement.SwitchSections);
2688ImmutableArray<ILocalSymbol> locals = boundSwitchStatement.InnerLocals.GetPublicSymbols();
2697ImmutableArray<ICaseClauseOperation> clauses = CreateFromArray<BoundSwitchLabel, ICaseClauseOperation>(boundSwitchSection.SwitchLabels);
2698ImmutableArray<IOperation> body = CreateFromArray<BoundStatement, IOperation>(boundSwitchSection.Statements);
2699ImmutableArray<ILocalSymbol> locals = boundSwitchSection.Locals.GetPublicSymbols();
2707ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<BoundSwitchExpressionArm, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms);
2861var reference = OperationFactory.CreateInvalidOperation(_semanticModel, subpatternSyntax, ImmutableArray<IOperation>.Empty, isImplicit: true);
2883matchedType: previousType, deconstructSymbol: null, deconstructionSubpatterns: ImmutableArray<IPatternOperation>.Empty,
2907reference = new PropertyReferenceOperation(property.GetPublicSymbol(), constrainedToType: null, ImmutableArray<IArgumentOperation>.Empty,
2915reference = OperationFactory.CreateInvalidOperation(_semanticModel, nameSyntax, ImmutableArray<IOperation>.Empty, isImplicit: false);
2940private ImmutableArray<IArgumentOperation> CreateDisposeArguments(MethodArgumentInfo patternDisposeInfo)
2947return ImmutableArray<IArgumentOperation>.Empty;
2950var args = DeriveArguments(
Operations\CSharpOperationFactory_Methods.cs (26)
18internal ImmutableArray<BoundStatement> ToStatements(BoundStatement? statement)
22return ImmutableArray<BoundStatement>.Empty;
75return new VariableInitializerOperation(locals: ImmutableArray<ILocalSymbol>.Empty, value, _semanticModel, initializerSyntax, initializerIsImplicit);
87ImmutableArray<IOperation> ignoredDimensions = CreateFromArray<BoundExpression, IOperation>(boundLocalDeclaration.ArgumentsOpt);
95return boundLocal == null ? null : new VariableDeclaratorOperation(boundLocal.LocalSymbol.GetPublicSymbol(), initializer: null, ignoredArguments: ImmutableArray<IOperation>.Empty, semanticModel: _semanticModel, syntax: boundLocal.Syntax, isImplicit: false);
194internal ImmutableArray<IArgumentOperation> DeriveArguments(BoundNode containingExpression)
264private ImmutableArray<IArgumentOperation> DeriveArguments(
266ImmutableArray<BoundExpression> boundArguments,
267ImmutableArray<int> argumentsToParametersOpt,
276return ImmutableArray<IArgumentOperation>.Empty;
288private static ImmutableArray<IArgumentOperation> MakeArgumentsInEvaluationOrder(
290ImmutableArray<BoundExpression> arguments,
292ImmutableArray<int> argsToParamsOpt,
307ImmutableArray<ParameterSymbol> parameters = methodOrIndexer.GetParameters();
359private static ImmutableArray<IArgumentOperation> BuildArgumentsInEvaluationOrder(
362ImmutableArray<int> argsToParamsOpt,
364ImmutableArray<BoundExpression> arguments)
366ImmutableArray<ParameterSymbol> parameters = methodOrIndexer.GetParameters();
387internal static ImmutableArray<BoundNode> CreateInvalidChildrenFromArgumentsExpression(BoundNode? receiverOpt, ImmutableArray<BoundExpression> arguments, BoundExpression? additionalNodeOpt = null)
407internal ImmutableArray<IOperation> GetAnonymousObjectCreationInitializers(
408ImmutableArray<BoundExpression> arguments,
409ImmutableArray<BoundAnonymousPropertyDeclaration> declarations,
443arguments: ImmutableArray<IArgumentOperation>.Empty,
455ImmutableArray<IArgumentOperation>.Empty,
474static BoundAnonymousPropertyDeclaration? getDeclaration(ImmutableArray<BoundAnonymousPropertyDeclaration> declarations, PropertySymbol currentProperty, ref int currentDeclarationIndex)
Symbols\AliasSymbol.cs (6)
50private readonly ImmutableArray<Location> _locations; // NOTE: can be empty for the "global" alias.
55protected AliasSymbol(string aliasName, Symbol containingSymbol, ImmutableArray<Location> locations, bool isExtern)
70return new AliasSymbolFromResolvedTarget(globalNamespace, "global", globalNamespace, ImmutableArray<Location>.Empty, isExtern: false);
118public override ImmutableArray<Location> Locations
126public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
436internal AliasSymbolFromResolvedTarget(NamespaceOrTypeSymbol target, string aliasName, Symbol containingSymbol, ImmutableArray<Location> locations, bool isExtern)
Symbols\ArrayTypeSymbol.cs (40)
46return CreateMDArray(declaringAssembly, elementTypeWithAnnotations, rank, default(ImmutableArray<int>), default(ImmutableArray<int>));
52ImmutableArray<int> sizes,
53ImmutableArray<int> lowerBounds,
69ImmutableArray<int> sizes,
70ImmutableArray<int> lowerBounds)
85ImmutableArray<NamedTypeSymbol> constructedInterfaces)
104private static ImmutableArray<NamedTypeSymbol> GetSZArrayInterfaces(
149public virtual ImmutableArray<int> Sizes
153return ImmutableArray<int>.Empty;
162public virtual ImmutableArray<int> LowerBounds
166return default(ImmutableArray<int>);
177var thisLowerBounds = this.LowerBounds;
184var otherLowerBounds = other.LowerBounds;
261public override ImmutableArray<Symbol> GetMembers()
263return ImmutableArray<Symbol>.Empty;
266public override ImmutableArray<Symbol> GetMembers(string name)
268return ImmutableArray<Symbol>.Empty;
271public override ImmutableArray<NamedTypeSymbol> GetTypeMembers()
273return ImmutableArray<NamedTypeSymbol>.Empty;
276public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name)
278return ImmutableArray<NamedTypeSymbol>.Empty;
281public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name, int arity)
283return ImmutableArray<NamedTypeSymbol>.Empty;
310public override ImmutableArray<Location> Locations
314return ImmutableArray<Location>.Empty;
318public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
322return ImmutableArray<SyntaxReference>.Empty;
391internal override bool ApplyNullableTransforms(byte defaultTransformFlag, ImmutableArray<byte> transforms, ref int position, out TypeSymbol result)
509private readonly ImmutableArray<NamedTypeSymbol> _interfaces;
514ImmutableArray<NamedTypeSymbol> constructedInterfaces)
548internal override ImmutableArray<NamedTypeSymbol> InterfacesNoUseSiteDiagnostics(ConsList<TypeSymbol>? basesBeingResolved = null)
595internal sealed override ImmutableArray<NamedTypeSymbol> InterfacesNoUseSiteDiagnostics(ConsList<TypeSymbol>? basesBeingResolved = null)
597return ImmutableArray<NamedTypeSymbol>.Empty;
627private readonly ImmutableArray<int> _sizes;
628private readonly ImmutableArray<int> _lowerBounds;
633ImmutableArray<int> sizes,
634ImmutableArray<int> lowerBounds,
649public override ImmutableArray<int> Sizes
657public override ImmutableArray<int> LowerBounds
Symbols\Attributes\SourceAttributeData.cs (16)
23private readonly ImmutableArray<TypedConstant> _constructorArguments;
24private readonly ImmutableArray<int> _constructorArgumentsSourceIndices;
25private readonly ImmutableArray<KeyValuePair<string, TypedConstant>> _namedArguments;
35ImmutableArray<TypedConstant> constructorArguments,
36ImmutableArray<int> constructorArgumentsSourceIndices,
37ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments,
67constructorArguments: ImmutableArray<TypedConstant>.Empty,
69namedArguments: ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty,
80ImmutableArray<TypedConstant> constructorArguments,
81ImmutableArray<int> constructorArgumentsSourceIndices,
82ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments,
118internal ImmutableArray<int> ConstructorArgumentsSourceIndices
202protected internal sealed override ImmutableArray<TypedConstant> CommonConstructorArguments
207protected internal sealed override ImmutableArray<KeyValuePair<string, TypedConstant>> CommonNamedArguments
242ImmutableArray<ParameterSymbol> parameters = ctor.Parameters;
256bool matches(byte[] targetSignature, ImmutableArray<ParameterSymbol> parameters, ref TypeSymbol? lazySystemType)
Symbols\Compilation_WellKnownMembers.cs (22)
247var members = declaringType.GetMembers(descriptor.Name);
251internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
390ImmutableArray<TypedConstant> arguments = default,
391ImmutableArray<KeyValuePair<WellKnownMember, TypedConstant>> namedArguments = default,
405arguments = ImmutableArray<TypedConstant>.Empty;
408ImmutableArray<KeyValuePair<string, TypedConstant>> namedStringArguments;
411namedStringArguments = ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty;
452arguments: ImmutableArray<TypedConstant>.Empty,
453namedArguments: ImmutableArray<KeyValuePair<string, TypedConstant>>.Empty);
788var transformFlags = DynamicTransformsEncoder.Encode(type, refKindOpt, customModifiersCount, booleanType);
790var arguments = ImmutableArray.Create(new TypedConstant(boolArray, transformFlags));
807var args = ImmutableArray.Create(new TypedConstant(stringArray, names));
815var arguments = ImmutableArray.Create(
817var namedArguments = ImmutableArray.Create(
825public static ImmutableArray<string?> Encode(TypeSymbol type)
838public static ImmutableArray<TypedConstant> Encode(TypeSymbol type, TypeSymbol stringType)
889internal static ImmutableArray<TypedConstant> Encode(TypeSymbol type, RefKind refKind, int customModifiersCount, TypeSymbol booleanType)
901internal static ImmutableArray<bool> Encode(TypeSymbol type, RefKind refKind, int customModifiersCount)
908internal static ImmutableArray<bool> EncodeWithoutCustomModifierFlags(TypeSymbol type, RefKind refKind)
1010void handle(RefKind refKind, ImmutableArray<CustomModifier> customModifiers, TypeWithAnnotations twa)
1131protected override ImmutableArray<ParameterSymbol> GetParameters(MethodSymbol method)
1136protected override ImmutableArray<ParameterSymbol> GetParameters(PropertySymbol property)
Symbols\ConstraintsHelper.cs (29)
75ImmutableArray<TypeWithAnnotations> constraintTypes,
132ImmutableArray<TypeWithAnnotations> constraintTypes,
141ImmutableArray<NamedTypeSymbol> interfaces;
148interfaces = ImmutableArray<NamedTypeSymbol>.Empty;
344internal static ImmutableArray<ImmutableArray<TypeWithAnnotations>> MakeTypeParameterConstraintTypes(
347ImmutableArray<TypeParameterSymbol> typeParameters,
354return ImmutableArray<ImmutableArray<TypeWithAnnotations>>.Empty;
362ImmutableArray<TypeParameterConstraintClause> clauses;
368return ImmutableArray<ImmutableArray<TypeWithAnnotations>>.Empty;
374internal static ImmutableArray<TypeParameterConstraintKind> MakeTypeParameterConstraintKinds(
377ImmutableArray<TypeParameterSymbol> typeParameters,
383return ImmutableArray<TypeParameterConstraintKind>.Empty;
386ImmutableArray<TypeParameterConstraintClause> clauses;
409return ImmutableArray<TypeParameterConstraintKind>.Empty;
415internal static ImmutableArray<TypeParameterConstraintClause> AdjustConstraintKindsBasedOnConstraintTypes(ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeParameterConstraintClause> constraintClauses)
470var constraintTypes = bounds.ConstraintTypes;
602ImmutableArray<Location> elementLocations,
761var array = type.OriginalDefinition.InterfacesNoUseSiteDiagnostics(basesBeingResolved);
892ImmutableArray<TypeParameterSymbol> typeParameters,
893ImmutableArray<TypeWithAnnotations> typeArguments,
1061ImmutableArray<TypeWithAnnotations> originalConstraintTypes = typeParameter.ConstraintTypesWithDefinitionUseSiteDiagnostics(ref useSiteInfo);
1412private static bool IsReferenceType(TypeParameterSymbol typeParameter, ImmutableArray<TypeWithAnnotations> constraintTypes)
1417private static bool IsValueType(TypeParameterSymbol typeParameter, ImmutableArray<TypeWithAnnotations> constraintTypes)
1428private static void AddInterfaces(ArrayBuilder<NamedTypeSymbol> builder, ImmutableArray<NamedTypeSymbol> interfaces)
Symbols\ExtendedErrorTypeSymbol.cs (10)
25private readonly ImmutableArray<Symbol> _candidateSymbols; // Best guess at what user meant, but was wrong.
52private ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, string name, int arity, DiagnosticInfo? errorInfo, bool unreported, bool variableUsedBeforeDeclaration, ImmutableArray<Symbol> candidateSymbols, LookupResultKind resultKind)
74internal ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, ImmutableArray<Symbol> candidateSymbols, LookupResultKind resultKind, DiagnosticInfo errorInfo, int arity, bool unreported = false)
88private static ImmutableArray<Symbol> UnwrapErrorCandidates(ImmutableArray<Symbol> candidateSymbols)
115public override ImmutableArray<Symbol> CandidateSymbols => _candidateSymbols.NullToEmpty();
176public override ImmutableArray<Location> Locations
180return ImmutableArray<Location>.Empty;
197internal override ImmutableArray<NamedTypeSymbol> GetDeclaredInterfaces(ConsList<TypeSymbol> basesBeingResolved)
199return ImmutableArray<NamedTypeSymbol>.Empty;
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (65)
20private readonly ImmutableArray<FunctionPointerParameterSymbol> _parameters;
87var refCustomModifiers = ImmutableArray<CustomModifier>.Empty;
246ImmutableArray<CustomModifier> refCustomModifiers,
248ImmutableArray<TypeWithAnnotations> parameterTypes,
249ImmutableArray<ImmutableArray<CustomModifier>> parameterRefCustomModifiers,
250ImmutableArray<RefKind> parameterRefKinds,
269ImmutableArray<CustomModifier> callingConventionModifiers,
272ImmutableArray<TypeWithAnnotations> parameterTypes,
273ImmutableArray<RefKind> parameterRefKinds,
284ImmutableArray<CustomModifier> refCustomModifiers;
287refCustomModifiers = ImmutableArray<CustomModifier>.Empty;
330public static FunctionPointerMethodSymbol CreateFromMetadata(ModuleSymbol containingModule, CallingConvention callingConvention, ImmutableArray<ParamInfo<TypeSymbol>> retAndParamTypes)
335ImmutableArray<TypeWithAnnotations> substitutedParameterTypes,
336ImmutableArray<CustomModifier> refCustomModifiers = default,
337ImmutableArray<ImmutableArray<CustomModifier>> paramRefCustomModifiers = default)
354var mergedParameterTypes = ImmutableArray<TypeWithAnnotations>.Empty;
404var transformedParameterTypes = ImmutableArray<TypeWithAnnotations>.Empty;
445ImmutableArray<CustomModifier> refCustomModifiers,
446ImmutableArray<ParameterSymbol> originalParameters,
447ImmutableArray<TypeWithAnnotations> substitutedParameterTypes,
448ImmutableArray<ImmutableArray<CustomModifier>> substitutedRefCustomModifiers,
466var customModifiers = substitutedRefCustomModifiers.IsDefault ? originalParam.RefCustomModifiers : substitutedRefCustomModifiers[i];
479_parameters = ImmutableArray<FunctionPointerParameterSymbol>.Empty;
490ImmutableArray<CustomModifier> refCustomModifiers,
491ImmutableArray<TypeWithAnnotations> parameterTypes,
492ImmutableArray<ImmutableArray<CustomModifier>> parameterRefCustomModifiers,
493ImmutableArray<RefKind> parameterRefKinds,
513static ImmutableArray<CustomModifier> getCustomModifierArrayForRefKind(RefKind refKind, CSharpCompilation compilation)
514=> GetCustomModifierForRefKind(refKind, compilation) is { } modifier ? ImmutableArray.Create(modifier) : ImmutableArray<CustomModifier>.Empty;
521ImmutableArray<CustomModifier> refCustomModifiers,
540: ImmutableArray<FunctionPointerParameterSymbol>.Empty;
543private FunctionPointerMethodSymbol(CallingConvention callingConvention, ImmutableArray<ParamInfo<TypeSymbol>> retAndParamTypes, bool useUpdatedEscapeRules)
558static ImmutableArray<FunctionPointerParameterSymbol> makeParametersFromMetadata(ReadOnlySpan<ParamInfo<TypeSymbol>> parameterTypes, FunctionPointerMethodSymbol parent)
567var paramRefCustomMods = CSharpCustomModifier.Convert(param.RefCustomModifiers);
577return ImmutableArray<FunctionPointerParameterSymbol>.Empty;
581static RefKind getRefKind(ParamInfo<TypeSymbol> param, ImmutableArray<CustomModifier> paramRefCustomMods, RefKind hasInRefKind, RefKind hasOutRefKind, bool requiresLocationAllowed)
603internal FunctionPointerMethodSymbol ApplyNullableTransforms(byte defaultTransformFlag, ImmutableArray<byte> transforms, ref int position)
606var newParamTypes = ImmutableArray<TypeWithAnnotations>.Empty;
639internal override ImmutableArray<NamedTypeSymbol> UnmanagedCallingConventionTypes
645return ImmutableArray<NamedTypeSymbol>.Empty;
648var modifiersToSearch = RefKind != RefKind.None ? RefCustomModifiers : ReturnTypeWithAnnotations.CustomModifiers;
651return ImmutableArray<NamedTypeSymbol>.Empty;
671var modifiersToSearch = RefKind != RefKind.None ? RefCustomModifiers : ReturnTypeWithAnnotations.CustomModifiers;
769public override ImmutableArray<ParameterSymbol> Parameters =>
771public override ImmutableArray<CustomModifier> RefCustomModifiers { get; }
820public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
824public override ImmutableArray<MethodSymbol> ExplicitInterfaceImplementations => ImmutableArray<MethodSymbol>.Empty;
826public override ImmutableArray<Location> Locations => ImmutableArray<Location>.Empty;
827public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences => ImmutableArray<SyntaxReference>.Empty;
836public override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotations => ImmutableArray<TypeWithAnnotations>.Empty;
844internal override ImmutableArray<string> GetAppliedConditionalSymbols() => ImmutableArray<string>.Empty;
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (28)
34ImmutableArray<CustomModifier> refCustomModifiers,
36ImmutableArray<TypeWithAnnotations> parameterTypes,
37ImmutableArray<ImmutableArray<CustomModifier>> parameterRefCustomModifiers,
38ImmutableArray<RefKind> parameterRefKinds,
47ImmutableArray<CustomModifier> callingConventionModifiers,
50ImmutableArray<TypeWithAnnotations> parameterTypes,
51ImmutableArray<RefKind> parameterRefKinds,
55public static FunctionPointerTypeSymbol CreateFromMetadata(ModuleSymbol containingModule, Cci.CallingConvention callingConvention, ImmutableArray<ParamInfo<TypeSymbol>> retAndParamTypes)
61ImmutableArray<TypeWithAnnotations> substitutedParameterTypes,
62ImmutableArray<CustomModifier> refCustomModifiers,
63ImmutableArray<ImmutableArray<CustomModifier>> paramRefCustomModifiers)
80public override ImmutableArray<Location> Locations => ImmutableArray<Location>.Empty;
81public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences => ImmutableArray<SyntaxReference>.Empty;
92public override ImmutableArray<Symbol> GetMembers() => ImmutableArray<Symbol>.Empty;
93public override ImmutableArray<Symbol> GetMembers(string name) => ImmutableArray<Symbol>.Empty;
94public override ImmutableArray<NamedTypeSymbol> GetTypeMembers() => ImmutableArray<NamedTypeSymbol>.Empty;
95public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name) => ImmutableArray<NamedTypeSymbol>.Empty;
97internal override ImmutableArray<NamedTypeSymbol> InterfacesNoUseSiteDiagnostics(ConsList<TypeSymbol>? basesBeingResolved = null) => ImmutableArray<NamedTypeSymbol>.Empty;
135internal override bool ApplyNullableTransforms(byte defaultTransformFlag, ImmutableArray<byte> transforms, ref int position, out TypeSymbol result)
Symbols\Metadata\PE\DynamicTypeDecoder.cs (13)
34private readonly ImmutableArray<bool> _dynamicTransformFlags;
44private DynamicTypeDecoder(ImmutableArray<bool> dynamicTransformFlags, bool haveCustomModifierFlags, bool checkLength, AssemblySymbol containingAssembly)
73ImmutableArray<bool> dynamicTransformFlags;
90ImmutableArray<bool> dynamicTransformFlags,
108ImmutableArray<bool> dynamicTransformFlags,
242ImmutableArray<TypeWithAnnotations> typeArguments = namedType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics;
244ImmutableArray<TypeWithAnnotations> transformedTypeArguments = TransformTypeArguments(typeArguments); // Note, modifiers are not involved, this is behavior of the native compiler.
270private ImmutableArray<TypeWithAnnotations> TransformTypeArguments(ImmutableArray<TypeWithAnnotations> typeArguments)
285return default(ImmutableArray<TypeWithAnnotations>);
360var transformedParameters = ImmutableArray<TypeWithAnnotations>.Empty;
398static (TypeWithAnnotations, bool madeChanges) handle(ref DynamicTypeDecoder decoder, RefKind refKind, ImmutableArray<CustomModifier> refCustomModifiers, TypeWithAnnotations typeWithAnnotations)
Symbols\Metadata\PE\PEModuleSymbol.cs (25)
79internal readonly ImmutableArray<MetadataLocation> MetadataLocation;
86private ImmutableArray<CSharpAttributeData> _lazyCustomAttributes;
91private ImmutableArray<CSharpAttributeData> _lazyAssemblyAttributes;
234public override ImmutableArray<Location> Locations
242public override ImmutableArray<CSharpAttributeData> GetAttributes()
251internal ImmutableArray<CSharpAttributeData> GetAssemblyAttributes()
290(moduleAssemblyAttributesBuilder != null) ? moduleAssemblyAttributesBuilder.ToImmutableAndFree() : ImmutableArray<CSharpAttributeData>.Empty,
291default(ImmutableArray<CSharpAttributeData>));
296internal void LoadCustomAttributes(EntityHandle token, ref ImmutableArray<CSharpAttributeData> customAttributes)
298var loaded = GetCustomAttributesForToken(token);
303ref ImmutableArray<CSharpAttributeData> customAttributes)
305var loadedCustomAttributes = GetCustomAttributesFilterCompilerAttributes(token, out _, out _);
309internal ImmutableArray<CSharpAttributeData> GetCustomAttributesForToken(EntityHandle token,
316internal ImmutableArray<CSharpAttributeData> GetCustomAttributesForToken(EntityHandle token,
329internal ImmutableArray<CSharpAttributeData> GetCustomAttributesForToken(EntityHandle token,
410return ImmutableArray<CSharpAttributeData>.Empty;
416internal ImmutableArray<CSharpAttributeData> GetCustomAttributesForToken(EntityHandle token)
428internal ImmutableArray<CSharpAttributeData> GetCustomAttributesForToken(EntityHandle token,
466private ImmutableArray<CSharpAttributeData> GetCustomAttributesFilterCompilerAttributes(EntityHandle token, out bool foundExtension, out bool foundReadOnly)
468var result = GetCustomAttributesForToken(
481Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> typesDict)
485foreach (var types in typesDict.Values)
529internal override ImmutableArray<byte> GetHash(AssemblyHashAlgorithm algorithmId)
667ImmutableArray<CSharpAttributeData> assemblyAttributes = GetAssemblyAttributes();
680ImmutableArray<CSharpAttributeData> assemblyAttributes = GetAssemblyAttributes();
Symbols\Metadata\PE\PENamedTypeSymbol.cs (72)
31private static readonly Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> s_emptyNestedTypes =
32new Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>>(EmptyReadOnlyMemoryOfCharComparer.Instance);
53private ImmutableArray<Symbol> _lazyMembersInDeclarationOrder;
59private Dictionary<string, ImmutableArray<Symbol>> _lazyMembersByName;
65private Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> _lazyNestedTypes;
75private ImmutableArray<NamedTypeSymbol> _lazyInterfaces = default(ImmutableArray<NamedTypeSymbol>);
77private ImmutableArray<NamedTypeSymbol> _lazyDeclaredInterfaces = default(ImmutableArray<NamedTypeSymbol>);
133internal ImmutableArray<PEFieldSymbol> lazyInstanceEnumFields;
137internal ImmutableArray<CSharpAttributeData> lazyCustomAttributes;
138internal ImmutableArray<string> lazyConditionalAttributeSymbols;
151internal ImmutableArray<byte> lazyFilePathChecksum = default;
484internal override ImmutableArray<NamedTypeSymbol> InterfacesNoUseSiteDiagnostics(ConsList<TypeSymbol> basesBeingResolved = null)
488ImmutableInterlocked.InterlockedCompareExchange(ref _lazyInterfaces, MakeAcyclicInterfaces(), default(ImmutableArray<NamedTypeSymbol>));
494internal override ImmutableArray<NamedTypeSymbol> GetInterfacesToEmit()
531internal override ImmutableArray<NamedTypeSymbol> GetDeclaredInterfaces(ConsList<TypeSymbol> basesBeingResolved)
535ImmutableInterlocked.InterlockedCompareExchange(ref _lazyDeclaredInterfaces, MakeDeclaredInterfaces(), default(ImmutableArray<NamedTypeSymbol>));
563private ImmutableArray<NamedTypeSymbol> MakeDeclaredInterfaces()
591return ImmutableArray<NamedTypeSymbol>.Empty;
695public override ImmutableArray<CSharpAttributeData> GetAttributes()
700return ImmutableArray<CSharpAttributeData>.Empty;
705var loadedCustomAttributes = ContainingPEModule.GetCustomAttributesForToken(
899public override ImmutableArray<Symbol> GetMembers()
953ImmutableArray<Symbol> staticFields = GetMembers();
1063ImmutableArray<Symbol> members = GetMembers();
1166internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers()
1171internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name)
1394foreach (var typeArray in _lazyNestedTypes.Values)
1423var peMembers = members.ToImmutableAndFree();
1430var membersInDeclarationOrder = members.ToImmutable();
1459Dictionary<string, ImmutableArray<Symbol>> membersDict = GroupByName(members);
1492internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name)
1496ImmutableArray<Symbol> m;
1499m = ImmutableArray<Symbol>.Empty;
1505public override ImmutableArray<Symbol> GetMembers(string name)
1509ImmutableArray<Symbol> m;
1512m = ImmutableArray<Symbol>.Empty;
1516ImmutableArray<PENamedTypeSymbol> t;
1534var candidates = this.GetMembers(FixedFieldImplementationType.FixedElementFieldName);
1544internal override ImmutableArray<NamedTypeSymbol> GetTypeMembersUnordered()
1549public override ImmutableArray<NamedTypeSymbol> GetTypeMembers()
1555private ImmutableArray<NamedTypeSymbol> GetMemberTypesPrivate()
1558foreach (var typeArray in _lazyNestedTypes.Values)
1586public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name)
1590ImmutableArray<PENamedTypeSymbol> t;
1597return ImmutableArray<NamedTypeSymbol>.Empty;
1600public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name, int arity)
1605public override ImmutableArray<Location> Locations
1613public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
1617return ImmutableArray<SyntaxReference>.Empty;
1637internal override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotationsNoUseSiteDiagnostics
1641return ImmutableArray<TypeWithAnnotations>.Empty;
1645public override ImmutableArray<TypeParameterSymbol> TypeParameters
1649return ImmutableArray<TypeParameterSymbol>.Empty;
1842private ImmutableArray<NamedTypeSymbol> MakeAcyclicInterfaces()
1844var declaredInterfaces = GetDeclaredInterfaces(null);
1865ImmutableArray<TypeDefinitionHandle> nestedTypeDefs;
2086private static Dictionary<string, ImmutableArray<Symbol>> GroupByName(ArrayBuilder<Symbol> symbols)
2091private static Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> GroupByName(ArrayBuilder<PENamedTypeSymbol> symbols)
2371internal override ImmutableArray<string> GetAppliedConditionalSymbols()
2376return ImmutableArray<string>.Empty;
2381ImmutableArray<string> conditionalSymbols = this.ContainingPEModule.Module.GetConditionalAttributeValues(_handle);
2383ImmutableInterlocked.InterlockedCompareExchange(ref uncommon.lazyConditionalAttributeSymbols, conditionalSymbols, default(ImmutableArray<string>));
2440private static int GetIndexOfFirstMember(ImmutableArray<Symbol> members, SymbolKind kind)
2457private static IEnumerable<TSymbol> GetMembers<TSymbol>(ImmutableArray<Symbol> members, SymbolKind kind, int offset = -1)
2614private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters;
2634_lazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty;
2668internal override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotationsNoUseSiteDiagnostics
2677public override ImmutableArray<TypeParameterSymbol> TypeParameters
2744var containingTypeParameters = container.GetAllTypeParameters();
2758var nestedTypeParameters = nestedType.TypeParameters;
Symbols\Metadata\PE\SymbolFactory.cs (12)
18internal override TypeSymbol GetMDArrayTypeSymbol(PEModuleSymbol moduleSymbol, int rank, TypeSymbol elementType, ImmutableArray<ModifierInfo<TypeSymbol>> customModifiers,
19ImmutableArray<int> sizes, ImmutableArray<int> lowerBounds)
39internal override TypeSymbol MakePointerTypeSymbol(PEModuleSymbol moduleSymbol, TypeSymbol type, ImmutableArray<ModifierInfo<TypeSymbol>> customModifiers)
49internal override TypeSymbol MakeFunctionPointerTypeSymbol(PEModuleSymbol moduleSymbol, Cci.CallingConvention callingConvention, ImmutableArray<ParamInfo<TypeSymbol>> retAndParamTypes)
64internal override TypeSymbol GetSZArrayTypeSymbol(PEModuleSymbol moduleSymbol, TypeSymbol elementType, ImmutableArray<ModifierInfo<TypeSymbol>> customModifiers)
82ImmutableArray<KeyValuePair<TypeSymbol, ImmutableArray<ModifierInfo<TypeSymbol>>>> arguments,
83ImmutableArray<bool> refersToNoPiaLocalType)
103ImmutableArray<AssemblySymbol> linkedAssemblies = moduleSymbol.ContainingAssembly.GetLinkedReferencedAssemblies();
141ImmutableArray<TypeParameterSymbol> typeParameters = genericType.GetAllTypeParameters();
167private static TypeWithAnnotations CreateType(TypeSymbol type, ImmutableArray<ModifierInfo<TypeSymbol>> customModifiers)
Symbols\Retargeting\RetargetingSymbolTranslator.cs (47)
190var newModifiers = RetargetModifiers(underlyingType.CustomModifiers, out modifiersHaveChanged);
610ImmutableArray<AssemblySymbol> assembliesToEmbedTypesFrom = this.UnderlyingModule.GetAssembliesToEmbedTypesFrom();
623ImmutableArray<AssemblySymbol> linkedAssemblies = RetargetingAssembly.GetLinkedReferencedAssemblies();
713internal ImmutableArray<CustomModifier> RetargetModifiers(ImmutableArray<CustomModifier> oldModifiers, out bool modifiersHaveChanged)
763var newRefModifiers = RetargetModifiers(signature.RefCustomModifiers, out bool symbolModified);
766var newParameterTypes = ImmutableArray<TypeWithAnnotations>.Empty;
767ImmutableArray<ImmutableArray<CustomModifier>> newParamModifiers = default;
773var newParameterCustomModifiersBuilder = ArrayBuilder<ImmutableArray<CustomModifier>>.GetInstance(paramCount);
779var newModifiers = RetargetModifiers(parameter.RefCustomModifiers, out bool customModifiersChanged);
827public ImmutableArray<Symbol> Retarget(ImmutableArray<Symbol> arr)
834public ImmutableArray<NamedTypeSymbol> Retarget(ImmutableArray<NamedTypeSymbol> sequence)
848public ImmutableArray<TypeSymbol> Retarget(ImmutableArray<TypeSymbol> sequence)
860public ImmutableArray<TypeWithAnnotations> Retarget(ImmutableArray<TypeWithAnnotations> sequence)
867public ImmutableArray<TypeParameterSymbol> Retarget(ImmutableArray<TypeParameterSymbol> list)
1027ImmutableArray<MethodSymbol>.Empty);
1093ImmutableArray<PropertySymbol>.Empty);
1129internal ImmutableArray<CustomModifier> RetargetModifiers(
1130ImmutableArray<CustomModifier> oldModifiers,
1131ref ImmutableArray<CustomModifier> lazyCustomModifiers)
1136ImmutableArray<CustomModifier> newModifiers = this.RetargetModifiers(oldModifiers, out modifiersHaveChanged);
1137ImmutableInterlocked.InterlockedCompareExchange(ref lazyCustomModifiers, newModifiers, default(ImmutableArray<CustomModifier>));
1143private ImmutableArray<CSharpAttributeData> RetargetAttributes(ImmutableArray<CSharpAttributeData> oldAttributes)
1178ImmutableArray<TypedConstant> oldAttributeCtorArguments = oldAttributeData.CommonConstructorArguments;
1179ImmutableArray<TypedConstant> newAttributeCtorArguments = RetargetAttributeConstructorArguments(oldAttributeCtorArguments);
1181ImmutableArray<KeyValuePair<string, TypedConstant>> oldAttributeNamedArguments = oldAttributeData.CommonNamedArguments;
1182ImmutableArray<KeyValuePair<string, TypedConstant>> newAttributeNamedArguments = RetargetAttributeNamedArguments(oldAttributeNamedArguments);
1195private ImmutableArray<TypedConstant> RetargetAttributeConstructorArguments(ImmutableArray<TypedConstant> constructorArguments)
1197ImmutableArray<TypedConstant> retargetedArguments = constructorArguments;
1230var newArray = RetargetAttributeConstructorArguments(oldConstant.Values);
1264private ImmutableArray<KeyValuePair<string, TypedConstant>> RetargetAttributeNamedArguments(ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments)
1266var retargetedArguments = namedArguments;
1302internal ImmutableArray<CSharpAttributeData> GetRetargetedAttributes(
1303ImmutableArray<CSharpAttributeData> underlyingAttributes,
1304ref ImmutableArray<CSharpAttributeData> lazyCustomAttributes)
1309ImmutableArray<CSharpAttributeData> retargetedAttributes = this.RetargetAttributes(underlyingAttributes);
1311ImmutableInterlocked.InterlockedCompareExchange(ref lazyCustomAttributes, retargetedAttributes, default(ImmutableArray<CSharpAttributeData>));
Symbols\Source\ParameterHelpers.cs (27)
20public static ImmutableArray<SourceParameterSymbol> MakeParameters(
63public static ImmutableArray<FunctionPointerParameterSymbol> MakeFunctionPointerParameters(
90ImmutableArray<CustomModifier> customModifiers = refKind switch
95_ => ImmutableArray<CustomModifier>.Empty
113private static ImmutableArray<TParameterSymbol> MakeParameters<TParameterSyntax, TParameterSymbol, TOwningSymbol>(
202ImmutableArray<TParameterSymbol> parameters = builder.ToImmutableAndFree();
207var typeParameters = (object)methodOwner != null ?
209default(ImmutableArray<TypeParameterSymbol>);
222internal static void EnsureRefKindAttributesExist(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
227internal static void EnsureRefKindAttributesExist(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
239private static void EnsureRefKindAttributesExist(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
268internal static void EnsureParamCollectionAttributeExistsAndModifyCompilation(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics)
276internal static void EnsureNativeIntegerAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
282internal static void EnsureNativeIntegerAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
299private static void EnsureNativeIntegerAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
344internal static void EnsureScopedRefAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
349internal static void EnsureScopedRefAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
361private static void EnsureScopedRefAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
379internal static void EnsureNullableAttributeExists(PEModuleBuilder moduleBuilder, Symbol container, ImmutableArray<ParameterSymbol> parameters)
384internal static void EnsureNullableAttributeExists(CSharpCompilation? compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation)
396private static void EnsureNullableAttributeExists(CSharpCompilation compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
986internal static ImmutableArray<CustomModifier> ConditionallyCreateInModifiers(RefKind refKind, bool addRefReadOnlyModifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
994return ImmutableArray<CustomModifier>.Empty;
998internal static ImmutableArray<CustomModifier> CreateInModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
1004private static ImmutableArray<CustomModifier> CreateRefReadonlyParameterModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
1010internal static ImmutableArray<CustomModifier> CreateOutModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
1015private static ImmutableArray<CustomModifier> CreateModifiers(WellKnownType modifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
Symbols\Source\SourceAssemblySymbol.cs (42)
60private readonly ImmutableArray<ModuleSymbol> _modules;
113private ImmutableArray<Diagnostic> _unusedFieldWarnings;
119ImmutableArray<PEModule> netModules)
559internal override ImmutableArray<byte> PublicKey
564public override ImmutableArray<ModuleSymbol> Modules
573public override ImmutableArray<Location> Locations
1062ImmutableArray<NamespaceSymbol> constituent = mergedNs.ConstituentNamespaces;
1190ImmutableArray<CSharpAttributeData> appliedSourceAttributes = this.GetSourceAttributesBag().Attributes;
1280private ImmutableArray<CSharpAttributeData> GetNetModuleAttributes(out ImmutableArray<string> netModuleNames)
1304netModuleNames = ImmutableArray<string>.Empty;
1305return ImmutableArray<CSharpAttributeData>.Empty;
1313ImmutableArray<CSharpAttributeData> attributesFromNetModules,
1314ImmutableArray<string> netModuleNames,
1372ImmutableArray<string> netModuleNames;
1373ImmutableArray<CSharpAttributeData> attributesFromNetModules = GetNetModuleAttributes(out netModuleNames);
1469ImmutableArray<string> netModuleNames;
1470ImmutableArray<CSharpAttributeData> attributesFromNetModules = GetNetModuleAttributes(out netModuleNames);
1483WellKnownAttributeData limitedDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> attributesFromNetModules,
1484ImmutableArray<string> netModuleNames, QuickAttributes attributeMatches)
1550internal ImmutableArray<SyntaxList<AttributeListSyntax>> GetAttributeDeclarations()
1553var declarations = DeclaringCompilation.MergedRootDeclaration.Declarations;
1595public sealed override ImmutableArray<CSharpAttributeData> GetAttributes()
1597var attributes = this.GetSourceAttributesBag().Attributes;
1598var netmoduleAttributes = this.GetNetModuleAttributesBag().Attributes;
1852internal override ImmutableArray<AssemblySymbol> GetNoPiaResolutionAssemblies()
1857internal override void SetNoPiaResolutionAssemblies(ImmutableArray<AssemblySymbol> assemblies)
1862internal override ImmutableArray<AssemblySymbol> GetLinkedReferencedAssemblies()
1866return default(ImmutableArray<AssemblySymbol>);
1869internal override void SetLinkedReferencedAssemblies(ImmutableArray<AssemblySymbol> assemblies)
1995ImmutableArray<TypedConstant>.Empty,
2057private static bool ContainsExtensionMethods(ImmutableArray<ModuleSymbol> modules)
2119internal override IEnumerable<ImmutableArray<byte>> GetInternalsVisibleToPublicKeys(string simpleName)
2128return SpecializedCollections.EmptyEnumerable<ImmutableArray<byte>>();
2130ConcurrentDictionary<ImmutableArray<byte>, Tuple<Location, string>> result = null;
2134return (result != null) ? result.Keys : SpecializedCollections.EmptyEnumerable<ImmutableArray<byte>>();
2194private ConcurrentDictionary<string, ConcurrentDictionary<ImmutableArray<byte>, Tuple<Location, string>>> _lazyInternalsVisibleToMap;
2272ref ConcurrentDictionary<string, ConcurrentDictionary<ImmutableArray<byte>, Tuple<Location, string>>> lazyInternalsVisibleToMap)
2306new ConcurrentDictionary<string, ConcurrentDictionary<ImmutableArray<byte>, Tuple<Location, String>>>(StringComparer.OrdinalIgnoreCase), null);
2326ConcurrentDictionary<ImmutableArray<byte>, Tuple<Location, string>> keys = null;
2333keys = new ConcurrentDictionary<ImmutableArray<byte>, Tuple<Location, String>>();
2664internal ImmutableArray<Diagnostic> GetUnusedFieldWarnings(CancellationToken cancellationToken)
Symbols\Source\SourceComplexParameterSymbol.cs (19)
137internal override ImmutableArray<int> InterpolatedStringHandlerArgumentIndexes
346ImmutableArray<LocalSymbol>.Empty,
474ImmutableArray<ParameterSymbol> implParameters = this.ContainingSymbol switch
495ImmutableArray<ParameterSymbol> defParameters = this.ContainingSymbol switch
617public ImmutableArray<(CSharpAttributeData, BoundAttribute)> BindParameterAttributes()
690var parameters = ContainingSymbol.GetParameters();
892var arguments = attribute.CommonConstructorArguments;
1269ImmutableArray<ParameterSymbol> containingSymbolParameters = ContainingSymbol.GetParameters();
1271ImmutableArray<int> parameterOrdinals;
1394internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics, AttributeLocation symbolPart, WellKnownAttributeData decodedData)
1478var attributes = GetAttributes();
1521public abstract override ImmutableArray<CustomModifier> RefCustomModifiers { get; }
1594if (!binder.HasCollectionExpressionApplicableAddMethod(syntax, Type, out ImmutableArray<MethodSymbol> addMethods, diagnostics))
1715public override ImmutableArray<CustomModifier> RefCustomModifiers => ImmutableArray<CustomModifier>.Empty;
1720private readonly ImmutableArray<CustomModifier> _refCustomModifiers;
1728ImmutableArray<CustomModifier> refCustomModifiers,
1747public override ImmutableArray<CustomModifier> RefCustomModifiers => _refCustomModifiers;
Symbols\Source\SourceMemberContainerSymbol.cs (185)
189private ImmutableArray<DiagnosticInfo> _managedKindUseSiteDiagnostics;
190private ImmutableArray<AssemblySymbol> _managedKindUseSiteDependencies;
199private ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol> _lazySimpleProgramEntryPoints;
206private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? _lazyMembersDictionary;
207private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? _lazyEarlyAttributeDecodingMembersDictionary;
209private static readonly Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> s_emptyTypeMembers =
210new Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>>(EmptyReadOnlyMemoryOfCharComparer.Instance);
212private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>>? _lazyTypeMembers;
213private ImmutableArray<Symbol> _lazyMembersFlattened;
586var tmp = this.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics; // force type arguments
632ImmutableArray<Symbol> members = this.GetMembersUnordered();
815ImmutableInterlocked.InterlockedInitialize(ref _managedKindUseSiteDiagnostics, managedKindUseSiteInfo.Diagnostics?.ToImmutableArray() ?? ImmutableArray<DiagnosticInfo>.Empty);
816ImmutableInterlocked.InterlockedInitialize(ref _managedKindUseSiteDependencies, managedKindUseSiteInfo.Dependencies?.ToImmutableArray() ?? ImmutableArray<AssemblySymbol>.Empty);
822ImmutableArray<DiagnosticInfo> useSiteDiagnostics = _managedKindUseSiteDiagnostics;
831ImmutableArray<AssemblySymbol> useSiteDependencies = _managedKindUseSiteDependencies;
988public sealed override ImmutableArray<Location> Locations
989=> ImmutableArray<Location>.CastUp(declaration.NameLocations.ToImmutable());
994public ImmutableArray<SyntaxReference> SyntaxReferences
1002public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
1013var declarations = declaration.Declarations;
1048internal readonly ImmutableArray<Symbol> NonTypeMembers;
1049internal readonly ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> StaticInitializers;
1050internal readonly ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> InstanceInitializers;
1057ImmutableArray<Symbol> nonTypeMembers,
1058ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> staticInitializers,
1059ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> instanceInitializers,
1083internal ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> StaticInitializers
1088internal ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> InstanceInitializers
1141var allInitializers = isStatic ? membersAndInitializers.StaticInitializers : membersAndInitializers.InstanceInitializers;
1167static bool findInitializer(ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> initializers, int position, SyntaxTree tree,
1171foreach (var group in initializers)
1196static int getGroupLength(ImmutableArray<FieldOrPropertyInitializer> initializers)
1207static int getPrecedingInitializersLength(ImmutableArray<FieldOrPropertyInitializer> initializers, int index)
1218static int getInitializersLength(ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> initializers)
1221foreach (var group in initializers)
1244private static int IndexOfInitializerContainingPosition(ImmutableArray<FieldOrPropertyInitializer> initializers, int position)
1274internal override ImmutableArray<NamedTypeSymbol> GetTypeMembersUnordered()
1279public override ImmutableArray<NamedTypeSymbol> GetTypeMembers()
1284public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name)
1286ImmutableArray<NamedTypeSymbol> members;
1292return ImmutableArray<NamedTypeSymbol>.Empty;
1295public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name, int arity)
1300private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> GetTypeMembersDictionary()
1318private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> MakeTypeMembers(BindingDiagnosticBag diagnostics)
1443internal override ImmutableArray<Symbol> GetMembersUnordered()
1445var result = _lazyMembersFlattened;
1457public override ImmutableArray<Symbol> GetMembers()
1465var allMembers = this.GetMembersUnordered();
1479public sealed override ImmutableArray<Symbol> GetMembers(string name)
1481ImmutableArray<Symbol> members;
1487return ImmutableArray<Symbol>.Empty;
1498internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name)
1505return ImmutableArray<Symbol>.Empty;
1548internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers()
1560internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name)
1562ImmutableArray<Symbol> result;
1563return GetEarlyAttributeDecodingMembersDictionary().TryGetValue(name.AsMemory(), out result) ? result : ImmutableArray<Symbol>.Empty;
1566private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> GetEarlyAttributeDecodingMembersDictionary()
1570if (Volatile.Read(ref _lazyMembersDictionary) is Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> result)
1580Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName;
1603private static Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> ToNameKeyedDictionary(ImmutableArray<Symbol> symbols)
1607return new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(1, ReadOnlyMemoryOfCharComparer.Instance)
1615return new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(ReadOnlyMemoryOfCharComparer.Instance);
1628var dictionary = new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(accumulator.Count, ReadOnlyMemoryOfCharComparer.Instance);
1745protected Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> GetMembersByName()
1755private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> GetMembersByNameSlow()
1826var interfaces = GetInterfacesToEmit();
1942Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName = GetMembersByName();
2176private void CheckIndexerNameConflicts(BindingDiagnosticBag diagnostics, Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName)
2192foreach (var members in membersByName.Values)
2229Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName,
2379foreach (var valuesByName in GetMembersByName().Values)
2436foreach (var valuesByName in GetMembersByName().Values)
2843private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> MakeAllMembers(BindingDiagnosticBag diagnostics)
2845Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName;
2869Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName,
2870Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> typesByName)
2872foreach ((ReadOnlyMemory<char> name, ImmutableArray<NamedTypeSymbol> types) in typesByName)
2874ImmutableArray<Symbol> typesAsSymbols = StaticCast<Symbol>.From(types);
2876ImmutableArray<Symbol> membersForName;
2951public readonly ImmutableArray<Symbol> NonTypeMembers;
2952public readonly ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> StaticInitializers;
2953public readonly ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> InstanceInitializers;
2967ImmutableArray<Symbol> nonTypeMembers,
2968ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> staticInitializers,
2969ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> instanceInitializers,
2995public static void AssertInitializers(ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> initializers, CSharpCompilation compilation)
3003foreach (ImmutableArray<FieldOrPropertyInitializer> group in initializers)
3047var instanceInitializers = InstanceInitializersForPositionalMembers is null
3060ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> mergeInitializers()
3088ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>> groupsBuilder;
3095var declaredInitializers = declaredMembers.InstanceInitializers[insertAt];
3105groupsBuilder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(groupCount);
3115groupsBuilder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(groupCount + 1);
3122var result = groupsBuilder.ToImmutableAndFree();
3172internal static ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> ToReadOnlyAndFree(ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>> initializers)
3177return ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>>.Empty;
3180var builder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(initializers.Count);
3290internal ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol> GetSimpleProgramEntryPoints()
3296var simpleProgramEntryPoints = buildSimpleProgramEntryPoint(diagnostics);
3309ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol> buildSimpleProgramEntryPoint(BindingDiagnosticBag diagnostics)
3314return ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol>.Empty;
3338return ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol>.Empty;
3372ImmutableArray<Symbol> nonTypeMembersToCheck;
3418internal ImmutableArray<Symbol> GetMembersToMatchAgainstDeclarationSpan()
3434internal ImmutableArray<Symbol> GetCandidateMembersForLookup(string name)
3442ImmutableArray<Symbol> nonTypeMembersToCheck;
3465ImmutableArray<Symbol> types = GetTypeMembers(name).Cast<NamedTypeSymbol, Symbol>();
3612ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName,
3696void mergePartialMethods(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, ReadOnlyMemory<char> name, SourceOrdinaryMethodSymbol currentMethod, SourceOrdinaryMethodSymbol prevMethod, BindingDiagnosticBag diagnostics)
3717void mergePartialProperties(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, ReadOnlyMemory<char> name, SourcePropertySymbol currentProperty, SourcePropertySymbol prevProperty, BindingDiagnosticBag diagnostics)
3742void mergeAccessors(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, SourcePropertyAccessorSymbol? currentAccessor, SourcePropertyAccessorSymbol? prevAccessor)
3769private void DuplicateMembersByNameIfCached(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName)
3774membersByName = new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(membersByName, ReadOnlyMemoryOfCharComparer.Instance);
3779private static ImmutableArray<Symbol> FixPartialMethod(ImmutableArray<Symbol> symbols, SourceOrdinaryMethodSymbol part1, SourceOrdinaryMethodSymbol part2)
3801private static void FixPartialProperty(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, ReadOnlyMemory<char> name, SourcePropertySymbol part1, SourcePropertySymbol part2)
3829private static ImmutableArray<Symbol> Remove(ImmutableArray<Symbol> symbols, Symbol symbol)
3948private static bool ParametersMatchPropertyAccessor(PropertySymbol propertySymbol, bool getNotSet, ImmutableArray<ParameterSymbol> methodParams)
3950var propertyParams = propertySymbol.Parameters;
3979private static bool ParametersMatchEventAccessor(EventSymbol eventSymbol, ImmutableArray<ParameterSymbol> methodParams)
4051private static void CheckInterfaceMembers(ImmutableArray<Symbol> nonTypeMembers, BindingDiagnosticBag diagnostics)
4166var simpleProgramEntryPoints = GetSimpleProgramEntryPoints();
4243var existingOrAddedMembers = addProperties(ctor.Parameters);
4294void addDeconstruct(SynthesizedPrimaryConstructor ctor, ImmutableArray<Symbol> positionalMembers)
4303ImmutableArray<TypeParameterSymbol>.Empty,
4305ImmutableArray<CustomModifier>.Empty,
4314ImmutableArray<CustomModifier>.Empty,
4315ImmutableArray<MethodSymbol>.Empty);
4350ImmutableArray<TypeParameterSymbol>.Empty,
4353ImmutableArray<CustomModifier>.Empty,
4362ImmutableArray<CustomModifier>.Empty,
4363ImmutableArray<MethodSymbol>.Empty);
4399ImmutableArray<TypeParameterSymbol>.Empty,
4402ImmutableArray<CustomModifier>.Empty,
4410refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
4411explicitInterfaceImplementations: ImmutableArray<MethodSymbol>.Empty);
4459ImmutableArray<TypeParameterSymbol>.Empty,
4460ImmutableArray<ParameterSymbol>.Empty,
4465refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
4466explicitInterfaceImplementations: ImmutableArray<MethodSymbol>.Empty);
4528ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters)
4539ImmutableArray<ParameterSymbol>.Empty,
4542ImmutableArray<CustomModifier>.Empty,
4544ImmutableArray<PropertySymbol>.Empty);
4633ImmutableArray<TypeParameterSymbol>.Empty,
4634ImmutableArray<ParameterSymbol>.Empty,
4639ImmutableArray<CustomModifier>.Empty,
4640ImmutableArray<MethodSymbol>.Empty);
4665ImmutableArray<ParameterSymbol>.Empty,
4668ImmutableArray<CustomModifier>.Empty,
4670ImmutableArray<PropertySymbol>.Empty);
4726ImmutableArray<TypeParameterSymbol>.Empty,
4729ImmutableArray<CustomModifier>.Empty,
4738ImmutableArray<CustomModifier>.Empty,
4739ImmutableArray<MethodSymbol>.Empty);
4872static bool hasNonConstantInitializer(ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> initializers)
5440public static readonly SynthesizedExplicitImplementations Empty = new SynthesizedExplicitImplementations(ImmutableArray<SynthesizedExplicitImplementationForwardingMethod>.Empty,
5441ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)>.Empty);
5443public readonly ImmutableArray<SynthesizedExplicitImplementationForwardingMethod> ForwardingMethods;
5444public readonly ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)> MethodImpls;
5447ImmutableArray<SynthesizedExplicitImplementationForwardingMethod> forwardingMethods,
5448ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)> methodImpls)
5455ImmutableArray<SynthesizedExplicitImplementationForwardingMethod> forwardingMethods,
5456ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)> methodImpls)
Symbols\Source\SourceNamedTypeSymbol.cs (53)
138private ImmutableArray<TypeParameterSymbol> MakeTypeParameters(BindingDiagnosticBag diagnostics)
142return ImmutableArray<TypeParameterSymbol>.Empty;
265internal ImmutableArray<TypeWithAnnotations> GetTypeParameterConstraintTypes(int ordinal)
267var constraintTypes = GetTypeParameterConstraintTypes();
268return (constraintTypes.Length > 0) ? constraintTypes[ordinal] : ImmutableArray<TypeWithAnnotations>.Empty;
271private ImmutableArray<ImmutableArray<TypeWithAnnotations>> GetTypeParameterConstraintTypes()
296var constraintKinds = GetTypeParameterConstraintKinds();
300private ImmutableArray<TypeParameterConstraintKind> GetTypeParameterConstraintKinds()
313private ImmutableArray<ImmutableArray<TypeWithAnnotations>> MakeTypeParameterConstraintTypes(BindingDiagnosticBag diagnostics)
315var typeParameters = this.TypeParameters;
316var results = ImmutableArray<TypeParameterConstraintClause>.Empty;
322ArrayBuilder<ImmutableArray<TypeParameterConstraintClause>> otherPartialClauses = null;
336ImmutableArray<TypeParameterConstraintClause> constraints;
364(otherPartialClauses ??= ArrayBuilder<ImmutableArray<TypeParameterConstraintClause>>.GetInstance()).Add(constraints);
372results = ImmutableArray<TypeParameterConstraintClause>.Empty;
394private ImmutableArray<TypeParameterConstraintKind> MakeTypeParameterConstraintKinds()
396var typeParameters = this.TypeParameters;
397var results = ImmutableArray<TypeParameterConstraintClause>.Empty;
403ArrayBuilder<ImmutableArray<TypeParameterConstraintClause>> otherPartialClauses = null;
417ImmutableArray<TypeParameterConstraintClause> constraints;
446(otherPartialClauses ??= ArrayBuilder<ImmutableArray<TypeParameterConstraintClause>>.GetInstance()).Add(constraints);
455results = ImmutableArray<TypeParameterConstraintClause>.Empty;
488private ImmutableArray<TypeParameterConstraintClause> MergeConstraintTypesForPartialDeclarations(ImmutableArray<TypeParameterConstraintClause> constraintClauses,
489ArrayBuilder<ImmutableArray<TypeParameterConstraintClause>> otherPartialClauses,
498var typeParameters = TypeParameters;
507ImmutableArray<TypeWithAnnotations> originalConstraintTypes = constraint.ConstraintTypes;
514foreach (ImmutableArray<TypeParameterConstraintClause> otherPartialConstraints in otherPartialClauses)
556static bool mergeConstraints(ImmutableArray<TypeWithAnnotations> originalConstraintTypes,
626static SmallDictionary<TypeWithAnnotations, int> toDictionary(ImmutableArray<TypeWithAnnotations> constraintTypes, IEqualityComparer<TypeWithAnnotations> comparer)
642private ImmutableArray<TypeParameterConstraintClause> MergeConstraintKindsForPartialDeclarations(ImmutableArray<TypeParameterConstraintClause> constraintClauses,
643ArrayBuilder<ImmutableArray<TypeParameterConstraintClause>> otherPartialClauses)
651var typeParameters = TypeParameters;
661ImmutableArray<TypeWithAnnotations> originalConstraintTypes = constraint.ConstraintTypes;
663foreach (ImmutableArray<TypeParameterConstraintClause> otherPartialConstraints in otherPartialClauses)
694static void mergeConstraints(ref TypeParameterConstraintKind mergedKind, ImmutableArray<TypeWithAnnotations> originalConstraintTypes, TypeParameterConstraintClause clause)
735internal sealed override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotationsNoUseSiteDiagnostics
743public override ImmutableArray<TypeParameterSymbol> TypeParameters
776internal ImmutableArray<SyntaxList<AttributeListSyntax>> GetAttributeDeclarations(QuickAttributes? quickAttributes = null)
857public sealed override ImmutableArray<CSharpAttributeData> GetAttributes()
1266ImmutableArray<SyntaxList<AttributeListSyntax>> attributeLists = GetAttributeDeclarations(QuickAttributes.TypeIdentifier);
1557internal override ImmutableArray<string> GetAppliedConditionalSymbols()
1560return data != null ? data.ConditionalSymbols : ImmutableArray<string>.Empty;
1563internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics, AttributeLocation symbolPart, WellKnownAttributeData decodedData)
1594var initializers = this.StaticInitializers;
1597foreach (var initializerGroup in initializers)
1613foreach (var initializerGroup in initializers)
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (20)
24private Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>> _lazyDeclaredBases;
27private ImmutableArray<NamedTypeSymbol> _lazyInterfaces;
66internal sealed override ImmutableArray<NamedTypeSymbol> InterfacesNoUseSiteDiagnostics(ConsList<TypeSymbol> basesBeingResolved)
72return ImmutableArray<NamedTypeSymbol>.Empty;
76var acyclicInterfaces = MakeAcyclicInterfaces(basesBeingResolved, diagnostics);
77if (ImmutableInterlocked.InterlockedCompareExchange(ref _lazyInterfaces, acyclicInterfaces, default(ImmutableArray<NamedTypeSymbol>)).IsDefault)
255internal Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>> GetDeclaredBases(ConsList<TypeSymbol> basesBeingResolved)
275internal override ImmutableArray<NamedTypeSymbol> GetDeclaredInterfaces(ConsList<TypeSymbol> basesBeingResolved)
280private Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>> MakeDeclaredBases(ConsList<TypeSymbol> basesBeingResolved, BindingDiagnosticBag diagnostics)
285return new Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>>(null, ImmutableArray<NamedTypeSymbol>.Empty);
300Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>> one = MakeOneDeclaredBases(newBasesBeingResolved, decl, diagnostics);
304var partInterfaces = one.Item2;
401var baseInterfacesRO = baseInterfaces.ToImmutableAndFree();
423return new Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>>(baseType, baseInterfacesRO);
438private Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>> MakeOneDeclaredBases(ConsList<TypeSymbol> newBasesBeingResolved, SingleTypeDeclaration decl, BindingDiagnosticBag diagnostics)
628return new Tuple<NamedTypeSymbol, ImmutableArray<NamedTypeSymbol>>(localBase, localInterfaces.ToImmutableAndFree());
658private ImmutableArray<NamedTypeSymbol> MakeAcyclicInterfaces(ConsList<TypeSymbol> basesBeingResolved, BindingDiagnosticBag diagnostics)
665return ImmutableArray<NamedTypeSymbol>.Empty;
668var declaredInterfaces = GetDeclaredInterfaces(basesBeingResolved: basesBeingResolved);
Symbols\Source\SourceNamespaceSymbol.AliasesAndUsings.cs (41)
112public ImmutableArray<AliasAndExternAliasDirective> GetExternAliases(CSharpSyntaxNode declarationSyntax)
122return ImmutableArray<AliasAndExternAliasDirective>.Empty;
132return ImmutableArray<AliasAndExternAliasDirective>.Empty;
143public ImmutableArray<AliasAndUsingDirective> GetUsingAliases(CSharpSyntaxNode declarationSyntax, ConsList<TypeSymbol>? basesBeingResolved)
153return ImmutableArray<AliasAndUsingDirective>.Empty;
163return ImmutableArray<AliasAndUsingDirective>.Empty;
206public ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsingNamespacesOrTypes(CSharpSyntaxNode declarationSyntax, ConsList<TypeSymbol>? basesBeingResolved)
213var result = GetGlobalUsingNamespacesOrTypes(basesBeingResolved);
227return ImmutableArray<NamespaceOrTypeAndUsingDirective>.Empty;
248private ImmutableArray<NamespaceOrTypeAndUsingDirective> GetGlobalUsingNamespacesOrTypes(ConsList<TypeSymbol>? basesBeingResolved)
319var namespacesOrTypes = GetAliasesAndUsings(singleDeclaration).GetGlobalUsingNamespacesOrTypes(this, singleDeclaration.SyntaxReference, basesBeingResolved);
355var externAliases = GetAliasesAndUsings(singleDeclaration).GetExternAliases(this, singleDeclaration.SyntaxReference);
413internal ImmutableArray<AliasAndExternAliasDirective> GetExternAliases(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax)
418internal ImmutableArray<AliasAndExternAliasDirective> GetExternAliases(SourceNamespaceSymbol declaringSymbol, SyntaxReference declarationSyntax)
446var result = buildExternAliases(externAliasDirectives, declaringSymbol, diagnostics);
465static ImmutableArray<AliasAndExternAliasDirective> buildExternAliases(
510internal ImmutableArray<AliasAndUsingDirective> GetUsingAliases(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, ConsList<TypeSymbol>? basesBeingResolved)
515internal ImmutableArray<AliasAndUsingDirective> GetGlobalUsingAliases(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, ConsList<TypeSymbol>? basesBeingResolved)
530internal ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsingNamespacesOrTypes(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, ConsList<TypeSymbol>? basesBeingResolved)
540internal ImmutableArray<NamespaceOrTypeAndUsingDirective> GetGlobalUsingNamespacesOrTypes(SourceNamespaceSymbol declaringSymbol, SyntaxReference declarationSyntax, ConsList<TypeSymbol>? basesBeingResolved)
623var externAliases = GetExternAliases(declaringSymbol, declarationSyntax);
625var globalUsingNamespacesOrTypes = ImmutableArray<NamespaceOrTypeAndUsingDirective>.Empty;
626var globalUsingAliases = ImmutableArray<AliasAndUsingDirective>.Empty;
863static PooledHashSet<NamespaceOrTypeSymbol> getOrCreateUniqueUsings(ref PooledHashSet<NamespaceOrTypeSymbol>? uniqueUsings, ImmutableArray<NamespaceOrTypeAndUsingDirective> globalUsingNamespacesOrTypes)
874static PooledHashSet<NamespaceOrTypeSymbol> getOrCreateUniqueGlobalUsingsNotInTree(ref PooledHashSet<NamespaceOrTypeSymbol>? uniqueUsings, ImmutableArray<NamespaceOrTypeAndUsingDirective> globalUsingNamespacesOrTypes, SyntaxTree tree)
885static ArrayBuilder<NamespaceOrTypeAndUsingDirective> getOrCreateUsingsBuilder(ref ArrayBuilder<NamespaceOrTypeAndUsingDirective>? usings, ImmutableArray<NamespaceOrTypeAndUsingDirective> globalUsingNamespacesOrTypes)
1086public static readonly ExternAliasesAndDiagnostics Empty = new ExternAliasesAndDiagnostics() { ExternAliases = ImmutableArray<AliasAndExternAliasDirective>.Empty, Diagnostics = ImmutableArray<Diagnostic>.Empty };
1088public ImmutableArray<AliasAndExternAliasDirective> ExternAliases { get; init; }
1089public ImmutableArray<Diagnostic> Diagnostics { get; init; }
1097UsingAliases = ImmutableArray<AliasAndUsingDirective>.Empty,
1099UsingNamespacesOrTypes = ImmutableArray<NamespaceOrTypeAndUsingDirective>.Empty,
1103public ImmutableArray<AliasAndUsingDirective> UsingAliases { get; init; }
1105public ImmutableArray<NamespaceOrTypeAndUsingDirective> UsingNamespacesOrTypes { get; init; }
1123UsingNamespacesOrTypes = ImmutableArray<NamespaceOrTypeAndUsingDirective>.Empty,
1124Diagnostics = ImmutableArray<Diagnostic>.Empty,
1129public ImmutableArray<NamespaceOrTypeAndUsingDirective> UsingNamespacesOrTypes { get; init; }
1130public ImmutableArray<Diagnostic> Diagnostics { get; init; }
1141ImmutableArray<AliasAndExternAliasDirective>.Empty),
Symbols\Source\SourceNamespaceSymbol.cs (28)
30private ImmutableArray<Location> _locations;
31private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamespaceOrTypeSymbol>> _nameToMembersMap;
32private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> _nameToTypeMembersMap;
33private ImmutableArray<Symbol> _lazyAllMembers;
34private ImmutableArray<NamedTypeSymbol> _lazyTypeMembersUnordered;
88public override ImmutableArray<Location> Locations
124public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
127private ImmutableArray<SyntaxReference> ComputeDeclaringReferencesCore()
135internal override ImmutableArray<Symbol> GetMembersUnordered()
137var result = _lazyAllMembers;
149public override ImmutableArray<Symbol> GetMembers()
157var allMembers = this.GetMembersUnordered();
171public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name)
173ImmutableArray<NamespaceOrTypeSymbol> members;
176: ImmutableArray<Symbol>.Empty;
179internal override ImmutableArray<NamedTypeSymbol> GetTypeMembersUnordered()
190public override ImmutableArray<NamedTypeSymbol> GetTypeMembers()
195public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name)
197ImmutableArray<NamedTypeSymbol> members;
200: ImmutableArray<NamedTypeSymbol>.Empty;
203public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name, int arity)
224private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamespaceOrTypeSymbol>> GetNameToMembersMap()
248private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> GetNameToTypeMembersMap()
264private Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamespaceOrTypeSymbol>> MakeNameToMembersMap(BindingDiagnosticBag diagnostics)
282var result = new Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamespaceOrTypeSymbol>>(builder.Count, ReadOnlyMemoryOfCharComparer.Instance);
291private static void CheckMembers(NamespaceSymbol @namespace, Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamespaceOrTypeSymbol>> result, BindingDiagnosticBag diagnostics)
329var types = constituent.GetTypeMembers(symbol.Name, arity);
436foreach (var array in _nameToMembersMap.Values)
Symbols\Source\SourceParameterSymbol.cs (10)
58ImmutableArray<CustomModifier> inModifiers = ParameterHelpers.ConditionallyCreateInModifiers(refKind, addRefReadOnlyModifier, context, declarationDiagnostics, syntax);
118internal override ParameterSymbol WithCustomModifiersAndParams(TypeSymbol newType, ImmutableArray<CustomModifier> newCustomModifiers, ImmutableArray<CustomModifier> newRefCustomModifiers, bool newIsParams)
123internal SourceParameterSymbol WithCustomModifiersAndParamsCore(TypeSymbol newType, ImmutableArray<CustomModifier> newCustomModifiers, ImmutableArray<CustomModifier> newRefCustomModifiers, bool newIsParams)
197public sealed override ImmutableArray<CSharpAttributeData> GetAttributes()
264public sealed override ImmutableArray<Location> Locations
265=> _location is null ? ImmutableArray<Location>.Empty : ImmutableArray.Create(_location);
274public sealed override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
279ImmutableArray<SyntaxReference>.Empty :
Symbols\Source\SourceTypeParameterSymbol.cs (34)
25private readonly ImmutableArray<SyntaxReference> _syntaxRefs;
26private readonly ImmutableArray<Location> _locations;
34protected SourceTypeParameterSymbolBase(string name, int ordinal, ImmutableArray<Location> locations, ImmutableArray<SyntaxReference> syntaxRefs)
44public override ImmutableArray<Location> Locations
52public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
60internal ImmutableArray<SyntaxReference> SyntaxReferences
92internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress)
95return (bounds != null) ? bounds.ConstraintTypes : ImmutableArray<TypeWithAnnotations>.Empty;
98internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress)
101return (bounds != null) ? bounds.Interfaces : ImmutableArray<NamedTypeSymbol>.Empty;
116internal ImmutableArray<SyntaxList<AttributeListSyntax>> MergedAttributeDeclarationSyntaxLists
166public sealed override ImmutableArray<CSharpAttributeData> GetAttributes()
216protected abstract ImmutableArray<TypeParameterSymbol> ContainerTypeParameters
256var constraintTypes = this.ConstraintTypesNoUseSiteDiagnostics;
363var constraintTypes = this.ConstraintTypesNoUseSiteDiagnostics;
464public SourceTypeParameterSymbol(SourceNamedTypeSymbol owner, string name, int ordinal, VarianceKind varianceKind, ImmutableArray<Location> locations, ImmutableArray<SyntaxReference> syntaxRefs)
583protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters
590var constraintTypes = _owner.GetTypeParameterConstraintTypes(this.Ordinal);
609public SourceMethodTypeParameterSymbol(SourceMethodSymbol owner, string name, int ordinal, ImmutableArray<Location> locations, ImmutableArray<SyntaxReference> syntaxRefs)
725protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters
732var constraints = _owner.GetTypeParameterConstraintTypes();
733var constraintTypes = constraints.IsEmpty ? ImmutableArray<TypeWithAnnotations>.Empty : constraints[Ordinal];
745var constraintKinds = _owner.GetTypeParameterConstraintKinds();
791var overriddenTypeParameters = overriddenMethod.TypeParameters;
792var overridingTypeParameters = _overridingMethod.TypeParameters;
851var explicitImplementations = overridingMethod.ExplicitInterfaceImplementations;
870public SourceOverridingMethodTypeParameterSymbol(OverriddenMethodTypeParameterMapBase map, string name, int ordinal, ImmutableArray<Location> locations, ImmutableArray<SyntaxReference> syntaxRefs)
982protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters
997var constraintTypes = map.SubstituteTypes(typeParameter.ConstraintTypesNoUseSiteDiagnostics);
Symbols\Source\SynthesizedAttributeData.cs (10)
17public static SynthesizedAttributeData Create(CSharpCompilation compilation, MethodSymbol wellKnownMember, ImmutableArray<TypedConstant> arguments, ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments)
31private readonly ImmutableArray<TypedConstant> _arguments;
32private readonly ImmutableArray<KeyValuePair<string, TypedConstant>> _namedArguments;
34internal FromMethodAndArguments(CSharpCompilation compilation, MethodSymbol wellKnownMember, ImmutableArray<TypedConstant> arguments, ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments)
49protected internal override ImmutableArray<TypedConstant> CommonConstructorArguments => _arguments;
50protected internal override ImmutableArray<KeyValuePair<string, TypedConstant>> CommonNamedArguments => _namedArguments;
79protected internal override ImmutableArray<TypedConstant> CommonConstructorArguments => _original.CommonConstructorArguments;
80protected internal override ImmutableArray<KeyValuePair<string, TypedConstant>> CommonNamedArguments => _original.CommonNamedArguments;
Symbols\Symbol.cs (17)
317ImmutableArray<Location> ISymbolInternal.Locations => this.Locations;
417public abstract ImmutableArray<Location> Locations { get; }
424var locations = this.Locations;
488public abstract ImmutableArray<SyntaxReference> DeclaringSyntaxReferences { get; }
494internal static ImmutableArray<SyntaxReference> GetDeclaringSyntaxReferenceHelper<TNode>(ImmutableArray<Location> locations)
499return ImmutableArray<SyntaxReference>.Empty;
934var declaringReferences = this.DeclaringSyntaxReferences;
1243internal bool DeriveUseSiteInfoFromParameters(ref UseSiteInfo<AssemblySymbol> result, ImmutableArray<ParameterSymbol> parameters)
1266internal bool DeriveUseSiteInfoFromCustomModifiers(ref UseSiteInfo<AssemblySymbol> result, ImmutableArray<CustomModifier> customModifiers, AllowedRequiredModifierType allowedRequiredModifierType)
1329internal static bool GetUnificationUseSiteDiagnosticRecursive<T>(ref DiagnosticInfo result, ImmutableArray<T> types, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) where T : TypeSymbol
1342internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeWithAnnotations> types, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
1355internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<CustomModifier> modifiers, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
1368internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<ParameterSymbol> parameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
1382internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeParameterSymbol> typeParameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
1461public ImmutableArray<SymbolDisplayPart> ToDisplayParts(SymbolDisplayFormat format = null)
1474public ImmutableArray<SymbolDisplayPart> ToMinimalDisplayParts(
Symbols\Symbol_Attributes.cs (27)
25/// Gets the attributes for this symbol. Returns an empty <see cref="ImmutableArray<AttributeData>"/> if
28public virtual ImmutableArray<CSharpAttributeData> GetAttributes()
35return ImmutableArray<CSharpAttributeData>.Empty;
260internal virtual void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics, AttributeLocation symbolPart, WellKnownAttributeData decodedData)
312ImmutableArray<Binder> binders;
314ImmutableArray<AttributeSyntax> attributesToBind = this.GetAttributesToBind(attributesSyntaxLists, symbolPart, diagnostics, compilation, attributeMatchesOpt, binderOpt, out binders);
318ImmutableArray<CSharpAttributeData> boundAttributes;
349ImmutableArray<NamedTypeSymbol> boundAttributeTypes = attributeTypesBuilder.AsImmutableOrNull();
393boundAttributes = ImmutableArray<CSharpAttributeData>.Empty;
425Binder.CheckRequiredMembersInObjectInitializer(ctor, ImmutableArray<BoundExpression>.CastUp(boundAttribute.NamedArguments), boundAttribute.Syntax, diagnostics);
442void removeObsoleteDiagnosticsForForwardedTypes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> attributesToBind, ref BindingDiagnosticBag diagnostics)
540protected ImmutableArray<(CSharpAttributeData, BoundAttribute)> BindAttributes(OneOrMany<SyntaxList<AttributeListSyntax>> attributeDeclarations, Binder? rootBinder)
562private void RecordPresenceOfBadAttributes(ImmutableArray<CSharpAttributeData> boundAttributes)
584private ImmutableArray<AttributeSyntax> GetAttributesToBind(
591out ImmutableArray<Binder> binders)
658binders = ImmutableArray<Binder>.Empty;
659return ImmutableArray<AttributeSyntax>.Empty;
766ImmutableArray<Binder> binders,
767ImmutableArray<NamedTypeSymbol> boundAttributeTypes,
768ImmutableArray<AttributeSyntax> attributesToBind,
814private void EarlyDecodeWellKnownAttributeTypes(ImmutableArray<NamedTypeSymbol> attributeTypes, ImmutableArray<AttributeSyntax> attributeSyntaxList)
838ImmutableArray<Binder> binders,
839ImmutableArray<AttributeSyntax> attributeSyntaxList,
840ImmutableArray<CSharpAttributeData> boundAttributes,
Symbols\Synthesized\SynthesizedEmbeddedNullableAttributeSymbol.cs (10)
18private readonly ImmutableArray<FieldSymbol> _fields;
19private readonly ImmutableArray<MethodSymbol> _constructors;
66public override ImmutableArray<MethodSymbol> Constructors => _constructors;
76private void GenerateByteArrayConstructorBody(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, ImmutableArray<ParameterSymbol> parameters)
90private void GenerateSingleByteConstructorBody(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, ImmutableArray<ParameterSymbol> parameters)
112private readonly ImmutableArray<ParameterSymbol> _parameters;
114private readonly Action<SyntheticBoundNodeFactory, ArrayBuilder<BoundStatement>, ImmutableArray<ParameterSymbol>> _getConstructorBody;
118Func<MethodSymbol, ImmutableArray<ParameterSymbol>> getParameters,
119Action<SyntheticBoundNodeFactory, ArrayBuilder<BoundStatement>, ImmutableArray<ParameterSymbol>> getConstructorBody) :
126public override ImmutableArray<ParameterSymbol> Parameters => _parameters;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (34)
92public override ImmutableArray<TypeParameterSymbol> TypeParameters
94get { return ImmutableArray<TypeParameterSymbol>.Empty; }
102public override ImmutableArray<Location> Locations
104get { return ImmutableArray<Location>.Empty; }
107public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
111return ImmutableArray<SyntaxReference>.Empty;
120public override ImmutableArray<CustomModifier> RefCustomModifiers
122get { return ImmutableArray<CustomModifier>.Empty; }
125public override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotations
127get { return ImmutableArray<TypeWithAnnotations>.Empty; }
218public override ImmutableArray<MethodSymbol> ExplicitInterfaceImplementations
220get { return ImmutableArray<MethodSymbol>.Empty; }
275internal sealed override ImmutableArray<string> GetAppliedConditionalSymbols()
277return ImmutableArray<string>.Empty;
298ImmutableArray<BoundExpression>.Empty,
299default(ImmutableArray<string>),
300default(ImmutableArray<RefKind>),
304argsToParamsOpt: default(ImmutableArray<int>),
336private readonly ImmutableArray<ParameterSymbol> _parameters;
362argumentNamesOpt: default(ImmutableArray<string>),
363argumentRefKindsOpt: default(ImmutableArray<RefKind>),
367argsToParamsOpt: default(ImmutableArray<int>),
390public override ImmutableArray<ParameterSymbol> Parameters => _parameters;
402locals: ImmutableArray<LocalSymbol>.Empty,
425locals: ImmutableArray<LocalSymbol>.Empty,
456public override ImmutableArray<ParameterSymbol> Parameters => ImmutableArray<ParameterSymbol>.Empty;
496locals: ImmutableArray<LocalSymbol>.Empty,
497statements: ImmutableArray<BoundStatement>.Empty,
532private readonly ImmutableArray<ParameterSymbol> _parameters;
551public override ImmutableArray<ParameterSymbol> Parameters
591argumentNamesOpt: default(ImmutableArray<string>),
592argumentRefKindsOpt: default(ImmutableArray<RefKind>),
594argsToParamsOpt: default(ImmutableArray<int>),
Symbols\Tuples\TupleTypeSymbol.cs (64)
32ImmutableArray<TypeWithAnnotations> elementTypesWithAnnotations,
33ImmutableArray<Location?> elementLocations,
34ImmutableArray<string?> elementNames,
38ImmutableArray<bool> errorPositions,
61var locations = locationOpt is null ? ImmutableArray<Location>.Empty : ImmutableArray.Create(locationOpt);
74static NamedTypeSymbol getTupleUnderlyingType(ImmutableArray<TypeWithAnnotations> elementTypes, CSharpSyntaxNode? syntax, CSharpCompilation compilation, BindingDiagnosticBag? diagnostics)
102ImmutableArray<string?> elementNames = default,
103ImmutableArray<bool> errorPositions = default,
104ImmutableArray<Location?> elementLocations = default,
105ImmutableArray<Location> locations = default)
127internal NamedTypeSymbol WithElementTypes(ImmutableArray<TypeWithAnnotations> newElementTypes)
161internal NamedTypeSymbol WithElementNames(ImmutableArray<string?> newElementNames,
162ImmutableArray<Location?> newElementLocations,
163ImmutableArray<bool> errorPositions,
164ImmutableArray<Location> locations)
232private static NamedTypeSymbol ConstructTupleUnderlyingType(NamedTypeSymbol firstTupleType, NamedTypeSymbol? chainedTupleTypeOpt, ImmutableArray<TypeWithAnnotations> elementTypes)
244var chainedTypes = ImmutableArray.Create(elementTypes, (loop - 1) * (ValueTupleRestPosition - 1), ValueTupleRestPosition - 1).Add(TypeWithAnnotations.Create(currentSymbol));
280var sourceNames = literal.ArgumentNamesOpt;
286ImmutableArray<bool> inferredNames = literal.InferredNamesOpt;
288ImmutableArray<string> destinationNames = destination.TupleElementNames;
522var members = type.GetMembers(relativeDescriptor.Name);
550public sealed override ImmutableArray<string?> TupleElementNames
553private ImmutableArray<bool> TupleErrorPositions
556private ImmutableArray<Location?> TupleElementLocations
559public sealed override ImmutableArray<TypeWithAnnotations> TupleElementTypesWithAnnotations
562public sealed override ImmutableArray<FieldSymbol> TupleElements
570protected ArrayBuilder<Symbol> MakeSynthesizedTupleMembers(ImmutableArray<Symbol> currentMembers, HashSet<Symbol>? replacedFields = null)
575var elementTypes = TupleElementTypesWithAnnotations;
587var elementNames = TupleElementNames;
588var elementLocations = TupleData!.ElementLocations;
626ImmutableArray<Location> locations = getElementLocations(in elementLocations, tupleFieldIndex);
671var errorPositions = TupleErrorPositions;
799static void collectTargetTupleFields(int arity, ImmutableArray<Symbol> members, ArrayBuilder<FieldSymbol?> fieldsForElements)
810static Symbol? getWellKnownMemberInType(ImmutableArray<Symbol> members, WellKnownMember relativeMember)
819static ImmutableArray<Symbol> getOriginalFields(ImmutableArray<Symbol> members)
842static ImmutableArray<Location> getElementLocations(in ImmutableArray<Location?> elementLocations, int tupleFieldIndex)
846return ImmutableArray<Location>.Empty;
850return elementLocation == null ? ImmutableArray<Location>.Empty : ImmutableArray.Create(elementLocation);
857ImmutableArray<string?> names1 = TupleElementNames;
858ImmutableArray<string?> names2 = other.TupleElementNames;
859ImmutableArray<string?> mergedNames;
889internal ImmutableArray<string?> ElementNames { get; }
895internal ImmutableArray<Location?> ElementLocations { get; }
902internal ImmutableArray<bool> ErrorPositions { get; }
904internal ImmutableArray<Location> Locations { get; }
909private ImmutableArray<TypeWithAnnotations> _lazyElementTypes;
911private ImmutableArray<FieldSymbol> _lazyDefaultElementFields;
927Locations = ImmutableArray<Location>.Empty;
930internal TupleExtraData(NamedTypeSymbol underlyingType, ImmutableArray<string?> elementNames,
931ImmutableArray<Location?> elementLocations, ImmutableArray<bool> errorPositions, ImmutableArray<Location> locations)
952static bool areEqual<T>(ImmutableArray<T> one, ImmutableArray<T> other)
968public ImmutableArray<TypeWithAnnotations> TupleElementTypesWithAnnotations(NamedTypeSymbol tuple)
978static ImmutableArray<TypeWithAnnotations> collectTupleElementTypesWithAnnotations(NamedTypeSymbol tuple)
980ImmutableArray<TypeWithAnnotations> elementTypes;
985var extensionTupleElementTypes = tuple.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type.TupleElementTypesWithAnnotations;
1000public ImmutableArray<FieldSymbol> TupleElements(NamedTypeSymbol tuple)
1010ImmutableArray<FieldSymbol> collectTupleElementFields(NamedTypeSymbol tuple)
1054var members = TupleUnderlyingType.GetMembers();
Symbols\TypeMap.cs (22)
26internal static ImmutableArray<TypeWithAnnotations> TypeParametersAsTypeSymbolsWithAnnotations(ImmutableArray<TypeParameterSymbol> typeParameters)
31internal static ImmutableArray<TypeWithAnnotations> TypeParametersAsTypeSymbolsWithIgnoredAnnotations(ImmutableArray<TypeParameterSymbol> typeParameters)
36internal static ImmutableArray<TypeSymbol> AsTypeSymbols(ImmutableArray<TypeWithAnnotations> typesOpt)
42internal TypeMap(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeWithAnnotations> to, bool allowAlpha = false)
50internal TypeMap(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeParameterSymbol> to, bool allowAlpha = false)
70internal TypeMap(NamedTypeSymbol containingType, ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeWithAnnotations> typeArguments)
103private TypeMap WithAlphaRename(ImmutableArray<TypeParameterSymbol> oldTypeParameters, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters)
107newTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty;
139internal TypeMap WithAlphaRename(NamedTypeSymbol oldOwner, NamedTypeSymbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters)
145internal TypeMap WithAlphaRename(MethodSymbol oldOwner, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters)
154out ImmutableArray<TypeParameterSymbol> newTypeParameters,
155out ImmutableArray<TypeParameterSymbol> oldTypeParameters,
176var currentParameters = oldOwner.OriginalDefinition.TypeParameters;
200private static SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> ConstructMapping(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeWithAnnotations> to)
Symbols\TypeWithAnnotations.cs (27)
85internal static TypeWithAnnotations Create(TypeSymbol typeSymbol, NullableAnnotation nullableAnnotation = NullableAnnotation.Oblivious, ImmutableArray<CustomModifier> customModifiers = default)
168private static TypeWithAnnotations CreateNonLazyType(TypeSymbol typeSymbol, NullableAnnotation nullableAnnotation, ImmutableArray<CustomModifier> customModifiers)
178private static TypeWithAnnotations CreateLazySubstitutedType(TypeSymbol substitutedTypeSymbol, ImmutableArray<CustomModifier> customModifiers, TypeParameterSymbol typeParameter)
250public TypeWithAnnotations WithModifiers(ImmutableArray<CustomModifier> customModifiers) =>
269public ImmutableArray<CustomModifier> CustomModifiers => _extensions.CustomModifiers;
444var newCustomModifiers = typeMap.SubstituteCustomModifiers(this.CustomModifiers);
567public TypeWithAnnotations WithTypeAndModifiers(TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers) =>
661public bool ApplyNullableTransforms(byte defaultTransformFlag, ImmutableArray<byte> transforms, ref int position, out TypeWithAnnotations result)
840internal static readonly Extensions Default = new NonLazyType(customModifiers: ImmutableArray<CustomModifier>.Empty);
842internal static Extensions Create(ImmutableArray<CustomModifier> customModifiers)
854internal abstract ImmutableArray<CustomModifier> CustomModifiers { get; }
859internal abstract TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers);
873internal abstract TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers);
884private readonly ImmutableArray<CustomModifier> _customModifiers;
886public NonLazyType(ImmutableArray<CustomModifier> customModifiers)
895internal override ImmutableArray<CustomModifier> CustomModifiers => _customModifiers;
907internal override TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers)
914internal override TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers)
956private readonly ImmutableArray<CustomModifier> _customModifiers;
962public LazySubstitutedType(ImmutableArray<CustomModifier> customModifiers, TypeParameterSymbol typeParameter)
1010internal override ImmutableArray<CustomModifier> CustomModifiers => _customModifiers;
1012internal override TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers)
1017internal override TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers)
1110internal override ImmutableArray<CustomModifier> CustomModifiers => ImmutableArray<CustomModifier>.Empty;
1112internal override TypeWithAnnotations WithModifiers(TypeWithAnnotations type, ImmutableArray<CustomModifier> customModifiers)
1128internal override TypeWithAnnotations WithTypeAndModifiers(TypeWithAnnotations type, TypeSymbol typeSymbol, ImmutableArray<CustomModifier> customModifiers)
src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (8)
26public sealed override ImmutableArray<string> FixableDiagnosticIds { get; } =
95private static async Task<MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>> GetUnassignedParametersAsync(
96Document document, ImmutableArray<Diagnostic> diagnostics, CancellationToken cancellationToken)
105var result = new MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>();
136Document document, ImmutableArray<Diagnostic> diagnostics,
151MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values,
154protected static ImmutableArray<SyntaxNode> GenerateAssignmentStatements(
155SyntaxGenerator generator, ImmutableArray<IParameterSymbol> unassignedParameters)
src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\PassInCapturedVariablesAsArgumentsCodeFixProvider.cs (5)
29public override ImmutableArray<string> FixableDiagnosticIds { get; } = [CS8421];
52protected override Task FixAllAsync(Document document, ImmutableArray<Diagnostic> diagnostics, SyntaxEditor editor, CancellationToken cancellationToken)
64ImmutableArray<Diagnostic> diagnostics,
65Func<Document, LocalFunctionStatementSyntax, ImmutableArray<ISymbol>, Task> fixer,
89if (MakeLocalFunctionStaticHelper.CanMakeLocalFunctionStaticByRefactoringCaptures(localFunction, semanticModel, out var captures))
CodeRefactorings\SyncNamespace\CSharpChangeNamespaceService.cs (11)
39protected override async Task<ImmutableArray<(DocumentId, SyntaxNode)>> GetValidContainersFromAllLinkedDocumentsAsync(
108ImmutableArray<string> newNamespaceParts,
205ImmutableArray<string> newNamespaceParts,
234ImmutableArray<string> declaredNamespaceParts,
235ImmutableArray<string> targetNamespaceParts)
312private static CompilationUnitSyntax MoveMembersFromGlobalToNamespace(CompilationUnitSyntax compilationUnit, ImmutableArray<string> targetNamespaceParts)
364var namespaceDecls = node.AncestorsAndSelf().OfType<BaseNamespaceDeclarationSyntax>().ToImmutableArray();
414private static NameSyntax CreateNamespaceAsQualifiedName(ImmutableArray<string> namespaceParts, string? aliasQualifier, int index)
427private static ExpressionSyntax CreateNamespaceAsMemberAccess(ImmutableArray<string> namespaceParts, string? aliasQualifier, int index)
452private static (ImmutableArray<SyntaxTrivia> openingTrivia, ImmutableArray<SyntaxTrivia> closingTrivia)
Completion\CompletionProviders\CrefCompletionProvider.cs (11)
89protected override async Task<(SyntaxToken, SemanticModel?, ImmutableArray<ISymbol>)> GetSymbolsAsync(
164private static ImmutableArray<ISymbol> GetSymbols(
179private static ImmutableArray<ISymbol> GetUnqualifiedSymbols(
210private static ImmutableArray<ISymbol> GetQualifiedSymbols(
237SemanticModel semanticModel, ImmutableArray<ISymbol> symbols, SyntaxToken token, int position, ImmutableArray<KeyValuePair<string, string>> options)
260ImmutableArray<KeyValuePair<string, string>> options, [NotNullWhen(true)] out CompletionItem? item)
283ImmutableArray<KeyValuePair<string, string>> options,
329ISymbol symbol, int position, StringBuilder builder, string sortText, ImmutableArray<KeyValuePair<string, string>> options)
353var commitRules = ImmutableArray<CharacterSetModificationRule>.Empty;
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.NameGenerator.cs (13)
11using Words = System.Collections.Immutable.ImmutableArray<string>;
22internal static ImmutableArray<Words> GetBaseNames(ITypeSymbol type, bool pluralize)
27var result = GetInterleavedPatterns(parts, baseName, pluralize);
32internal static ImmutableArray<Words> GetBaseNames(IAliasSymbol alias)
44var result = GetInterleavedPatterns(breaks, name, pluralize: false);
48private static ImmutableArray<Words> GetInterleavedPatterns(
51using var result = TemporaryArray<Words>.Empty;
67private static Words GetLongestBackwardSubsequence(int length, in TemporaryArray<TextSpan> breaks, string baseName, bool pluralize)
74private static Words GetLongestForwardSubsequence(int length, in TemporaryArray<TextSpan> breaks, string baseName, bool pluralize)
77private static Words GetWords(int start, int end, in TemporaryArray<TextSpan> breaks, string baseName, bool pluralize)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (4)
71var members = GetCandidatePropertiesAndFields(document, semanticModel, position, type);
120var members = GetCandidatePropertiesAndFields(document, semanticModel, position, type);
135static ImmutableArray<ISymbol> GetCandidatePropertiesAndFields(Document document, SemanticModel semanticModel, int position, ITypeSymbol? type)
137var members = semanticModel.LookupSymbols(position, type);
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (6)
82private static ImmutableArray<TextSpan> AnalyzeCodeBlock(CodeBlockAnalysisContext context, int positionOfFirstReducingNullableDirective)
89private ImmutableArray<Diagnostic> AnalyzeSemanticModel(SemanticModelAnalysisContext context, int positionOfFirstReducingNullableDirective, TextSpanMutableIntervalTree? codeBlockIntervalTree, TextSpanMutableIntervalTree? possibleNullableImpactIntervalTree)
221public bool TryReportNullableImpactingSpans(TextSpan span, ImmutableArray<TextSpan> nullableImpactingSpans)
225private bool TryProceedOrReportNullableImpactingSpans(TextSpan span, ImmutableArray<TextSpan>? nullableImpactingSpans)
287var nullableImpactingSpans = CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.AnalyzeCodeBlock(context, syntaxTreeState.PositionOfFirstReducingNullableDirective.Value);
315var diagnostics = _analyzer.AnalyzeSemanticModel(context, positionOfFirstReducingNullableDirective, syntaxTreeState.IntervalTree, syntaxTreeState.PossibleNullableImpactIntervalTree);
src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (8)
26public sealed override ImmutableArray<string> FixableDiagnosticIds { get; } =
95private static async Task<MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>> GetUnassignedParametersAsync(
96Document document, ImmutableArray<Diagnostic> diagnostics, CancellationToken cancellationToken)
105var result = new MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>();
136Document document, ImmutableArray<Diagnostic> diagnostics,
151MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values,
154protected static ImmutableArray<SyntaxNode> GenerateAssignmentStatements(
155SyntaxGenerator generator, ImmutableArray<IParameterSymbol> unassignedParameters)
src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\PassInCapturedVariablesAsArgumentsCodeFixProvider.cs (5)
29public override ImmutableArray<string> FixableDiagnosticIds { get; } = [CS8421];
52protected override Task FixAllAsync(Document document, ImmutableArray<Diagnostic> diagnostics, SyntaxEditor editor, CancellationToken cancellationToken)
64ImmutableArray<Diagnostic> diagnostics,
65Func<Document, LocalFunctionStatementSyntax, ImmutableArray<ISymbol>, Task> fixer,
89if (MakeLocalFunctionStaticHelper.CanMakeLocalFunctionStaticByRefactoringCaptures(localFunction, semanticModel, out var captures))
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.State.cs (14)
24public ImmutableArray<ConstructorCandidate> ConstructorCandidates { get; private set; }
30ImmutableArray<ISymbol> selectedMembers,
45ImmutableArray<ISymbol> selectedMembers,
51var rules = await document.GetNamingRulesAsync(cancellationToken).ConfigureAwait(false);
52var parametersForSelectedMembers = DetermineParameters(selectedMembers, rules);
77private static async Task<ImmutableArray<ConstructorCandidate>> GetConstructorCandidatesInfoAsync(
79ImmutableArray<ISymbol> selectedMembers,
81ImmutableArray<IParameterSymbol> parametersForSelectedMembers,
98private static async Task<bool> IsApplicableConstructorAsync(IMethodSymbol constructor, Document document, ImmutableArray<string> parameterNamesForSelectedMembers, CancellationToken cancellationToken)
100var constructorParams = constructor.Parameters;
118private static bool SelectedMembersAlreadyExistAsParameters(ImmutableArray<string> parameterNamesForSelectedMembers, ImmutableArray<IParameterSymbol> constructorParams)
122private static ConstructorCandidate CreateConstructorCandidate(ImmutableArray<IParameterSymbol> parametersForSelectedMembers, ImmutableArray<ISymbol> selectedMembers, IMethodSymbol constructor)
AddImport\AbstractAddImportFeatureService.cs (32)
64public async Task<ImmutableArray<AddImportFixData>> GetFixesAsync(
67ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
72var result = await client.TryInvokeAsync<IRemoteMissingImportDiscoveryService, ImmutableArray<AddImportFixData>>(
88private async Task<ImmutableArray<AddImportFixData>> GetFixesInCurrentProcessAsync(
91ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
131private async Task<ImmutableArray<Reference>> FindResultsAsync(
139ImmutableArray<PackageSource> packageSources,
152var exactReferences = await FindResultsAsync(projectToAssembly, referenceToCompilation, project, maxResults, finder, exact: true, cancellationToken).ConfigureAwait(false);
162var fuzzyReferences = await FindResultsAsync(projectToAssembly, referenceToCompilation, project, maxResults, finder, exact: false, cancellationToken).ConfigureAwait(false);
169private async Task<ImmutableArray<Reference>> FindResultsAsync(
234await ProducerConsumer<ImmutableArray<SymbolReference>>.RunParallelAsync(
275var newReferences = GetUnreferencedMetadataReferences(project, seenReferences);
285await ProducerConsumer<ImmutableArray<SymbolReference>>.RunParallelAsync(
321private static ImmutableArray<(Project, PortableExecutableReference)> GetUnreferencedMetadataReferences(
351IAsyncEnumerable<ImmutableArray<SymbolReference>> reader,
354await foreach (var symbolReferences in reader)
474private static void AddRange(ConcurrentQueue<Reference> allSymbolReferences, ImmutableArray<SymbolReference> proposedReferences)
514public async Task<ImmutableArray<(Diagnostic Diagnostic, ImmutableArray<AddImportFixData> Fixes)>> GetFixesForDiagnosticsAsync(
515Document document, TextSpan span, ImmutableArray<Diagnostic> diagnostics, int maxResultsPerDiagnostic,
517ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
522var result = new FixedSizeArrayBuilder<(Diagnostic, ImmutableArray<AddImportFixData>)>(diagnostics.Length);
526var fixes = await GetFixesAsync(
537public async Task<ImmutableArray<AddImportFixData>> GetUniqueFixesAsync(
538Document document, TextSpan span, ImmutableArray<string> diagnosticIds,
540ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
545var result = await client.TryInvokeAsync<IRemoteMissingImportDiscoveryService, ImmutableArray<AddImportFixData>>(
561private async Task<ImmutableArray<AddImportFixData>> GetUniqueFixesAsyncInCurrentProcessAsync(
564ImmutableArray<string> diagnosticIds,
567ImmutableArray<PackageSource> packageSources,
603public ImmutableArray<CodeAction> GetCodeActionsForFixes(
604Document document, ImmutableArray<AddImportFixData> fixes,
AddImport\AddImportFixData.cs (10)
18ImmutableArray<TextChange> textChanges,
20ImmutableArray<string> tags = default,
41public readonly ImmutableArray<TextChange> TextChanges = textChanges;
53public readonly ImmutableArray<string> Tags = tags;
113public static AddImportFixData CreateForProjectSymbol(ImmutableArray<TextChange> textChanges, string title, ImmutableArray<string> tags, CodeActionPriority priority, ProjectId projectReferenceToAdd)
121public static AddImportFixData CreateForMetadataSymbol(ImmutableArray<TextChange> textChanges, string title, ImmutableArray<string> tags, CodeActionPriority priority, ProjectId portableExecutableReferenceProjectId, string portableExecutableReferenceFilePathToAdd)
130public static AddImportFixData CreateForReferenceAssemblySymbol(ImmutableArray<TextChange> textChanges, string title, string assemblyReferenceAssemblyName, string assemblyReferenceFullyQualifiedTypeName)
139public static AddImportFixData CreateForPackageSymbol(ImmutableArray<TextChange> textChanges, string packageSource, string packageName, string packageVersionOpt)
AddImport\IAddImportFeatureService.cs (12)
24Task<ImmutableArray<AddImportFixData>> GetFixesAsync(
27ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken);
33Task<ImmutableArray<(Diagnostic Diagnostic, ImmutableArray<AddImportFixData> Fixes)>> GetFixesForDiagnosticsAsync(
34Document document, TextSpan span, ImmutableArray<Diagnostic> diagnostics, int maxResultsPerDiagnostic,
36ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken);
42ImmutableArray<CodeAction> GetCodeActionsForFixes(
43Document document, ImmutableArray<AddImportFixData> fixes,
48/// Similar to <see cref="GetFixesAsync(Document, TextSpan, string, int, ISymbolSearchService, AddImportOptions, ImmutableArray{PackageSource}, CancellationToken)"/>
51Task<ImmutableArray<AddImportFixData>> GetUniqueFixesAsync(
52Document document, TextSpan span, ImmutableArray<string> diagnosticIds,
54ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken);
AddImport\Remote\IRemoteMissingImportDiscoveryService.cs (8)
21ValueTask<ImmutableArray<PackageResult>> FindPackagesAsync(RemoteServiceCallbackId callbackId, string source, TypeQuery typeQuery, NamespaceQuery namespaceQuery, CancellationToken cancellationToken);
22ValueTask<ImmutableArray<PackageWithAssemblyResult>> FindPackagesWithAssemblyAsync(RemoteServiceCallbackId callbackId, string source, string name, CancellationToken cancellationToken);
23ValueTask<ImmutableArray<ReferenceAssemblyResult>> FindReferenceAssembliesAsync(RemoteServiceCallbackId callbackId, TypeQuery typeQuery, NamespaceQuery namespaceQuery, CancellationToken cancellationToken);
26ValueTask<ImmutableArray<AddImportFixData>> GetFixesAsync(
28AddImportOptions options, ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken);
30ValueTask<ImmutableArray<AddImportFixData>> GetUniqueFixesAsync(
31Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId id, TextSpan span, ImmutableArray<string> diagnosticIds,
32AddImportOptions options, ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken);
AddImport\Remote\RemoteMissingImportDiscoveryServiceCallbackDispatcher.cs (3)
34public ValueTask<ImmutableArray<PackageResult>> FindPackagesAsync(RemoteServiceCallbackId callbackId, string source, TypeQuery typeQuery, NamespaceQuery namespaceQuery, CancellationToken cancellationToken)
37public ValueTask<ImmutableArray<PackageWithAssemblyResult>> FindPackagesWithAssemblyAsync(RemoteServiceCallbackId callbackId, string source, string name, CancellationToken cancellationToken)
40public ValueTask<ImmutableArray<ReferenceAssemblyResult>> FindReferenceAssembliesAsync(RemoteServiceCallbackId callbackId, TypeQuery typeQuery, NamespaceQuery namespaceQuery, CancellationToken cancellationToken)
AddImport\SymbolReferenceFinder.cs (44)
42private readonly ImmutableArray<PackageSource> _packageSources;
57ImmutableArray<PackageSource> packageSources,
95internal Task<ImmutableArray<SymbolReference>> FindInAllSymbolsInStartingProjectAsync(bool exact, CancellationToken cancellationToken)
98internal Task<ImmutableArray<SymbolReference>> FindInSourceSymbolsInProjectAsync(ConcurrentDictionary<Project, AsyncLazy<IAssemblySymbol>> projectToAssembly, Project project, bool exact, CancellationToken cancellationToken)
101internal Task<ImmutableArray<SymbolReference>> FindInMetadataSymbolsAsync(IAssemblySymbol assembly, Project assemblyProject, PortableExecutableReference metadataReference, bool exact, CancellationToken cancellationToken)
104private async Task<ImmutableArray<SymbolReference>> DoAsync(SearchScope searchScope, CancellationToken cancellationToken)
115using var _1 = ArrayBuilder<Task<ImmutableArray<SymbolReference>>>.GetInstance(out var tasks);
150private ImmutableArray<SymbolReference> DeDupeAndSortReferences(ImmutableArray<SymbolReference> allReferences)
176private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingTypesAsync(
194var symbols = await searchScope.FindDeclarationsAsync(name, nameNode, SymbolFilter.Type, cancellationToken).ConfigureAwait(false);
199var attributeSymbols = await searchScope.FindDeclarationsAsync(
206var typeSymbols = OfType<ITypeSymbol>(symbols);
223var namespaceReferences = GetNamespaceSymbolReferences(searchScope,
261private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingNamespacesAsync(
272var symbols = await searchScope.FindDeclarationsAsync(name, nameNode, SymbolFilter.Namespace, cancellationToken).ConfigureAwait(false);
273var namespaceSymbols = OfType<INamespaceSymbol>(symbols);
288private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingFieldsAndPropertiesAsync(
321var namedTypeSymbols = OfType<INamedTypeSymbol>(symbolResults);
350private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingExtensionMethodsAsync(
365var symbols = await searchScope.FindDeclarationsAsync(name, nameNode, SymbolFilter.Member, cancellationToken).ConfigureAwait(false);
367var methodSymbols = OfType<IMethodSymbol>(symbols);
369var extensionMethodSymbols = GetViableExtensionMethods(
381private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethods(
382ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols,
389private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethods(
390ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols, ITypeSymbol typeSymbol)
396private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethodsWorker(
397ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols)
409private async Task<ImmutableArray<SymbolReference>> GetReferencesForCollectionInitializerMethodsAsync(
417var symbols = await searchScope.FindDeclarationsAsync(
425var viableMethods = GetViableExtensionMethods(
440private async Task<ImmutableArray<SymbolReference>> GetReferencesForQueryPatternsAsync(
464private async Task<ImmutableArray<SymbolReference>> GetReferencesForGetAwaiterAsync(
489private async Task<ImmutableArray<SymbolReference>> GetReferencesForGetEnumeratorAsync(
514private async Task<ImmutableArray<SymbolReference>> GetReferencesForGetAsyncEnumeratorAsync(
539private async Task<ImmutableArray<SymbolReference>> GetReferencesForDeconstructAsync(
561private async Task<ImmutableArray<SymbolReference>> GetReferencesForExtensionMethodAsync(
564var symbols = await searchScope.FindDeclarationsAsync(
572var viableExtensionMethods = GetViableExtensionMethods(methodSymbols, type);
599private ImmutableArray<SymbolReference> GetNamespaceSymbolReferences(
600SearchScope scope, ImmutableArray<SymbolResult<INamespaceSymbol>> namespaces)
616private static ImmutableArray<SymbolResult<T>> OfType<T>(ImmutableArray<SymbolResult<ISymbol>> symbols) where T : ISymbol
ChangeSignature\AbstractChangeSignatureService.cs (21)
49public abstract Task<ImmutableArray<ISymbol>> DetermineCascadedSymbolsFromDelegateInvokeAsync(
61protected abstract ImmutableArray<AbstractFormattingRule> GetFormattingRules(Document document);
89protected abstract ImmutableArray<IParameterSymbol> GetParameters(ISymbol declarationSymbol);
94public async Task<ImmutableArray<ChangeSignatureCodeAction>> GetChangeSignatureCodeActionAsync(Document document, TextSpan span, CancellationToken cancellationToken)
100: ImmutableArray<ChangeSignatureCodeAction>.Empty;
225private static async Task<ImmutableArray<ReferencedSymbol>> FindChangeSignatureReferencesAsync(
470protected ImmutableArray<IUnifiedArgumentSyntax> PermuteArguments(
472ImmutableArray<IUnifiedArgumentSyntax> arguments,
477var declarationParameters = GetParameters(declarationSymbol);
478var declarationParametersToPermute = GetParametersToPermute(arguments, declarationParameters, isReducedExtensionMethod);
583var realParameters = GetParameters(declarationSymbol);
602private static ImmutableArray<IParameterSymbol> GetParametersToPermute(
603ImmutableArray<IUnifiedArgumentSyntax> arguments,
604ImmutableArray<IParameterSymbol> originalParameters,
680protected (ImmutableArray<T> parameters, ImmutableArray<SyntaxToken> separators) UpdateDeclarationBase<T>(
746protected ImmutableArray<SyntaxToken> GetSeparators<T>(SeparatedSyntaxList<T> arguments, int numSeparatorsToSkip) where T : SyntaxNode
793var parameters = GetParameters(declarationSymbol);
937var recommendations = recommender.GetRecommendedSymbolsInContext(context, recommendationOptions, cancellationToken).NamedSymbols;
971protected ImmutableArray<SyntaxTrivia> GetPermutedDocCommentTrivia(SyntaxNode node, ImmutableArray<SyntaxNode> permutedParamNodes, LanguageServices services, LineFormattingOptions options)
CodeFixes\Suppression\AbstractSuppressionBatchFixAllProvider.cs (16)
45ImmutableDictionary<Document, ImmutableArray<Diagnostic>> documentsAndDiagnosticsToFixMap,
57var diagnosticsAndCodeActions = await GetDiagnosticsAndCodeActionsAsync(documentsAndDiagnosticsToFixMap, fixAllContext).ConfigureAwait(false);
74private async Task<ImmutableArray<(Diagnostic diagnostic, CodeAction action)>> GetDiagnosticsAndCodeActionsAsync(
75ImmutableDictionary<Document, ImmutableArray<Diagnostic>> documentsAndDiagnosticsToFixMap,
112Document document, ImmutableArray<Diagnostic> diagnostics,
135ImmutableDictionary<Project, ImmutableArray<Diagnostic>> projectsAndDiagnosticsToFixMap,
159var result = bag.ToImmutableArray();
175private static Action<CodeAction, ImmutableArray<Diagnostic>> GetRegisterCodeFixAction(
200Project project, ImmutableArray<Diagnostic> diagnostics,
208ImmutableArray<(Diagnostic diagnostic, CodeAction action)> batchOfFixes,
227ImmutableArray<(Diagnostic diagnostic, CodeAction action)> diagnosticsAndCodeActions,
238var documentIdToFinalText = await GetDocumentIdToFinalTextAsync(
250ImmutableArray<(Diagnostic diagnostic, CodeAction action)> diagnosticsAndCodeActions,
270private static async Task<ImmutableArray<(DocumentId documentId, SourceText newText)>> GetDocumentIdToFinalTextAsync(
273ImmutableArray<(Diagnostic diagnostic, CodeAction action)> diagnosticsAndCodeActions,
305var orderedDocuments = changedDocuments.OrderBy(t => codeActionToDiagnosticLocation[t.action])
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.GlobalSuppressMessageFixAllCodeAction.cs (13)
28private readonly IEnumerable<KeyValuePair<ISymbol, ImmutableArray<Diagnostic>>> _diagnosticsBySymbol;
33IEnumerable<KeyValuePair<ISymbol, ImmutableArray<Diagnostic>>> diagnosticsBySymbol,
41internal static CodeAction Create(string title, AbstractSuppressionCodeFixProvider fixer, Document triggerDocument, ImmutableDictionary<Document, ImmutableArray<Diagnostic>> diagnosticsByDocument)
48internal static CodeAction Create(string title, AbstractSuppressionCodeFixProvider fixer, Project triggerProject, ImmutableDictionary<Project, ImmutableArray<Diagnostic>> diagnosticsByProject)
70ImmutableDictionary<Document, ImmutableArray<Diagnostic>> diagnosticsByDocument,
99ImmutableDictionary<Project, ImmutableArray<Diagnostic>> diagnosticsByProject,
152private static async Task<IEnumerable<KeyValuePair<ISymbol, ImmutableArray<Diagnostic>>>> CreateDiagnosticsBySymbolAsync(AbstractSuppressionCodeFixProvider fixer, IEnumerable<KeyValuePair<Document, ImmutableArray<Diagnostic>>> diagnosticsByDocument, CancellationToken cancellationToken)
173private static async Task<IEnumerable<KeyValuePair<ISymbol, ImmutableArray<Diagnostic>>>> CreateDiagnosticsBySymbolAsync(Project project, ImmutableArray<Diagnostic> diagnostics, CancellationToken cancellationToken)
206private static IEnumerable<KeyValuePair<ISymbol, ImmutableArray<Diagnostic>>> CreateDiagnosticsBySymbol(ImmutableDictionary<ISymbol, List<Diagnostic>>.Builder diagnosticsMapBuilder)
211var builder = new List<KeyValuePair<ISymbol, ImmutableArray<Diagnostic>>>();
218private static ImmutableArray<Diagnostic> GetUniqueDiagnostics(List<Diagnostic> diagnostics)
CodeRefactorings\SyncNamespace\AbstractChangeNamespaceService.cs (31)
57public abstract bool TryGetReplacementReferenceSyntax(SyntaxNode reference, ImmutableArray<string> newNamespaceParts, ISyntaxFactsService syntaxFacts, [NotNullWhen(returnValue: true)] out SyntaxNode? old, [NotNullWhen(returnValue: true)] out SyntaxNode? @new);
78TCompilationUnitSyntax root, ImmutableArray<string> declaredNamespaceParts, ImmutableArray<string> targetNamespaceParts);
95protected abstract Task<ImmutableArray<(DocumentId id, SyntaxNode container)>> GetValidContainersFromAllLinkedDocumentsAsync(Document document, SyntaxNode container, CancellationToken cancellationToken);
100protected static bool IsGlobalNamespace(ImmutableArray<string> parts)
110var applicableContainers = await GetValidContainersFromAllLinkedDocumentsAsync(document, container, cancellationToken).ConfigureAwait(false);
125var originalNamespaceDeclarations = await GetTopLevelNamespacesAsync(document, cancellationToken).ConfigureAwait(false);
154var namespaces = await GetTopLevelNamespacesAsync(document, cancellationToken).ConfigureAwait(false);
163static async Task<ImmutableArray<SyntaxNode>> GetTopLevelNamespacesAsync(Document document, CancellationToken cancellationToken)
196var containersFromAllDocuments = await GetValidContainersFromAllLinkedDocumentsAsync(document, container, cancellationToken).ConfigureAwait(false);
267protected async Task<ImmutableArray<(DocumentId, SyntaxNode)>> TryGetApplicableContainersFromAllDocumentsAsync(
269ImmutableArray<DocumentId> ids,
310protected static async Task<Solution> AnnotateContainersAsync(Solution solution, ImmutableArray<(DocumentId, SyntaxNode)> containers, CancellationToken cancellationToken)
345protected static bool IsSupportedLinkedDocument(Document document, out ImmutableArray<DocumentId> allDocumentIds)
348var linkedDocumentIds = document.GetLinkedDocumentIds();
365private async Task<ImmutableArray<ISymbol>> GetDeclaredSymbolsInContainerAsync(
383private static ImmutableArray<string> GetNamespaceParts(string @namespace)
386private static ImmutableArray<string> GetAllNamespaceImportsForDeclaringDocument(string oldNamespace, string newNamespace)
388var parts = GetNamespaceParts(oldNamespace);
400private static ImmutableArray<SyntaxNode> CreateImports(Document document, ImmutableArray<string> names, bool withFormatterAnnotation)
426private async Task<(Solution, ImmutableArray<DocumentId>)> ChangeNamespaceInSingleDocumentAsync(
514private static async Task<ImmutableArray<LocationForAffectedSymbol>> FindReferenceLocationsForSymbolAsync(
548private static async Task<ImmutableArray<ReferencedSymbol>> FindReferencesAsync(ISymbol symbol, Document document, CancellationToken cancellationToken)
587ImmutableArray<SyntaxNode> containersToAddImports;
684private static async Task<(Document, ImmutableArray<SyntaxNode>)> FixReferencesAsync(
689ImmutableArray<string> newNamespaceParts,
761ImmutableArray<DocumentId> ids,
762ImmutableArray<string> names,
816ImmutableArray<SyntaxNode> containers,
817ImmutableArray<string> names,
Common\AbstractProjectExtensionProvider.cs (20)
21public record class ExtensionInfo(ImmutableArray<TextDocumentKind> DocumentKinds, string[]? DocumentExtensions);
25private static readonly ConditionalWeakTable<IReadOnlyList<AnalyzerReference>, StrongBox<ImmutableArray<TExtension>>> s_referencesToExtensionsMap = new();
30private ImmutableDictionary<string, ImmutableArray<TExtension>> _extensionsPerLanguage = ImmutableDictionary<string, ImmutableArray<TExtension>>.Empty;
32protected abstract ImmutableArray<string> GetLanguages(TExportAttribute exportAttribute);
33protected abstract bool TryGetExtensionsFromReference(AnalyzerReference reference, out ImmutableArray<TExtension> extensions);
35public static bool TryGetCachedExtensions(IReadOnlyList<AnalyzerReference> analyzerReferences, out ImmutableArray<TExtension> extensions)
47public static ImmutableArray<TExtension> GetExtensions(Project? project)
55public static ImmutableArray<TExtension> GetExtensions(string language, IReadOnlyList<AnalyzerReference> analyzerReferences)
57if (TryGetCachedExtensions(analyzerReferences, out var providers))
62static ImmutableArray<TExtension> GetExtensionsSlow(string language, IReadOnlyList<AnalyzerReference> analyzerReferences)
65static ImmutableArray<TExtension> ComputeExtensions(string language, IReadOnlyList<AnalyzerReference> analyzerReferences)
80public static ImmutableArray<TExtension> GetExtensions(TextDocument document, Func<TExportAttribute, ExtensionInfo>? getExtensionInfoForFiltering)
82var extensions = GetExtensions(document.Project);
88public static ImmutableArray<TExtension> FilterExtensions(TextDocument document, ImmutableArray<TExtension> extensions, Func<TExportAttribute, ExtensionInfo> getExtensionInfoForFiltering)
139private ImmutableArray<TExtension> GetExtensions(string language)
142private ImmutableArray<TExtension> CreateExtensions(string language)
145if (TryGetExtensionsFromReference(this.Reference, out var extensions))
170var languages = GetLanguages(attribute);
Completion\CompletionChange.cs (8)
28public ImmutableArray<TextChange> TextChanges { get; }
46TextChange textChange, ImmutableArray<TextChange> textChanges, int? newPosition, bool includesCommitCharacter)
52TextChange textChange, ImmutableArray<TextChange> textChanges, int? newPosition, bool includesCommitCharacter, ImmutableDictionary<string, string> properties)
74/// are multiple entries, <see cref="Create(TextChange, ImmutableArray{TextChange}, int?, bool)"/> must be called instead,
79ImmutableArray<TextChange> textChanges,
102ImmutableArray<TextChange> textChanges,
111ImmutableArray<TextChange> textChanges,
128public CompletionChange WithTextChanges(ImmutableArray<TextChange> textChanges)
Completion\CompletionItem.cs (21)
25private readonly ImmutableArray<KeyValuePair<string, string>> _properties;
57internal ImmutableArray<string> AdditionalFilterTexts { get; init; } = [];
106internal ImmutableArray<KeyValuePair<string, string>> GetProperties()
145public ImmutableArray<string> Tags { get; }
182ImmutableArray<KeyValuePair<string, string>> properties,
183ImmutableArray<string> tags,
220ImmutableArray<string> tags,
232ImmutableArray<string> tags,
246ImmutableArray<string> tags,
262ImmutableArray<string> tags = default,
282ImmutableArray<KeyValuePair<string, string>> properties = default,
283ImmutableArray<string> tags = default,
323ImmutableArray<string> tags,
349Optional<ImmutableArray<KeyValuePair<string, string>>> properties = default,
350Optional<ImmutableArray<string>> tags = default,
356Optional<ImmutableArray<string>> additionalFilterTexts = default)
363var newProperties = properties.HasValue ? properties.Value : _properties;
364var newTags = tags.HasValue ? tags.Value : Tags;
457internal CompletionItem WithProperties(ImmutableArray<KeyValuePair<string, string>> properties)
469public CompletionItem WithTags(ImmutableArray<string> tags)
507internal CompletionItem WithAdditionalFilterTexts(ImmutableArray<string> additionalFilterTexts)
Completion\CompletionItemRules.cs (16)
51public ImmutableArray<CharacterSetModificationRule> FilterCharacterRules { get; }
56public ImmutableArray<CharacterSetModificationRule> CommitCharacterRules { get; }
80ImmutableArray<CharacterSetModificationRule> filterCharacterRules,
81ImmutableArray<CharacterSetModificationRule> commitCharacterRules,
105ImmutableArray<CharacterSetModificationRule> filterCharacterRules,
106ImmutableArray<CharacterSetModificationRule> commitCharacterRules,
128ImmutableArray<CharacterSetModificationRule> filterCharacterRules = default,
129ImmutableArray<CharacterSetModificationRule> commitCharacterRules = default,
162ImmutableArray<CharacterSetModificationRule> filterCharacterRules,
163ImmutableArray<CharacterSetModificationRule> commitCharacterRules,
173Optional<ImmutableArray<CharacterSetModificationRule>> filterRules = default,
174Optional<ImmutableArray<CharacterSetModificationRule>> commitRules = default,
180var newFilterRules = filterRules.HasValue ? filterRules.Value : FilterCharacterRules;
181var newCommitRules = commitRules.HasValue ? commitRules.Value : CommitCharacterRules;
208public CompletionItemRules WithFilterCharacterRules(ImmutableArray<CharacterSetModificationRule> filterCharacterRules)
220public CompletionItemRules WithCommitCharacterRules(ImmutableArray<CharacterSetModificationRule> commitCharacterRules)
Completion\CompletionRules.cs (8)
29public ImmutableArray<char> DefaultCommitCharacters { get; }
45ImmutableArray<char> defaultCommitCharacters,
66ImmutableArray<char> defaultCommitCharacters,
84ImmutableArray<char> defaultCommitCharacters = default,
99Optional<ImmutableArray<char>> defaultCommitCharacters = default,
105var newDefaultCommitCharacters = defaultCommitCharacters.HasValue ? defaultCommitCharacters.Value : DefaultCommitCharacters;
143public CompletionRules WithDefaultCommitCharacters(ImmutableArray<char> defaultCommitCharacters)
158private static readonly ImmutableArray<char> s_defaultCommitKeys = [' ', '{', '}', '[', ']', '(', ')', '.', ',', ':', ';', '+', '-', '*', '/', '%', '&', '|', '^', '!', '~', '=', '<', '>', '?', '@', '#', '\'', '\"', '\\'];
Completion\CompletionService.ProviderManager.cs (15)
29private readonly Dictionary<ImmutableHashSet<string>, ImmutableArray<CompletionProvider>> _rolesToProviders;
38_rolesToProviders = new Dictionary<ImmutableHashSet<string>, ImmutableArray<CompletionProvider>>(this);
96public ImmutableArray<CompletionProvider> GetCachedProjectCompletionProvidersOrQueueLoadInBackground(Project? project, CompletionOptions options)
113if (ProjectCompletionProvider.TryGetCachedExtensions(project.AnalyzerReferences, out var providers))
120private ImmutableArray<CompletionProvider> GetImportedAndBuiltInProviders(ImmutableHashSet<string>? roles)
126if (!_rolesToProviders.TryGetValue(roles, out var providers))
135ImmutableArray<CompletionProvider> GetImportedAndBuiltInProvidersWorker(ImmutableHashSet<string> roles)
169var allCompletionProviders = FilterProviders(GetImportedAndBuiltInProviders(roles), trigger, options);
170var projectCompletionProviders = FilterProviders(GetCachedProjectCompletionProvidersOrQueueLoadInBackground(project, options), trigger, options);
174private ImmutableArray<CompletionProvider> FilterProviders(
175ImmutableArray<CompletionProvider> providers,
259protected override ImmutableArray<string> GetLanguages(ExportCompletionProviderAttribute exportAttribute)
262protected override bool TryGetExtensionsFromReference(AnalyzerReference reference, out ImmutableArray<CompletionProvider> extensions)
283public ImmutableArray<CompletionProvider> GetImportedAndBuiltInProviders(ImmutableHashSet<string> roles)
288public ImmutableArray<CompletionProvider> GetProjectProviders(Project project)
Completion\CompletionService_GetCompletions.cs (7)
86var triggeredProviders = GetTriggeredProviders(document, providers, caretPosition, options, trigger, roles, text);
129ImmutableArray<CompletionProvider> GetTriggeredProviders(
152static async Task<ImmutableArray<CompletionProvider>> GetAugmentingProvidersAsync(
153Document document, ImmutableArray<CompletionProvider> triggeredProviders, int caretPosition, CompletionTrigger trigger, CompletionOptions options, CancellationToken cancellationToken)
231private static async Task<ImmutableArray<CompletionContext>> ComputeNonEmptyCompletionContextsAsync(
234ImmutableArray<CompletionProvider> providers,
253ImmutableArray<CompletionContext> completionContexts,
Completion\Providers\AbstractDocCommentCompletionProvider.cs (13)
24private static readonly ImmutableArray<string> s_listTagNames = [ListHeaderElementName, TermElementName, ItemElementName, DescriptionElementName];
25private static readonly ImmutableArray<string> s_listHeaderTagNames = [TermElementName, DescriptionElementName];
26private static readonly ImmutableArray<string> s_nestedTagNames = [CElementName, CodeElementName, ParaElementName, ListElementName];
27private static readonly ImmutableArray<string> s_topLevelRepeatableTagNames = [ExceptionElementName, IncludeElementName, PermissionElementName];
28private static readonly ImmutableArray<string> s_topLevelSingleUseTagNames = [SummaryElementName, RemarksElementName, ExampleElementName, CompletionListElementName];
46private static readonly ImmutableArray<(string elementName, string attributeName, string text)> s_attributeMap =
66private static readonly ImmutableArray<string> s_listTypeValues = ["bullet", "number", "table"];
97protected abstract ImmutableArray<string> GetKeywordNames();
102protected abstract ImmutableArray<IParameterSymbol> GetParameters(ISymbol symbol);
213protected ImmutableArray<CompletionItem> GetTopLevelItems(ISymbol? symbol, TSyntax syntax)
261private IEnumerable<CompletionItem> GetParameterItems<TSymbol>(ImmutableArray<TSymbol> symbols, TSyntax syntax, string tagName) where TSymbol : ISymbol
331protected static readonly ImmutableArray<CharacterSetModificationRule> FilterRules = [CharacterSetModificationRule.Create(CharacterSetModificationKind.Add, '!', '-', '[')];
335var commitRules = defaultRules.CommitCharacterRules;
Completion\Providers\AbstractSymbolCompletionProvider.cs (20)
30protected abstract Task<ImmutableArray<SymbolAndSelectionInfo>> GetSymbolsAsync(
42ImmutableArray<SymbolAndSelectionInfo> symbols,
50ImmutableArray<ITypeSymbol> inferredTypes,
97private ImmutableArray<CompletionItem> CreateItems(
99ImmutableArray<SymbolAndSelectionInfo> symbols,
182ImmutableArray<SymbolAndSelectionInfo> symbolList,
199ImmutableArray<SymbolAndSelectionInfo> symbols,
224ImmutableArray<SymbolAndSelectionInfo> symbols,
279var regularItems = await GetItemsAsync(completionContext, syntaxContext, document, position, options, cancellationToken).ConfigureAwait(false);
289private async Task<ImmutableArray<CompletionItem>> GetItemsAsync(
297var relatedDocumentIds = document.GetLinkedDocumentIds();
301var itemsForCurrentDocument = await GetSymbolsAsync(completionContext, syntaxContext, position, options, cancellationToken).ConfigureAwait(false);
333ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)> linkedContextSymbolLists)
357private async Task<ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)>> GetPerContextSymbolsAsync(
362return await ProducerConsumer<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)>.RunParallelAsync(
385protected async Task<ImmutableArray<SymbolAndSelectionInfo>> TryGetSymbolsForContextAsync(
402ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)> linkedContextSymbolLists)
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.cs (8)
52ImmutableArray<ITypeSymbol> targetTypesSymbols,
107ImmutableArray<ITypeSymbol> targetTypes,
126var items = ConvertSymbolsToCompletionItems(compilation, extensionMethodSymbols, targetTypes, cancellationToken);
135var latestProjects = CompletionUtilities.GetDistinctProjectsFromLatestSolutionSnapshot(projects);
142private static ImmutableArray<SerializableImportCompletionItem> ConvertSymbolsToCompletionItems(
143Compilation compilation, ImmutableArray<IMethodSymbol> extentsionMethodSymbols, ImmutableArray<ITypeSymbol> targetTypeSymbols, CancellationToken cancellationToken)
212Compilation compilation, IMethodSymbol methodSymbol, ImmutableArray<ITypeSymbol> targetTypeSymbols,
Completion\Providers\SymbolCompletionItem.cs (22)
25private static readonly Action<ImmutableArray<ISymbol>, ArrayBuilder<KeyValuePair<string, string>>> s_addSymbolEncoding = AddSymbolEncoding;
26private static readonly Action<ImmutableArray<ISymbol>, ArrayBuilder<KeyValuePair<string, string>>> s_addSymbolInfo = AddSymbolInfo;
32ImmutableArray<ISymbol> symbols,
35Action<ImmutableArray<ISymbol>, ArrayBuilder<KeyValuePair<string, string>>> symbolEncoder,
40ImmutableArray<KeyValuePair<string, string>> properties = default,
41ImmutableArray<string> tags = default,
81private static void AddSymbolEncoding(ImmutableArray<ISymbol> symbols, ArrayBuilder<KeyValuePair<string, string>> properties)
84private static void AddSymbolInfo(ImmutableArray<ISymbol> symbols, ArrayBuilder<KeyValuePair<string, string>> properties)
108public static string EncodeSymbols(ImmutableArray<ISymbol> symbols)
132public static async Task<ImmutableArray<ISymbol>> GetSymbolsAsync(CompletionItem item, Document document, CancellationToken cancellationToken)
145var linkedIds = document.GetLinkedDocumentIds();
187var symbols = await GetSymbolsAsync(item, document, cancellationToken).ConfigureAwait(false);
192CompletionItem item, Document document, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, CancellationToken cancellationToken)
271ImmutableArray<ISymbol> symbols,
279ImmutableArray<string> tags = default,
303ImmutableArray<ISymbol> symbols,
313ImmutableArray<KeyValuePair<string, string>> properties = default,
314ImmutableArray<string> tags = default,
327ImmutableArray<ISymbol> symbols,
337ImmutableArray<KeyValuePair<string, string>> properties = default,
338ImmutableArray<string> tags = default,
358CompletionItem item, ImmutableArray<ISymbol> symbols, Document document, SemanticModel semanticModel, SymbolDescriptionOptions options, CancellationToken cancellationToken)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.cs (7)
32protected sealed override ImmutableArray<FixAllScope> SupportedFixAllScopes => AllFixAllScopes;
45if (!ShouldOfferRefactoring(ifStatement, semanticModel, syntaxFactsService, out var analyzer, out var sections, out var target))
74[NotNullWhen(true)] out ImmutableArray<AnalyzedSwitchSection> sections,
92var operations = parentBlock.Operations;
123bool supportsOrPattern, ImmutableArray<AnalyzedSwitchSection> sections)
181ImmutableArray<TextSpan> fixAllSpans,
248if (!ShouldOfferRefactoring(ifStatement, semanticModel, syntaxFactsService, out var analyzer, out var sections, out var target))
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (31)
93var recordChildActions = CreateChildActions(document, textSpan, tupleExprOrTypeNode, fields, capturedTypeParameters, isRecord: true);
105var childActions = CreateChildActions(document, textSpan, tupleExprOrTypeNode, fields, capturedTypeParameters, isRecord: false);
118ImmutableArray<CodeAction> CreateChildActions(
122ImmutableArray<IFieldSymbol> fields,
123ImmutableArray<ITypeParameterSymbol> capturedTypeParameters,
303var documentsToUpdate = await GetDocumentsToUpdateAsync(
326ImmutableArray<DocumentToUpdate> documentsToUpdate,
328string structName, ImmutableArray<ITypeParameterSymbol> typeParameters,
405ImmutableArray<ITypeParameterSymbol> typeParameters, bool addRenameAnnotation)
418private static async Task<ImmutableArray<DocumentToUpdate>> GetDocumentsToUpdateAsync(
435private static async Task<ImmutableArray<DocumentToUpdate>> GetDocumentsToUpdateForDependentProjectAsync(
477private static async Task<ImmutableArray<DocumentToUpdate>> GetDocumentsToUpdateForContainingProjectAsync(
489private static async Task AddDocumentsToUpdateForProjectAsync(Project project, ArrayBuilder<DocumentToUpdate> result, ImmutableArray<string> tupleFieldNames, CancellationToken cancellationToken)
504private static bool InfoProbablyContainsTupleFieldNames(SyntaxTreeIndex info, ImmutableArray<string> tupleFieldNames)
517private static async Task<ImmutableArray<DocumentToUpdate>> GetDocumentsToUpdateForContainingTypeAsync(
542private static ImmutableArray<DocumentToUpdate> GetDocumentsToUpdateForContainingMember(
616string structName, ImmutableArray<ITypeParameterSymbol> typeParameters,
636string typeName, ImmutableArray<ITypeParameterSymbol> typeParameters,
671StringComparer comparer, ImmutableArray<IFieldSymbol> fields1, ImmutableArray<IFieldSymbol> fields2)
690SyntaxEditor editor, string typeName, ImmutableArray<ITypeParameterSymbol> typeParameters,
750string typeName, ImmutableArray<ITypeParameterSymbol> typeParameters,
780SyntaxEditor editor, string typeName, ImmutableArray<ITypeParameterSymbol> typeParameters,
799Document document, Scope scope, bool isRecord, string structName, ImmutableArray<ITypeParameterSymbol> typeParameters,
804var fields = tupleType.TupleElements;
824document, namedTypeWithoutMembers, ImmutableArray<ISymbol>.CastUp(fields),
828ImmutableArray<ISymbol>.CastUp(fields), cancellationToken).ConfigureAwait(false);
857var assignments = tupleType.TupleElements.Select(
911ImmutableArray<ITypeParameterSymbol> typeParameters, ImmutableArray<ISymbol> members)
923ImmutableArray<IFieldSymbol> fields, SyntaxGenerator generator,
Diagnostics\IDiagnosticAnalyzerService.cs (8)
49Task<ImmutableArray<DiagnosticData>> GetCachedDiagnosticsAsync(Workspace workspace, ProjectId? projectId, DocumentId? documentId, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken);
79Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, Func<Project, DocumentId?, IReadOnlyList<DocumentId>>? getDocumentIds, bool includeSuppressedDiagnostics, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken);
98Task<ImmutableArray<DiagnosticData>> GetProjectDiagnosticsForIdsAsync(Solution solution, ProjectId? projectId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeSuppressedDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken);
108Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForSpanAsync(
126public static Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForSpanAsync(this IDiagnosticAnalyzerService service,
137public static Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForSpanAsync(this IDiagnosticAnalyzerService service,
152public static Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForSpanAsync(this IDiagnosticAnalyzerService service,
166public static Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForIdsAsync(
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (51)
126protected abstract IEnumerable<SequenceEdit> GetSyntaxSequenceEdits(ImmutableArray<SyntaxNode> oldNodes, ImmutableArray<SyntaxNode> newNodes);
517ImmutableArray<ActiveStatementLineSpan> newActiveStatementSpans,
648var newExceptionRegions = ImmutableArray.CreateBuilder<ImmutableArray<SourceFileSpan>>(oldActiveStatements.Length);
785ImmutableArray<UnmappedActiveStatement> oldActiveStatements,
786ImmutableArray<ActiveStatementLineSpan> newActiveStatementSpans,
787[In, Out] ImmutableArray<ActiveStatement>.Builder newActiveStatements,
788[In, Out] ImmutableArray<ImmutableArray<SourceFileSpan>>.Builder newExceptionRegions,
941ImmutableArray<UnmappedActiveStatement> oldActiveStatements,
942ImmutableArray<ActiveStatementLineSpan> newActiveStatementSpans,
944[Out] ImmutableArray<ActiveStatement>.Builder newActiveStatements,
945[Out] ImmutableArray<ImmutableArray<SourceFileSpan>>.Builder newExceptionRegions,
1307private static bool TryGetTrackedStatement(ImmutableArray<ActiveStatementLineSpan> activeStatementSpans, ActiveStatementId id, SourceText text, MemberBody body, [NotNullWhen(true)] out SyntaxNode? trackedStatement, out int trackedStatementPart)
1360ImmutableArray<ImmutableArray<SourceFileSpan>>.Builder newExceptionRegions,
2367protected static bool ParameterTypesEquivalent(ImmutableArray<IParameterSymbol> oldParameters, ImmutableArray<IParameterSymbol> newParameters, bool exact)
2374protected static bool CustomModifiersEquivalent(ImmutableArray<CustomModifier> oldModifiers, ImmutableArray<CustomModifier> newModifiers, bool exact)
2402protected static bool TypesEquivalent<T>(ImmutableArray<T> oldTypes, ImmutableArray<T> newTypes, bool exact) where T : ITypeSymbol
2418protected static bool TypeParametersEquivalent(ImmutableArray<ITypeParameterSymbol> oldParameters, ImmutableArray<ITypeParameterSymbol> newParameters, bool exact)
2496private async Task<ImmutableArray<SemanticEditInfo>> AnalyzeSemanticsAsync(
2499ImmutableArray<UnmappedActiveStatement> oldActiveStatements,
2500ImmutableArray<ActiveStatementLineSpan> newActiveStatementSpans,
2507ImmutableArray<ActiveStatement>.Builder newActiveStatements,
2508ImmutableArray<ImmutableArray<SourceFileSpan>>.Builder newExceptionRegions,
3816private ImmutableArray<(ISymbol? oldSymbol, ISymbol? newSymbol, EditKind editKind)> GetNamespaceSymbolEdits(
4531ImmutableArray<AttributeData>? oldAttributes,
4532ImmutableArray<AttributeData> newAttributes,
4600static void FindChangedAttributes(ImmutableArray<AttributeData>? oldAttributes, ImmutableArray<AttributeData> newAttributes, ArrayBuilder<AttributeData> changedAttributes)
4614static AttributeData? FindMatch(AttributeData attribute, ImmutableArray<AttributeData>? oldAttributes)
5634out var oldInLambdaCaptures,
5635out var oldPrimaryCaptures);
5643out var newInLambdaCaptures,
5644out var newPrimaryCaptures);
5858out ImmutableArray<VariableCapture> variablesCapturedInLambdas,
5859out ImmutableArray<IParameterSymbol> primaryParametersCapturedViaThis)
5935ImmutableArray<IParameterSymbol> oldPrimaryCaptures,
5937ImmutableArray<IParameterSymbol> newPrimaryCaptures,
5986ImmutableArray<VariableCapture> captures,
5998void MarkVariables(ImmutableArray<ISymbol> variables)
6013private static void BuildIndex(Dictionary<VariableCaptureKey, int> index, ImmutableArray<VariableCapture> array)
6032protected abstract SyntaxNode? GetSymbolDeclarationSyntax(ISymbol symbol, Func<ImmutableArray<SyntaxReference>, SyntaxReference?> selector, CancellationToken cancellationToken);
6132ImmutableArray<VariableCapture> oldCaptures,
6135ImmutableArray<VariableCapture> newCaptures,
EditAndContinue\ActiveStatementsMap.cs (15)
22new(ImmutableDictionary<string, ImmutableArray<ActiveStatement>>.Empty,
35public readonly IReadOnlyDictionary<string, ImmutableArray<ActiveStatement>> DocumentPathMap;
45private ImmutableDictionary<SyntaxTree, ImmutableArray<UnmappedActiveStatement>> _lazyOldDocumentActiveStatements;
48IReadOnlyDictionary<string, ImmutableArray<ActiveStatement>> documentPathMap,
56_lazyOldDocumentActiveStatements = ImmutableDictionary<SyntaxTree, ImmutableArray<UnmappedActiveStatement>>.Empty;
60ImmutableArray<ManagedActiveStatementDebugInfo> debugInfos,
61ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>> remapping)
127private static bool TryGetUpToDateSpan(ManagedActiveStatementDebugInfo activeStatementInfo, ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>> remapping, out LinePositionSpan newSpan)
146if (remapping.TryGetValue(instructionId.Method, out var regionsInMethod))
172internal async ValueTask<ImmutableArray<UnmappedActiveStatement>> GetOldActiveStatementsAsync(IEditAndContinueAnalyzer analyzer, Document oldDocument, CancellationToken cancellationToken)
180internal ImmutableArray<UnmappedActiveStatement> GetOldActiveStatements(IEditAndContinueAnalyzer analyzer, SyntaxTree oldSyntaxTree, SourceText oldText, SyntaxNode oldRoot, CancellationToken cancellationToken)
190private ImmutableArray<UnmappedActiveStatement> CalculateOldActiveStatementsAndExceptionRegions(IEditAndContinueAnalyzer analyzer, SyntaxTree oldTree, SourceText oldText, SyntaxNode oldRoot, CancellationToken cancellationToken)
219if (DocumentPathMap.TryGetValue(targetPath, out var activeStatementsInMappedFile))
241if (DocumentPathMap.TryGetValue(oldTree.FilePath, out var activeStatements))
297ImmutableArray<TElement> spans,
EditAndContinue\CommittedSolution.cs (9)
110internal ImmutableArray<(DocumentId id, DocumentState state)> Test_GetDocumentStates()
127public ImmutableArray<DocumentId> GetDocumentIdsWithFilePath(string path)
313var maybePdbHasDocument = TryReadSourceFileChecksumFromPdb(document, out var requiredChecksum, out var checksumAlgorithm);
322SourceText sourceText, string filePath, Document? currentDocument, IPdbMatchingSourceTextProvider sourceTextProvider, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm, CancellationToken cancellationToken)
389if (TryReadSourceFileChecksumFromPdb(debugInfoReader, sourceFilePath, out var requiredChecksum, out var checksumAlgorithm) == true &&
436private static bool IsMatchingSourceText(SourceText sourceText, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm)
439private static Optional<SourceText?> TryGetPdbMatchingSourceTextFromDisk(string sourceFilePath, Encoding? encoding, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm)
470private bool? TryReadSourceFileChecksumFromPdb(Document document, out ImmutableArray<byte> requiredChecksum, out SourceHashAlgorithm checksumAlgorithm)
494private static bool? TryReadSourceFileChecksumFromPdb(EditAndContinueMethodDebugInfoReader debugInfoReader, string sourceFilePath, out ImmutableArray<byte> checksum, out SourceHashAlgorithm algorithm)
EditAndContinue\DebuggingSession.cs (17)
96private ImmutableArray<ManagedHotReloadUpdate> _lastModuleUpdatesLog;
120nonRemappableRegions: ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>>.Empty,
207internal void RestartEditSession(ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>>? nonRemappableRegions, bool? inBreakState)
278out ImmutableArray<Diagnostic> errors,
328out ImmutableArray<Diagnostic> errors,
396private static ImmutableDictionary<K, ImmutableArray<V>> GroupToImmutableDictionary<K, V>(IEnumerable<IGrouping<K, V>> items)
399var builder = ImmutableDictionary.CreateBuilder<K, ImmutableArray<V>>();
409public async ValueTask<ImmutableArray<Diagnostic>> GetDocumentDiagnosticsAsync(Document document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
543ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>>? newNonRemappableRegions = null;
585public void UpdateBaselines(Solution solution, ImmutableArray<ProjectId> rebuiltProjects)
633public async ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken)
740using var _4 = ArrayBuilder<ImmutableArray<ActiveStatementSpan>>.GetInstance(out var spans);
784public async ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(TextDocument mappedDocument, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
812var newDocumentActiveStatementSpans = await activeStatementSpanProvider(mappedDocument.Id, mappedDocument.FilePath, cancellationToken).ConfigureAwait(false);
896public ImmutableArray<IDisposable> GetBaselineModuleReaders()
EditAndContinue\DocumentAnalysisResults.cs (13)
30public ImmutableArray<ActiveStatement> ActiveStatements { get; }
36public ImmutableArray<RudeEditDiagnostic> RudeEdits { get; }
46public ImmutableArray<SemanticEditInfo> SemanticEdits { get; }
69public ImmutableArray<ImmutableArray<SourceFileSpan>> ExceptionRegions { get; }
79public ImmutableArray<SequencePointUpdates> LineEdits { get; }
110ImmutableArray<ActiveStatement> activeStatementsOpt,
111ImmutableArray<RudeEditDiagnostic> rudeEdits,
113ImmutableArray<SemanticEditInfo> semanticEditsOpt,
114ImmutableArray<ImmutableArray<SourceFileSpan>> exceptionRegionsOpt,
115ImmutableArray<SequencePointUpdates> lineEditsOpt,
191public static DocumentAnalysisResults SyntaxErrors(DocumentId documentId, string filePath, ImmutableArray<RudeEditDiagnostic> rudeEdits, Diagnostic? syntaxError, TimeSpan elapsedTime, bool hasChanges)
EditAndContinue\EditAndContinueDocumentAnalysesCache.cs (6)
27private readonly Dictionary<DocumentId, (AsyncLazy<DocumentAnalysisResults> results, Project baseProject, Document document, ImmutableArray<ActiveStatementLineSpan> activeStatementSpans)> _analyses = [];
31public async ValueTask<ImmutableArray<DocumentAnalysisResults>> GetDocumentAnalysesAsync(
99private async Task<ImmutableArray<ActiveStatementLineSpan>> GetLatestUnmappedActiveStatementSpansAsync(Document? oldDocument, Document newDocument, ActiveStatementSpanProvider newActiveStatementSpanProvider, CancellationToken cancellationToken)
119var newMappedDocumentSpans = await newActiveStatementSpanProvider(newDocument.Id, newDocument.FilePath, cancellationToken).ConfigureAwait(false);
127using var _1 = PooledDictionary<string, ImmutableArray<ActiveStatementSpan>>.GetInstance(out var mappedSpansByDocumentPath);
163private AsyncLazy<DocumentAnalysisResults> GetDocumentAnalysisNoLock(Project baseProject, Document document, ImmutableArray<ActiveStatementLineSpan> activeStatementSpans)
EditAndContinue\EditAndContinueMethodDebugInfoReader.cs (6)
39public abstract bool TryGetDocumentChecksum(string documentPath, out ImmutableArray<byte> checksum, out Guid algorithmId);
87ImmutableArray<byte> localSlots, lambdaMap, stateMachineSuspensionPoints;
108public override bool TryGetDocumentChecksum(string documentPath, out ImmutableArray<byte> checksum, out Guid algorithmId)
127private ImmutableArray<byte> GetCdiBytes(MethodDefinitionHandle methodHandle, Guid kind)
155public override bool TryGetDocumentChecksum(string documentPath, out ImmutableArray<byte> checksum, out Guid algorithmId)
225internal static bool TryGetDocumentChecksum(ISymUnmanagedReader5 symReader, string documentPath, out ImmutableArray<byte> checksum, out Guid algorithmId)
EditAndContinue\EditAndContinueService.cs (13)
45public ImmutableArray<DiagnosticData> ApplyChangesDiagnostics => [];
119private ImmutableArray<DebuggingSession> GetActiveDebuggingSessions()
127private ImmutableArray<DebuggingSession> GetDiagnosticReportingDebuggingSessions()
139ImmutableArray<DocumentId> captureMatchingDocuments,
184private static IEnumerable<(Project, IEnumerable<DocumentState>)> GetDocumentStatesGroupedByProject(Solution solution, ImmutableArray<DocumentId> documentIds)
213public ValueTask<ImmutableArray<Diagnostic>> GetDocumentDiagnosticsAsync(Document document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
253public void UpdateBaselines(DebuggingSessionId sessionId, Solution solution, ImmutableArray<ProjectId> rebuiltProjects)
261public ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(DebuggingSessionId sessionId, Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken)
272public ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(DebuggingSessionId sessionId, TextDocument mappedDocument, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
277return ValueTaskFactory.FromResult(ImmutableArray<ActiveStatementSpan>.Empty);
296public ImmutableArray<DebuggingSession> GetActiveDebuggingSessions()
EditAndContinue\EditSession.cs (31)
63internal readonly ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>> NonRemappableRegions;
90ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>> nonRemappableRegions,
151public async Task<ImmutableArray<Diagnostic>?> GetModuleDiagnosticsAsync(Guid mvid, Project oldProject, Project newProject, ImmutableArray<DocumentAnalysisResults> documentAnalyses, CancellationToken cancellationToken)
163return ImmutableArray<Diagnostic>.Empty;
179private static async IAsyncEnumerable<Location> CreateChangedLocationsAsync(Project oldProject, Project newProject, ImmutableArray<DocumentAnalysisResults> documentAnalyses, [EnumeratorCancellation] CancellationToken cancellationToken)
236var capabilities = await DebuggingSession.DebuggerService.GetCapabilitiesAsync(cancellationToken).ConfigureAwait(false);
250var debugInfos = await DebuggingSession.DebuggerService.GetActiveStatementsAsync(cancellationToken).ConfigureAwait(false);
262var newDocumentIds = newSolution.GetDocumentIdsWithFilePath(sourceFilePath);
526private async Task<(ImmutableArray<DocumentAnalysisResults> results, ImmutableArray<Diagnostic> diagnostics)> AnalyzeDocumentsAsync(
566private static ProjectAnalysisSummary GetProjectAnalysisSummary(ImmutableArray<DocumentAnalysisResults> documentAnalyses)
615ImmutableArray<DocumentAnalysisResults> changedDocumentAnalyses,
655MergePartialEdits(oldCompilation, newCompilation, allEdits, out var mergedEdits, out var addedSymbols, cancellationToken);
674out ImmutableArray<SemanticEdit> mergedEdits,
808using var _2 = ArrayBuilder<(Guid ModuleId, ImmutableArray<(ManagedModuleMethodId Method, NonRemappableRegion Region)>)>.GetInstance(out var nonRemappableRegions);
812using var _6 = ArrayBuilder<(DocumentId, ImmutableArray<RudeEditDiagnostic>)>.GetInstance(out var documentsWithRudeEdits);
960var projectBaselines = DebuggingSession.GetOrCreateEmitBaselines(mvid, oldProject, oldCompilation, out var createBaselineErrors, out var baselineAccessLock);
994var requiredCapabilities = projectChanges.RequiredCapabilities.ToStringArray();
999var emitDiagnostics = ImmutableArray<Diagnostic>.Empty;
1072out var activeStatementsInUpdatedMethods,
1073out var moduleNonRemappableRegions,
1074out var exceptionRegionUpdates);
1187ImmutableArray<int> updatedMethodTokens,
1188ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>> previousNonRemappableRegions,
1189ImmutableArray<DocumentActiveStatementChanges> activeStatementsInChangedDocuments,
1190out ImmutableArray<ManagedActiveStatementUpdate> activeStatementsInUpdatedMethods,
1191out ImmutableArray<(ManagedModuleMethodId Method, NonRemappableRegion Region)> nonRemappableRegions,
1192out ImmutableArray<ManagedExceptionRegionUpdate> exceptionRegionUpdates)
1208var newActiveStatementExceptionRegions = newExceptionRegions[i];
EditAndContinue\IEditAndContinueService.cs (7)
22ValueTask<ImmutableArray<Diagnostic>> GetDocumentDiagnosticsAsync(Document document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken);
27void UpdateBaselines(DebuggingSessionId sessionId, Solution solution, ImmutableArray<ProjectId> rebuiltProjects);
29ValueTask<DebuggingSessionId> StartDebuggingSessionAsync(Solution solution, IManagedHotReloadService debuggerService, IPdbMatchingSourceTextProvider sourceTextProvider, ImmutableArray<DocumentId> captureMatchingDocuments, bool captureAllMatchingDocuments, bool reportDiagnostics, CancellationToken cancellationToken);
33ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(DebuggingSessionId sessionId, Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken);
34ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(DebuggingSessionId sessionId, TextDocument document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken);
EditAndContinue\Remote\IRemoteEditAndContinueService.cs (11)
20ValueTask<ImmutableArray<ManagedActiveStatementDebugInfo>> GetActiveStatementsAsync(RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
22ValueTask<ImmutableArray<string>> GetCapabilitiesAsync(RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
25ValueTask<ImmutableArray<ActiveStatementSpan>> GetSpansAsync(RemoteServiceCallbackId callbackId, DocumentId? documentId, string filePath, CancellationToken cancellationToken);
26ValueTask<string?> TryGetMatchingSourceTextAsync(RemoteServiceCallbackId callbackId, string filePath, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm, CancellationToken cancellationToken);
29ValueTask<ImmutableArray<DiagnosticData>> GetDocumentDiagnosticsAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId documentId, CancellationToken cancellationToken);
37ValueTask UpdateBaselinesAsync(Checksum solutionInfo, DebuggingSessionId sessionId, ImmutableArray<ProjectId> rebuiltProjects, CancellationToken cancellationToken);
39ValueTask<DebuggingSessionId> StartDebuggingSessionAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, ImmutableArray<DocumentId> captureMatchingDocuments, bool captureAllMatchingDocuments, bool reportDiagnostics, CancellationToken cancellationToken);
50ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Checksum solutionChecksum, DebuggingSessionId sessionId, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken);
51ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DebuggingSessionId sessionId, DocumentId documentId, CancellationToken cancellationToken);
EditAndContinue\Remote\RemoteEditAndContinueServiceProxy.cs (10)
32public ValueTask<ImmutableArray<ActiveStatementSpan>> GetSpansAsync(RemoteServiceCallbackId callbackId, DocumentId? documentId, string filePath, CancellationToken cancellationToken)
35public ValueTask<string?> TryGetMatchingSourceTextAsync(RemoteServiceCallbackId callbackId, string filePath, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm, CancellationToken cancellationToken)
38public ValueTask<ImmutableArray<ManagedActiveStatementDebugInfo>> GetActiveStatementsAsync(RemoteServiceCallbackId callbackId, CancellationToken cancellationToken)
44public ValueTask<ImmutableArray<string>> GetCapabilitiesAsync(RemoteServiceCallbackId callbackId, CancellationToken cancellationToken)
56public async ValueTask<string?> TryGetMatchingSourceTextAsync(string filePath, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm, CancellationToken cancellationToken)
68public async ValueTask<ImmutableArray<ManagedActiveStatementDebugInfo>> GetActiveStatementsAsync(CancellationToken cancellationToken)
104public async ValueTask<ImmutableArray<string>> GetCapabilitiesAsync(CancellationToken cancellationToken)
124ImmutableArray<DocumentId> captureMatchingDocuments,
154public async ValueTask<ImmutableArray<DiagnosticData>> GetDocumentDiagnosticsAsync(Document document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
169var diagnosticData = await client.TryInvokeAsync<IRemoteEditAndContinueService, ImmutableArray<DiagnosticData>>(
EditAndContinue\SolutionUpdate.cs (17)
13ImmutableArray<(Guid ModuleId, ImmutableArray<(ManagedModuleMethodId Method, NonRemappableRegion Region)>)> nonRemappableRegions,
14ImmutableArray<ProjectBaseline> projectBaselines,
15ImmutableArray<ProjectDiagnostics> diagnostics,
16ImmutableArray<(DocumentId DocumentId, ImmutableArray<RudeEditDiagnostic> Diagnostics)> documentsWithRudeEdits,
20public readonly ImmutableArray<(Guid ModuleId, ImmutableArray<(ManagedModuleMethodId Method, NonRemappableRegion Region)>)> NonRemappableRegions = nonRemappableRegions;
21public readonly ImmutableArray<ProjectBaseline> ProjectBaselines = projectBaselines;
22public readonly ImmutableArray<ProjectDiagnostics> Diagnostics = diagnostics;
23public readonly ImmutableArray<(DocumentId DocumentId, ImmutableArray<RudeEditDiagnostic> Diagnostics)> DocumentsWithRudeEdits = documentsWithRudeEdits;
27ImmutableArray<ProjectDiagnostics> diagnostics,
28ImmutableArray<(DocumentId, ImmutableArray<RudeEditDiagnostic>)> documentsWithRudeEdits,
33ImmutableArray<(Guid, ImmutableArray<(ManagedModuleMethodId, NonRemappableRegion)>)>.Empty,
EmbeddedLanguages\Classification\AbstractEmbeddedLanguageClassificationService.cs (3)
39Document document, ImmutableArray<TextSpan> textSpans, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
52SolutionServices services, Project? project, SemanticModel semanticModel, ImmutableArray<TextSpan> textSpans, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
127var classifiers = _owner.GetServices(_semanticModel, token, _cancellationToken);
EncapsulateField\AbstractEncapsulateFieldService.cs (13)
41protected abstract Task<ImmutableArray<IFieldSymbol>> GetFieldsAsync(Document document, TextSpan span, CancellationToken cancellationToken);
46var fields = await GetFieldsAsync(document, span, cancellationToken).ConfigureAwait(false);
57public async Task<ImmutableArray<CodeAction>> GetEncapsulateFieldCodeActionsAsync(Document document, TextSpan span, CancellationToken cancellationToken)
59var fields = await GetFieldsAsync(document, span, cancellationToken).ConfigureAwait(false);
81private ImmutableArray<CodeAction> EncapsulateAllFields(Document document, ImmutableArray<IFieldSymbol> fields)
93private ImmutableArray<CodeAction> EncapsulateOneField(Document document, IFieldSymbol field)
95var fields = ImmutableArray.Create(field);
110Document document, ImmutableArray<IFieldSymbol> fields,
123var result = await client.TryInvokeAsync<IRemoteEncapsulateFieldService, ImmutableArray<(DocumentId, ImmutableArray<TextChange>)>>(
140private async Task<Solution> EncapsulateFieldsInCurrentProcessAsync(Document document, ImmutableArray<IFieldSymbol> fields, bool updateReferences, CancellationToken cancellationToken)
236var linkedDocumentIds = document.GetLinkedDocumentIds();
ExternalAccess\UnitTesting\API\UnitTestingHotReloadService.cs (22)
18private sealed class DebuggerService(ImmutableArray<string> capabilities) : IManagedHotReloadService
20private readonly ImmutableArray<string> _capabilities = capabilities;
22public ValueTask<ImmutableArray<ManagedActiveStatementDebugInfo>> GetActiveStatementsAsync(CancellationToken cancellationToken)
23=> ValueTaskFactory.FromResult(ImmutableArray<ManagedActiveStatementDebugInfo>.Empty);
28public ValueTask<ImmutableArray<string>> GetCapabilitiesAsync(CancellationToken cancellationToken)
37ImmutableArray<byte> ilDelta,
38ImmutableArray<byte> metadataDelta,
39ImmutableArray<byte> pdbDelta,
40ImmutableArray<int> updatedMethods,
41ImmutableArray<int> updatedTypes)
44public readonly ImmutableArray<byte> ILDelta = ilDelta;
45public readonly ImmutableArray<byte> MetadataDelta = metadataDelta;
46public readonly ImmutableArray<byte> PdbDelta = pdbDelta;
47public readonly ImmutableArray<int> UpdatedMethods = updatedMethods;
48public readonly ImmutableArray<int> UpdatedTypes = updatedTypes;
52(_, _, _) => ValueTaskFactory.FromResult(ImmutableArray<ActiveStatementSpan>.Empty);
54private static readonly ImmutableArray<Update> EmptyUpdate = [];
55private static readonly ImmutableArray<Diagnostic> EmptyDiagnostic = [];
66public async Task StartSessionAsync(Solution solution, ImmutableArray<string> capabilities, CancellationToken cancellationToken)
83/// where <paramref name="commitUpdates"/> was `true` or the one passed to <see cref="StartSessionAsync(Solution, ImmutableArray{string}, CancellationToken)"/>
92public async Task<(ImmutableArray<Update> updates, ImmutableArray<Diagnostic> diagnostics)> EmitSolutionUpdateAsync(Solution solution, bool commitUpdates, CancellationToken cancellationToken)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingIncrementalAnalyzerProcessor.cs (10)
57var lazyAllAnalyzers = new Lazy<ImmutableArray<IUnitTestingIncrementalAnalyzer>>(() => GetIncrementalAnalyzers(_registration, analyzersGetter, onlyHighPriorityAnalyzer: false));
66private static ImmutableArray<IUnitTestingIncrementalAnalyzer> GetIncrementalAnalyzers(UnitTestingRegistration registration, UnitTestingAnalyzersGetter analyzersGetter, bool onlyHighPriorityAnalyzer)
97public ImmutableArray<IUnitTestingIncrementalAnalyzer> Analyzers => _normalPriorityProcessor.Analyzers;
120TextDocument textDocument, ImmutableArray<IUnitTestingIncrementalAnalyzer> analyzers, UnitTestingWorkItem workItem, CancellationToken cancellationToken)
148ImmutableArray<IUnitTestingIncrementalAnalyzer> analyzers,
181private async Task RunBodyAnalyzersAsync(ImmutableArray<IUnitTestingIncrementalAnalyzer> analyzers, UnitTestingWorkItem workItem, Document document, CancellationToken cancellationToken)
269internal void WaitUntilCompletion(ImmutableArray<IUnitTestingIncrementalAnalyzer> analyzers, List<UnitTestingWorkItem> items)
287private readonly Dictionary<(string workspaceKind, SolutionServices services), ImmutableArray<IUnitTestingIncrementalAnalyzer>> _analyzerMap = [];
289public ImmutableArray<IUnitTestingIncrementalAnalyzer> GetOrderedAnalyzers(string workspaceKind, SolutionServices services, bool onlyHighPriorityAnalyzer)
293if (!_analyzerMap.TryGetValue((workspaceKind, services), out var analyzers))
ExtractMethod\MethodExtractor.Analyzer.cs (16)
157var typeParametersInConstraintList = GetMethodTypeParametersInConstraintList(model, variableInfoMap, symbolMap, sortedMap);
158var typeParametersInDeclaration = GetMethodTypeParametersInDeclaration(returnType, sortedMap);
259private (ImmutableArray<VariableInfo> parameters, ITypeSymbol returnType, bool returnsByRef, ImmutableArray<VariableInfo> variablesToUseAsReturnValue, bool unsafeAddressTakenUsed)
270var parameters = GetMethodParameters(variableInfoMap);
280var parameters = MarkVariableInfosToUseAsReturnValueIfPossible(GetMethodParameters(variableInfoMap));
289ITypeSymbol GetReturnType(ImmutableArray<VariableInfo> variablesToUseAsReturnValue)
412private ImmutableArray<VariableInfo> MarkVariableInfosToUseAsReturnValueIfPossible(ImmutableArray<VariableInfo> variableInfo)
445ImmutableArray<VariableInfo> variableInfo,
495private static ImmutableArray<VariableInfo> GetMethodParameters(Dictionary<ISymbol, VariableInfo> variableInfoMap)
619PooledDisposer<PooledHashSet<ISymbol>> GetPooledSymbolSet(ImmutableArray<ISymbol> symbols, out PooledHashSet<ISymbol> symbolSet)
863var constraintTypes = typeParameter.ConstraintTypes;
898private ImmutableArray<ITypeParameterSymbol> GetMethodTypeParametersInConstraintList(
922var constraintTypes = typeParameter.ConstraintTypes;
992private static ImmutableArray<ITypeParameterSymbol> GetMethodTypeParametersInDeclaration(ITypeSymbol returnType, SortedDictionary<int, ITypeParameterSymbol> sortedMap)
FindUsages\DefinitionItem.cs (46)
60public ImmutableArray<string> Tags { get; }
72public ImmutableArray<(string key, string value)> DisplayableProperties { get; }
78public ImmutableArray<TaggedText> NameDisplayParts { get; }
84public ImmutableArray<TaggedText> DisplayParts { get; }
90public ImmutableArray<DocumentSpan> SourceSpans { get; }
95public ImmutableArray<ClassifiedSpansAndHighlightSpan?> ClassifiedSpans { get; }
100public ImmutableArray<AssemblyLocation> MetadataLocations { get; }
117ImmutableArray<string> tags,
118ImmutableArray<TaggedText> displayParts,
119ImmutableArray<TaggedText> nameDisplayParts,
120ImmutableArray<DocumentSpan> sourceSpans,
121ImmutableArray<ClassifiedSpansAndHighlightSpan?> classifiedSpans,
122ImmutableArray<AssemblyLocation> metadataLocations,
124ImmutableArray<(string key, string value)> displayableProperties,
163ImmutableArray<string> tags,
164ImmutableArray<TaggedText> displayParts,
166ImmutableArray<TaggedText> nameDisplayParts = default,
178ImmutableArray<string> tags,
179ImmutableArray<TaggedText> displayParts,
182ImmutableArray<TaggedText> nameDisplayParts = default,
195ImmutableArray<string> tags,
196ImmutableArray<TaggedText> displayParts,
197ImmutableArray<DocumentSpan> sourceSpans,
198ImmutableArray<ClassifiedSpansAndHighlightSpan?> classifiedSpans,
199ImmutableArray<TaggedText> nameDisplayParts,
203tags, displayParts, sourceSpans, classifiedSpans, ImmutableArray<AssemblyLocation>.Empty, nameDisplayParts,
209ImmutableArray<string> tags,
210ImmutableArray<TaggedText> displayParts,
211ImmutableArray<DocumentSpan> sourceSpans,
212ImmutableArray<ClassifiedSpansAndHighlightSpan?> classifiedSpans,
213ImmutableArray<TaggedText> nameDisplayParts = default,
219ImmutableArray<AssemblyLocation>.Empty, nameDisplayParts, displayIfNoReferences: displayIfNoReferences);
223ImmutableArray<string> tags,
224ImmutableArray<TaggedText> displayParts,
225ImmutableArray<DocumentSpan> sourceSpans,
226ImmutableArray<ClassifiedSpansAndHighlightSpan?> classifiedSpans,
227ImmutableArray<AssemblyLocation> metadataLocations,
228ImmutableArray<TaggedText> nameDisplayParts = default,
230ImmutableArray<(string key, string value)> displayableProperties = default,
244ImmutableArray<string> tags,
245ImmutableArray<TaggedText> displayParts,
246ImmutableArray<TaggedText> originationParts,
255ImmutableArray<string> tags,
256ImmutableArray<TaggedText> displayParts,
257ImmutableArray<TaggedText> nameDisplayParts = default,
258ImmutableArray<AssemblyLocation> metadataLocations = default,
FindUsages\DefinitionItemFactory.cs (18)
43ImmutableArray<Location> locations,
49var sourceLocations = GetSourceLocations(definition, locations, solution, includeHiddenLocations);
69var sourceLocations = GetSourceLocations(definition, definition.Locations, solution, includeHiddenLocations);
70var classifiedSpans = await ClassifyDocumentSpansAsync(classificationOptions, sourceLocations, cancellationToken).ConfigureAwait(false);
87var sourceLocations = GetSourceLocations(definition, locations, solution, includeHiddenLocations);
88var classifiedSpans = await ClassifyDocumentSpansAsync(classificationOptions, sourceLocations, cancellationToken).ConfigureAwait(false);
94ImmutableArray<DocumentSpan> sourceLocations,
95ImmutableArray<ClassifiedSpansAndHighlightSpan?> classifiedSpans,
113var displayParts = GetDisplayParts(definition);
114var nameDisplayParts = definition.ToDisplayParts(s_namePartsFormat).ToTaggedText();
116var tags = GlyphTags.GetTags(definition.GetGlyph());
122var metadataLocations = GetMetadataLocations(definition, solution, out var originatingProjectId);
140var displayableProperties = AbstractReferenceFinder.GetAdditionalFindUsagesProperties(definition);
163internal static ImmutableArray<AssemblyLocation> GetMetadataLocations(ISymbol definition, Solution solution, out ProjectId? originatingProjectId)
223private static ImmutableArray<DocumentSpan> GetSourceLocations(ISymbol definition, ImmutableArray<Location> locations, Solution solution, bool includeHiddenLocations)
247private static ValueTask<ImmutableArray<ClassifiedSpansAndHighlightSpan?>> ClassifyDocumentSpansAsync(OptionsProvider<ClassificationOptions> optionsProvider, ImmutableArray<DocumentSpan> unclassifiedSpans, CancellationToken cancellationToken)
FindUsages\IRemoteFindUsagesService.cs (18)
34ValueTask OnReferencesFoundAsync(RemoteServiceCallbackId callbackId, ImmutableArray<SerializableSourceReferenceItem> references, CancellationToken cancellationToken);
75public ValueTask OnReferencesFoundAsync(RemoteServiceCallbackId callbackId, ImmutableArray<SerializableSourceReferenceItem> references, CancellationToken cancellationToken)
133public async ValueTask OnReferencesFoundAsync(ImmutableArray<SerializableSourceReferenceItem> references, CancellationToken cancellationToken)
145ImmutableArray<SerializableSourceReferenceItem> references, [EnumeratorCancellation] CancellationToken cancellationToken)
186ImmutableArray<string> tags,
187ImmutableArray<TaggedText> displayParts,
188ImmutableArray<TaggedText> nameDisplayParts,
189ImmutableArray<SerializableDocumentSpan> sourceSpans,
190ImmutableArray<AssemblyLocation> metadataLocations,
192ImmutableArray<(string key, string value)> displayableProperties,
199public readonly ImmutableArray<string> Tags = tags;
202public readonly ImmutableArray<TaggedText> DisplayParts = displayParts;
205public readonly ImmutableArray<TaggedText> NameDisplayParts = nameDisplayParts;
208public readonly ImmutableArray<SerializableDocumentSpan> SourceSpans = sourceSpans;
211public readonly ImmutableArray<AssemblyLocation> MetadataLocations = metadataLocations;
217public readonly ImmutableArray<(string key, string value)> DisplayableProperties = displayableProperties;
281ImmutableArray<(string key, string value)> additionalProperties)
296public readonly ImmutableArray<(string key, string value)> AdditionalProperties = additionalProperties;
GenerateEqualsAndGetHashCodeFromMembers\AbstractGenerateEqualsAndGetHashCodeService.cs (10)
25ImmutableArray<SyntaxNode> statements, out ImmutableArray<SyntaxNode> wrappedStatements);
39Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members,
52ImmutableArray<ISymbol> members, INamedTypeSymbol constructedEquatableType, CancellationToken cancellationToken)
119ImmutableArray<ISymbol> members, CancellationToken cancellationToken)
129INamedTypeSymbol namedType, ImmutableArray<ISymbol> members)
131var statements = CreateGetHashCodeStatements(
147private ImmutableArray<SyntaxNode> CreateGetHashCodeStatements(
149INamedTypeSymbol namedType, ImmutableArray<ISymbol> members)
177if (TryWrapWithUnchecked(statements, out var wrappedStatements))
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (6)
169public async Task<ImmutableArray<CodeAction>> GenerateEqualsAndGetHashCodeFromMembersAsync(
200private async Task<ImmutableArray<CodeAction>> CreateActionsAsync(
201Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> selectedMembers,
241Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members,
258Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members,
295Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members,
GenerateEqualsAndGetHashCodeFromMembers\IGenerateEqualsAndGetHashCodeService.cs (3)
29Task<IMethodSymbol> GenerateEqualsMethodAsync(Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members, string? localNameOpt, CancellationToken cancellationToken);
41Task<IMethodSymbol> GenerateIEquatableEqualsMethodAsync(Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members, INamedTypeSymbol constructedEquatableType, CancellationToken cancellationToken);
50Task<IMethodSymbol> GenerateGetHashCodeMethodAsync(Document document, INamedTypeSymbol namedType, ImmutableArray<ISymbol> members, CancellationToken cancellationToken);
InheritanceMargin\AbstractInheritanceMarginService_Helpers.cs (37)
25using SymbolAndLineNumberArray = ImmutableArray<(ISymbol symbol, int lineNumber)>;
43private static async ValueTask<ImmutableArray<InheritanceMarginItem>> GetSymbolInheritanceChainItemsAsync(
46SymbolAndLineNumberArray symbolAndLineNumbers,
76private async ValueTask<(Project remapped, SymbolAndLineNumberArray symbolAndLineNumbers)> GetMemberSymbolsAsync(
82var allDeclarationNodes = GetMembers(root.DescendantNodes(spanToSearch));
122return (document.Project, SymbolAndLineNumberArray.Empty);
125private async Task<ImmutableArray<InheritanceMarginItem>> GetInheritanceMarginItemsInProcessAsync(
157private async Task<ImmutableArray<InheritanceMarginItem>> GetGlobalImportsItemsAsync(
289var allBaseSymbols = BaseTypeFinder.FindBaseTypesAndInterfaces(memberSymbol);
303var allDerivedSymbols = await GetDerivedTypesAndImplementationsAsync(
351var allImplementingSymbols = await GetImplementingSymbolsForTypeMemberAsync(solution, memberSymbol, cancellationToken).ConfigureAwait(false);
375var overriddenSymbols = GetOverriddenSymbols(memberSymbol, allowLooseMatch: true);
378var implementedSymbols = GetImplementedSymbolsForTypeMember(memberSymbol, overriddenSymbols);
403ImmutableArray<ISymbol> baseSymbols,
404ImmutableArray<ISymbol> derivedTypesSymbols,
425var nonNullBaseSymbolItems = GetNonNullTargetItems(baseSymbolItems);
426var nonNullDerivedTypeItems = GetNonNullTargetItems(derivedTypeItems);
440ImmutableArray<ISymbol> implementingMembers,
452var nonNullImplementedMemberItems = GetNonNullTargetItems(implementedMemberItems);
465ImmutableArray<ISymbol> baseSymbols,
466ImmutableArray<ISymbol> derivedTypesSymbols,
489var nonNullBaseSymbolItems = GetNonNullTargetItems(baseSymbolItems);
490var nonNullDerivedTypeItems = GetNonNullTargetItems(derivedTypeItems);
504ImmutableArray<ISymbol> implementedMembers,
505ImmutableArray<ISymbol> overridingMembers,
506ImmutableArray<ISymbol> overriddenMembers,
536var nonNullImplementedMemberItems = GetNonNullTargetItems(implementedMemberItems);
537var nonNullOverriddenMemberItems = GetNonNullTargetItems(overriddenMemberItems);
538var nonNullOverridingMemberItems = GetNonNullTargetItems(overridingMemberItems);
584private static ImmutableArray<ISymbol> GetImplementedSymbolsForTypeMember(
586ImmutableArray<ISymbol> overriddenSymbols)
616private static async Task<ImmutableArray<ISymbol>> GetImplementingSymbolsForTypeMemberAsync(
651private static ImmutableArray<ISymbol> GetOverriddenSymbols(ISymbol memberSymbol, bool allowLooseMatch)
670private static async Task<ImmutableArray<INamedTypeSymbol>> GetDerivedTypesAndImplementationsAsync(
708var locations = symbol.Locations;
748private static ImmutableArray<InheritanceTargetItem> GetNonNullTargetItems(ImmutableArray<InheritanceTargetItem?> inheritanceTargetItems)
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (20)
49protected sealed override Task<ImmutableArray<CodeAction>> GetRefactoringsForAllParametersAsync(
51ImmutableArray<SyntaxNode> listOfParameterNodes, TextSpan parameterSpan,
57protected sealed override async Task<ImmutableArray<CodeAction>> GetRefactoringsForSingleParameterAsync(
83var rules = await document.GetNamingRulesAsync(cancellationToken).ConfigureAwait(false);
102private async Task<ImmutableArray<CodeAction>> HandleNoExistingFieldOrPropertyAsync(
108ImmutableArray<NamingRule> rules,
159ImmutableArray<NamingRule> rules,
165var parameters = GetParametersWithoutAssociatedMembers(blockStatement, rules, method);
192ImmutableArray<NamingRule> rules,
213private static ImmutableArray<IParameterSymbol> GetParametersWithoutAssociatedMembers(
215ImmutableArray<NamingRule> rules,
236private ImmutableArray<CodeAction> HandleExistingFieldOrProperty(
276ImmutableArray<NamingRule> rules)
278var parameterNameParts = IdentifierNameParts.CreateIdentifierNameParts(parameter, rules).BaseNameParts;
312ImmutableArray<NamingRule> rules)
314var parameterNameParts = IdentifierNameParts.CreateIdentifierNameParts(parameter, rules).BaseNameParts;
360ImmutableArray<IParameterSymbol> parameters,
361ImmutableArray<ISymbol> fieldsOrProperties,
615Document document, IParameterSymbol parameter, IBlockOperation? blockStatement, ImmutableArray<NamingRule> rules, ImmutableArray<string> parameterWords, CancellationToken cancellationToken)
InlineHints\InlineHint.cs (9)
17public readonly ImmutableArray<TaggedText> DisplayParts;
20private readonly Func<Document, CancellationToken, Task<ImmutableArray<TaggedText>>>? _getDescriptionAsync;
24ImmutableArray<TaggedText> displayParts,
25Func<Document, CancellationToken, Task<ImmutableArray<TaggedText>>>? getDescriptionAsync = null)
32ImmutableArray<TaggedText> displayParts,
34Func<Document, CancellationToken, Task<ImmutableArray<TaggedText>>>? getDescriptionAsync = null)
41ImmutableArray<TaggedText> displayParts,
44Func<Document, CancellationToken, Task<ImmutableArray<TaggedText>>>? getDescriptionAsync = null)
60public Task<ImmutableArray<TaggedText>> GetDescriptionAsync(Document document, CancellationToken cancellationToken)
InlineHints\InlineHintHelpers.cs (3)
19public static Func<Document, CancellationToken, Task<ImmutableArray<TaggedText>>>? GetDescriptionFunction(int position, SymbolKey symbolKey, SymbolDescriptionOptions options)
22private static async Task<ImmutableArray<TaggedText>> GetDescriptionAsync(Document document, int position, SymbolKey symbolKey, SymbolDescriptionOptions options, CancellationToken cancellationToken)
39var documentation = symbol.GetDocumentationParts(semanticModel, position, formatter, cancellationToken);
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (29)
83private readonly Dictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>> _documentationMap = [];
110protected abstract Task<ImmutableArray<SymbolDisplayPart>> GetInitializerSourcePartsAsync(ISymbol symbol);
111protected abstract ImmutableArray<SymbolDisplayPart> ToMinimalDisplayParts(ISymbol symbol, SemanticModel semanticModel, int position, SymbolDisplayFormat format);
150protected virtual ImmutableArray<SymbolDisplayPart> WrapConstraints(ISymbol symbol, ImmutableArray<SymbolDisplayPart> displayParts)
153private async Task AddPartsAsync(ImmutableArray<ISymbol> symbols)
194var parts = formatter.Format(rawXmlText, symbol, _semanticModel, _position, format, CancellationToken);
254var captures = analysis.CapturedInside.Except(analysis.VariablesDeclared).ToImmutableArray();
281public async Task<ImmutableArray<SymbolDisplayPart>> BuildDescriptionAsync(
282ImmutableArray<ISymbol> symbolGroup, SymbolDescriptionGroups groups)
291public async Task<IDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>> BuildDescriptionSectionsAsync(ImmutableArray<ISymbol> symbolGroup)
373private ImmutableArray<SymbolDisplayPart> BuildDescription(SymbolDescriptionGroups groups)
426private IDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>> BuildDescriptionSections()
431var result = new Dictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>(_documentationMap);
435var taggedText = parts.ToTaggedText(TaggedTextStyle.None, _getNavigationHint, includeNavigationHints);
471var displayParts = symbol.IsAnonymousDelegateType()
499var underlyingTypeDisplayParts = symbol.EnumUnderlyingType.ToDisplayParts(s_descriptionStyle.WithMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.UseSpecialTypes));
540var parts = await GetFieldPartsAsync(symbol).ConfigureAwait(false);
558private async Task<ImmutableArray<SymbolDisplayPart>> GetFieldPartsAsync(IFieldSymbol symbol)
562var initializerParts = await GetInitializerSourcePartsAsync(symbol).ConfigureAwait(false);
581var parts = await GetLocalPartsAsync(symbol).ConfigureAwait(false);
590private async Task<ImmutableArray<SymbolDisplayPart>> GetLocalPartsAsync(ILocalSymbol symbol)
594var initializerParts = await GetInitializerSourcePartsAsync(symbol).ConfigureAwait(false);
651var initializerParts = await GetInitializerSourcePartsAsync(symbol).ConfigureAwait(false);
703ImmutableArray<ISymbol> symbolGroup)
720private static int GetOverloadCount(ImmutableArray<ISymbol> symbolGroup)
729ImmutableArray<ITypeParameterSymbol> typeParameters,
804protected ImmutableArray<SymbolDisplayPart> ToMinimalDisplayParts(ISymbol symbol, SymbolDisplayFormat? format = null)
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.cs (7)
28public async Task<string> ToDescriptionStringAsync(SemanticModel semanticModel, int position, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, SymbolDescriptionGroups groups, CancellationToken cancellationToken)
30var parts = await ToDescriptionPartsAsync(semanticModel, position, symbols, options, groups, cancellationToken).ConfigureAwait(false);
34public async Task<ImmutableArray<SymbolDisplayPart>> ToDescriptionPartsAsync(SemanticModel semanticModel, int position, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, SymbolDescriptionGroups groups, CancellationToken cancellationToken)
45public async Task<IDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>> ToDescriptionGroupsAsync(
46SemanticModel semanticModel, int position, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, CancellationToken cancellationToken)
50return SpecializedCollections.EmptyDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>();
LanguageServices\SymbolDisplayService\ISymbolDisplayService.cs (5)
18Task<string> ToDescriptionStringAsync(SemanticModel semanticModel, int position, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, SymbolDescriptionGroups groups = SymbolDescriptionGroups.All, CancellationToken cancellationToken = default);
19Task<ImmutableArray<SymbolDisplayPart>> ToDescriptionPartsAsync(SemanticModel semanticModel, int position, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, SymbolDescriptionGroups groups = SymbolDescriptionGroups.All, CancellationToken cancellationToken = default);
20Task<IDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>> ToDescriptionGroupsAsync(SemanticModel semanticModel, int position, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, CancellationToken cancellationToken = default);
MoveStaticMembers\MoveStaticMembersWithDialogCodeAction.cs (11)
29ImmutableArray<ISymbol> selectedMembers) : CodeActionWithOptions
32private readonly ImmutableArray<ISymbol> _selectedMembers = selectedMembers;
87var typeParameters = ExtractTypeHelpers.GetRequiredTypeParametersForMembers(_selectedType, moveOptions.SelectedMembers);
160ImmutableArray<ISymbol> selectedMembers,
161ImmutableArray<SyntaxNode> oldMemberNodes,
164ImmutableArray<int> typeArgIndices,
220ImmutableArray<int> typeArgIndices,
252ImmutableArray<(ReferenceLocation location, bool isExtensionMethod)> referenceLocations,
255ImmutableArray<int> typeArgIndices,
344private static async Task<ImmutableArray<(ReferenceLocation location, bool isExtension)>> FindMemberReferencesAsync(
347ImmutableArray<ISymbol> members,
NavigateTo\AbstractNavigateToSearchService.CachedDocumentSearch.cs (6)
59ImmutableArray<Project> projects,
60ImmutableArray<Document> priorityDocuments,
64Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
100ImmutableArray<DocumentKey> documentKeys,
101ImmutableArray<DocumentKey> priorityDocumentKeys,
104Func<ImmutableArray<RoslynNavigateToItem>, VoidResult, CancellationToken, Task> onItemsFound,
NavigateTo\AbstractNavigateToSearchService.NormalSearch.cs (8)
24Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
51Func<ImmutableArray<RoslynNavigateToItem>, VoidResult, CancellationToken, Task> onItemsFound,
67ImmutableArray<Project> projects,
68ImmutableArray<Document> priorityDocuments,
72Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
108ImmutableArray<Project> projects,
109ImmutableArray<Document> priorityDocuments,
112Func<ImmutableArray<RoslynNavigateToItem>, VoidResult, CancellationToken, Task> onItemsFound,
NavigateTo\INavigateToSearchService.cs (9)
22Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
37ImmutableArray<Project> projects,
38ImmutableArray<Document> priorityDocuments,
42Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
64ImmutableArray<Project> projects,
65ImmutableArray<Document> priorityDocuments,
69Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
83ImmutableArray<Project> projects,
87Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound,
NavigateTo\IRemoteNavigateToSearchService.cs (13)
20ValueTask SearchDocumentAsync(Checksum solutionChecksum, DocumentId documentId, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
21ValueTask SearchProjectsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, ImmutableArray<DocumentId> priorityDocumentIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
23ValueTask SearchGeneratedDocumentsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
24ValueTask SearchCachedDocumentsAsync(ImmutableArray<DocumentKey> documentKeys, ImmutableArray<DocumentKey> priorityDocumentKeys, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
30ValueTask OnItemsFoundAsync(RemoteServiceCallbackId callbackId, ImmutableArray<RoslynNavigateToItem> items);
43public ValueTask OnItemsFoundAsync(RemoteServiceCallbackId callbackId, ImmutableArray<RoslynNavigateToItem> items)
51Func<ImmutableArray<RoslynNavigateToItem>, VoidResult, CancellationToken, Task> onItemsFound,
55public async ValueTask OnItemsFoundAsync(ImmutableArray<RoslynNavigateToItem> items)
NavigateTo\NavigateToSearcher.cs (24)
52private readonly ImmutableArray<Document> _visibleDocuments;
224var orderedProjects = GetOrderedProjectsToProcess();
231ImmutableArray<ImmutableArray<Project>> orderedProjects,
283private ImmutableArray<ImmutableArray<Project>> GetOrderedProjectsToProcess()
285using var result = TemporaryArray<ImmutableArray<Project>>.Empty;
326private ImmutableArray<Document> GetPriorityDocuments(ImmutableArray<Project> projects)
347ImmutableArray<ImmutableArray<Project>> orderedProjects,
349Func<INavigateToSearchService, ImmutableArray<Project>, Func<ImmutableArray<INavigateToSearchResult>, Task>, Func<Task>, Task> processProjectAsync,
357foreach (var projectGroup in orderedProjects)
412ImmutableArray<ImmutableArray<Project>> orderedProjects,
430ImmutableArray<ImmutableArray<Project>> orderedProjects,
462ImmutableArray<ImmutableArray<Project>> orderedProjects,
531public Task SearchDocumentAsync(Document document, string searchPattern, IImmutableSet<string> kinds, Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound, CancellationToken cancellationToken)
534public async Task SearchProjectsAsync(Solution solution, ImmutableArray<Project> projects, ImmutableArray<Document> priorityDocuments, string searchPattern, IImmutableSet<string> kinds, Document? activeDocument, Func<ImmutableArray<INavigateToSearchResult>, Task> onResultsFound, Func<Task> onProjectCompleted, CancellationToken cancellationToken)
NavigationBar\IRemoteNavigationBarItemService.cs (7)
16ValueTask<ImmutableArray<SerializableNavigationBarItem>> GetItemsAsync(
37public readonly ImmutableArray<SerializableNavigationBarItem> ChildItems;
72ImmutableArray<SerializableNavigationBarItem> childItems,
109public static ImmutableArray<SerializableNavigationBarItem> Dehydrate(ImmutableArray<RoslynNavigationBarItem> values)
112public static SerializableNavigationBarItem ActionlessItem(string text, Glyph glyph, ImmutableArray<SerializableNavigationBarItem> childItems = default, int indent = 0, bool bolded = false, bool grayed = false)
115public static SerializableNavigationBarItem SymbolItem(string text, Glyph glyph, string name, bool isObsolete, SymbolItemLocation location, ImmutableArray<SerializableNavigationBarItem> childItems = default, int indent = 0, bool bolded = false, bool grayed = false)
QuickInfo\QuickInfoUtilities.cs (16)
21public static Task<QuickInfoItem> CreateQuickInfoItemAsync(SolutionServices services, SemanticModel semanticModel, TextSpan span, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, CancellationToken cancellationToken)
28ImmutableArray<ISymbol> symbols,
53if (TryGetGroupText(SymbolDescriptionGroups.MainDescription, out var mainDescriptionTaggedParts))
67else if (TryGetGroupText(SymbolDescriptionGroups.MainDescription, out var mainDescriptionTaggedParts))
72if (groups.TryGetValue(SymbolDescriptionGroups.Documentation, out var docParts) && !docParts.IsDefaultOrEmpty)
82groups.TryGetValue(SymbolDescriptionGroups.RemarksDocumentation, out var remarksDocumentation) &&
93if (groups.TryGetValue(SymbolDescriptionGroups.ReturnsDocumentation, out var returnsDocumentation) &&
102if (groups.TryGetValue(SymbolDescriptionGroups.ValueDocumentation, out var valueDocumentation) &&
111if (TryGetGroupText(SymbolDescriptionGroups.TypeParameterMap, out var typeParameterMapText))
119if (TryGetGroupText(SymbolDescriptionGroups.StructuralTypes, out var anonymousTypesText))
128if (TryGetGroupText(SymbolDescriptionGroups.AwaitableUsageText, out var awaitableUsageText))
149if (TryGetGroupText(SymbolDescriptionGroups.Exceptions, out var exceptionsText))
152if (TryGetGroupText(SymbolDescriptionGroups.Captures, out var capturesText))
155var tags = ImmutableArray.CreateRange(GlyphTags.GetTags(symbol.GetGlyph()));
161bool TryGetGroupText(SymbolDescriptionGroups group, out ImmutableArray<TaggedText> taggedParts)
164void AddSection(string kind, ImmutableArray<TaggedText> taggedParts)
SignatureHelp\AbstractSignatureHelpProvider.cs (6)
96private static (IList<SignatureHelpItem> items, int? selectedItem) Filter(IList<SignatureHelpItem> items, ImmutableArray<string> parameterNames, int? selectedItem)
113private static bool Include(SignatureHelpItem item, ImmutableArray<string> parameterNames)
251var relatedDocuments = await FindActiveRelatedDocumentsAsync(position, document, cancellationToken).ConfigureAwait(false);
305private static async Task<ImmutableArray<Document>> FindActiveRelatedDocumentsAsync(int position, Document document, CancellationToken cancellationToken)
322var platformParts = platformData.ToDisplayParts().ToTaggedText();
340protected static int? TryGetSelectedIndex<TSymbol>(ImmutableArray<TSymbol> candidates, ISymbol? currentSymbol) where TSymbol : class, ISymbol
Snippets\RoslynLSPSnippetConverter.cs (5)
23public static async Task<string> GenerateLSPSnippetAsync(Document document, int caretPosition, ImmutableArray<SnippetPlaceholder> placeholders, TextChange textChange, int triggerLocation, CancellationToken cancellationToken)
33private static string ConvertToLSPSnippetString(TextChange textChange, ImmutableArray<SnippetPlaceholder> placeholders, int caretPosition)
85private static void PopulateMapOfSpanStartsToLSPStringItem(Dictionary<int, (string identifier, int priority)> dictionary, ImmutableArray<SnippetPlaceholder> placeholders, int textChangeStart)
109private static async Task<TextChange> ExtendSnippetTextChangeAsync(Document document, TextChange textChange, ImmutableArray<SnippetPlaceholder> placeholders, int caretPosition, int triggerLocation, CancellationToken cancellationToken)
124private static TextSpan GetUpdatedTextSpan(TextChange textChange, ImmutableArray<SnippetPlaceholder> placeholders, int caretPosition, int triggerLocation)
Snippets\SnippetProviders\AbstractSnippetProvider.cs (6)
28public virtual ImmutableArray<string> AdditionalFilterTexts => [];
41protected abstract Task<ImmutableArray<TextChange>> GenerateSnippetTextChangesAsync(Document document, int position, CancellationToken cancellationToken);
51protected abstract ImmutableArray<SnippetPlaceholder> GetPlaceHolderLocationsList(TSnippetSyntax node, ISyntaxFacts syntaxFacts, CancellationToken cancellationToken);
75var textChanges = await GenerateSnippetTextChangesAsync(document, position, cancellationToken).ConfigureAwait(false);
104var placeholders = GetPlaceHolderLocationsList(mainChangeNode, syntaxFacts, cancellationToken);
188private static async Task<Document> GetDocumentWithSnippetAsync(Document document, ImmutableArray<TextChange> snippets, CancellationToken cancellationToken)
src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (25)
88Func<DiagnosticAnalyzer, ImmutableArray<DiagnosticDescriptor>> getSupportedDiagnostics,
158using var _2 = ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)>.GetInstance(out var sortedPragmasWithIds);
230ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
232ImmutableArray<string> userExclusions)
346private static (ImmutableArray<string> userIdExclusions, ImmutableArray<string> userCategoryExclusions, bool analyzerDisabled) ParseUserExclusions(string? userExclusions)
354return (userIdExclusions: ImmutableArray<string>.Empty, userCategoryExclusions: ImmutableArray<string>.Empty, analyzerDisabled: false);
357return (userIdExclusions: ImmutableArray<string>.Empty, userCategoryExclusions: ImmutableArray<string>.Empty, analyzerDisabled: true);
362return (userIdExclusions: ImmutableArray<string>.Empty, userCategoryExclusions: ImmutableArray<string>.Empty, analyzerDisabled: false);
389private static async Task<(ImmutableArray<Diagnostic> reportedDiagnostics, ImmutableArray<string> unhandledIds)> GetReportedDiagnosticsForIdsAsync(
394Func<DiagnosticAnalyzer, ImmutableArray<DiagnosticDescriptor>> getSupportedDiagnostics,
483static void AddAllDiagnostics(ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> diagnostics, ArrayBuilder<Diagnostic> reportedDiagnostics)
485foreach (var perAnalyzerDiagnostics in diagnostics.Values)
493foreach (var perAnalyzerDiagnostics in analysisResult.CompilationDiagnostics.Values)
507ImmutableArray<Diagnostic> diagnostics,
610ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
632ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
643ImmutableArray<Location> additionalLocations;
679ArrayBuilder<(SyntaxTrivia pragma, ImmutableArray<string> ids, bool isDisable)> sortedPragmasWithIds,
738ImmutableArray<string> userIdExclusions,
739ImmutableArray<string> userCategoryExclusions,
src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.cs (6)
33protected abstract bool TryInitializeImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
34protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
35protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
36protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, out INamedTypeSymbol typeToGenerateIn);
78public async Task<ImmutableArray<CodeAction>> GenerateConstructorAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
170private ImmutableArray<ParameterName> GenerateParameterNames(
src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (22)
43private ImmutableArray<Argument<TExpressionSyntax>> _arguments;
48private ImmutableArray<RefKind> _parameterRefKinds;
49public ImmutableArray<ITypeSymbol> ParameterTypes;
56private ImmutableArray<IParameterSymbol> _parameters;
135var parameterNames = GetParameterNames(_arguments, typeParametersNames, cancellationToken);
142private ImmutableArray<ParameterName> GetParameterNames(
143ImmutableArray<Argument<TExpressionSyntax>> arguments, ImmutableArray<string> typeParametersNames, CancellationToken cancellationToken)
166var remainingArguments = _arguments.Skip(argumentCount).ToImmutableArray();
167var remainingParameterNames = _service.GenerateParameterNames(
178var remainingParameterTypes = ParameterTypes.Skip(argumentCount).ToImmutableArray();
189ImmutableArray<IParameterSymbol> allParameters,
190ImmutableArray<TExpressionSyntax?> allExpressions,
210ImmutableArray<IParameterSymbol> parameters,
211ImmutableArray<TExpressionSyntax?> expressions,
212ImmutableArray<IMethodSymbol> constructors,
284internal ImmutableArray<ITypeSymbol> GetParameterTypes(CancellationToken cancellationToken)
306out var token, out var arguments, out var typeToGenerateIn))
324out var token, out var arguments, out var typeToGenerateIn))
343out var token, out var arguments, out var typeToGenerateIn))
464private async Task<(ImmutableArray<ISymbol>, ImmutableArray<SyntaxNode>)> GenerateMembersAndAssignmentsAsync(
src\Dependencies\CodeAnalysis.Debugging\CustomDebugInfoReader.cs (29)
54public static ImmutableArray<byte> TryGetCustomDebugInfoRecord(byte[] customDebugInfo, CustomDebugInfoKind recordKind)
125public static ImmutableArray<short> DecodeUsingRecord(ImmutableArray<byte> bytes)
147public static int DecodeForwardRecord(ImmutableArray<byte> bytes)
161public static int DecodeForwardToModuleRecord(ImmutableArray<byte> bytes)
173public static ImmutableArray<StateMachineHoistedLocalScope> DecodeStateMachineHoistedLocalScopesRecord(ImmutableArray<byte> bytes)
212public static string DecodeForwardIteratorRecord(ImmutableArray<byte> bytes)
241public static ImmutableArray<DynamicLocalInfo> DecodeDynamicLocalsRecord(ImmutableArray<byte> bytes)
300public static ImmutableArray<TupleElementNamesInfo> DecodeTupleElementNamesRecord(ImmutableArray<byte> bytes)
313private static TupleElementNamesInfo DecodeTupleElementNamesInfo(ImmutableArray<byte> bytes, ref int offset)
337public static ImmutableArray<ImmutableArray<string>> GetCSharpGroupedImportStrings<TArg>(
341Func<int, TArg, ImmutableArray<string>> getMethodImportStrings,
342out ImmutableArray<string> externAliasStrings)
346ImmutableArray<short> groupSizes = default;
395var allModuleInfoImportStrings = getMethodImportStrings(moduleInfoMethodToken, arg);
419var importStrings = getMethodImportStrings(methodToken, arg);
422var resultBuilder = ArrayBuilder<ImmutableArray<string>>.GetInstance(groupSizes.Length);
485public static ImmutableArray<string> GetVisualBasicImportStrings<TArg>(
488Func<int, TArg, ImmutableArray<string>> getMethodImportStrings)
490var importStrings = getMethodImportStrings(methodToken, arg);
495return ImmutableArray<string>.Empty;
518private static int ReadInt32(ImmutableArray<byte> bytes, ref int offset)
530private static short ReadInt16(ImmutableArray<byte> bytes, ref int offset)
542private static byte ReadByte(ImmutableArray<byte> bytes, ref int offset)
851private static string ReadUtf8String(ImmutableArray<byte> bytes, ref int offset)
Structure\Syntax\BlockSpanCollector.cs (8)
16private readonly ImmutableDictionary<Type, ImmutableArray<AbstractSyntaxStructureProvider>> _nodeProviderMap;
17private readonly ImmutableDictionary<int, ImmutableArray<AbstractSyntaxStructureProvider>> _triviaProviderMap;
22ImmutableDictionary<Type, ImmutableArray<AbstractSyntaxStructureProvider>> nodeOutlinerMap,
23ImmutableDictionary<int, ImmutableArray<AbstractSyntaxStructureProvider>> triviaOutlinerMap,
35ImmutableDictionary<Type, ImmutableArray<AbstractSyntaxStructureProvider>> nodeOutlinerMap,
36ImmutableDictionary<int, ImmutableArray<AbstractSyntaxStructureProvider>> triviaOutlinerMap,
65if (_nodeProviderMap.TryGetValue(node.GetType(), out var providers))
87if (_triviaProviderMap.TryGetValue(trivia.RawKind, out var providers))
SyncNamespaces\AbstractSyncNamespacesService.cs (14)
33ImmutableArray<Project> projects,
41var diagnosticAnalyzers = ImmutableArray.Create<DiagnosticAnalyzer>(DiagnosticAnalyzer);
58private static async Task<ImmutableDictionary<Project, ImmutableArray<Diagnostic>>> GetDiagnosticsByProjectAsync(
59ImmutableArray<Project> projects,
60ImmutableArray<DiagnosticAnalyzer> diagnosticAnalyzers,
64var builder = ImmutableDictionary.CreateBuilder<Project, ImmutableArray<Diagnostic>>();
68var diagnostics = await GetDiagnosticsAsync(project, diagnosticAnalyzers, isHostAnalyzer, cancellationToken).ConfigureAwait(false);
75private static async Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(
77ImmutableArray<DiagnosticAnalyzer> diagnosticAnalyzers,
98ImmutableDictionary<Project, ImmutableArray<Diagnostic>> diagnosticsByProject,
144var operations = await fixAllAction.GetOperationsAsync(
156private readonly ImmutableDictionary<Project, ImmutableArray<Diagnostic>> _diagnosticsByProject;
158internal DiagnosticProvider(ImmutableDictionary<Project, ImmutableArray<Diagnostic>> diagnosticsByProject)
178return _diagnosticsByProject.TryGetValue(project, out var diagnostics)
Binding\BackstopBinder.vb (9)
67Public Overrides ReadOnly Property AdditionalContainingMembers As ImmutableArray(Of Symbol)
100Friend Overrides Function BindInsideCrefAttributeValue(name As TypeSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
101Return ImmutableArray(Of Symbol).Empty
104Friend Overrides Function BindInsideCrefAttributeValue(reference As CrefReferenceSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
105Return ImmutableArray(Of Symbol).Empty
108Friend Overrides Function BindXmlNameAttributeValue(identifier As IdentifierNameSyntax, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
109Return ImmutableArray(Of Symbol).Empty
197Public Overrides ReadOnly Property ImplicitlyDeclaredVariables As ImmutableArray(Of LocalSymbol)
199Return ImmutableArray(Of LocalSymbol).Empty
Binding\Binder_Attributes.vb (28)
24Friend Shared Function BindAttributeTypes(binders As ImmutableArray(Of Binder),
25attributesToBind As ImmutableArray(Of AttributeSyntax),
27diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
54Friend Shared Sub GetAttributes(binders As ImmutableArray(Of Binder),
55attributesToBind As ImmutableArray(Of AttributeSyntax),
56boundAttributeTypes As ImmutableArray(Of NamedTypeSymbol),
79Dim args As ImmutableArray(Of TypedConstant) = visitor.VisitPositionalArguments(boundAttribute.ConstructorArguments, diagnostics)
80Dim namedArgs As ImmutableArray(Of KeyValuePair(Of String, TypedConstant)) = visitor.VisitNamedArguments(boundAttribute.NamedArguments, diagnostics)
256Dim boundArguments As ImmutableArray(Of BoundExpression) = analyzedArguments.positionalArguments
257Dim boundNamedArguments As ImmutableArray(Of BoundExpression) = analyzedArguments.namedArguments
355Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(node.Name, methodResult, boundArguments, diagnostics)
383Dim boundArguments As ImmutableArray(Of BoundExpression)
384Dim namedArguments As ImmutableArray(Of BoundExpression)
535lValue = New BoundPropertyAccess(identifierName, propertySym, Nothing, PropertyAccessKind.Set, Not isReadOnly, Nothing, ImmutableArray(Of BoundExpression).Empty, defaultArguments:=BitVector.Null, hasErrors)
684Public Function VisitPositionalArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of TypedConstant)
688Private Function VisitArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of TypedConstant)
698Return ImmutableArray(Of TypedConstant).Empty
704Public Function VisitNamedArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of KeyValuePair(Of String, TypedConstant))
720Return ImmutableArray(Of KeyValuePair(Of String, TypedConstant)).Empty
854Dim values As ImmutableArray(Of TypedConstant) = Nothing
879Private Shared Function CreateTypedConstant(type As ArrayTypeSymbol, array As ImmutableArray(Of TypedConstant)) As TypedConstant
906Public positionalArguments As ImmutableArray(Of BoundExpression)
907Public namedArguments As ImmutableArray(Of BoundExpression)
909Public Sub New(positionalArguments As ImmutableArray(Of BoundExpression), namedArguments As ImmutableArray(Of BoundExpression))
Binding\Binder_DocumentationComments.vb (3)
14Friend Overridable Function BindInsideCrefAttributeValue(name As TypeSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
18Friend Overridable Function BindInsideCrefAttributeValue(reference As CrefReferenceSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
22Friend Overridable Function BindXmlNameAttributeValue(identifier As IdentifierNameSyntax, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
Binding\Binder_Expressions.vb (34)
280Return BadExpression(node, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType)
289Return New BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, resultType, hasErrors:=True)
297Return New BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), resultType, hasErrors:=True)
305Return New BoundBadExpression(node, resultKind, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), resultType, hasErrors:=True)
312Private Shared Function BadExpression(node As SyntaxNode, exprs As ImmutableArray(Of BoundExpression), resultType As TypeSymbol) As BoundBadExpression
313Return New BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray(Of Symbol).Empty, exprs, resultType, hasErrors:=True)
326Return New BoundBadExpression(wrappedExpression.Syntax, resultKind, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(wrappedExpression), wrappedExpression.Type, hasErrors:=True)
338ImmutableArray(Of BoundExpression).Empty)
409As (elementNames As ImmutableArray(Of String), inferredPositions As ImmutableArray(Of Boolean), hasErrors As Boolean)
451inferredElementNames As ArrayBuilder(Of String)) As (names As ImmutableArray(Of String),
452inferred As ImmutableArray(Of Boolean))
1557Dim bounds As ImmutableArray(Of BoundExpression)
1661Dim initializers = ImmutableArray(Of BoundExpression).Empty
3122Dim symbols As ImmutableArray(Of Symbol)
3134If(receiver IsNot Nothing, ImmutableArray.Create(receiver), ImmutableArray(Of BoundExpression).Empty),
3387Dim ambiguous As ImmutableArray(Of Symbol) = DirectCast(di, AmbiguousSymbolDiagnostic).AmbiguousSymbols
3481Dim groupConstituents As ImmutableArray(Of NamespaceSymbol) = namespaceGroup.ConstituentNamespaces
3482Dim otherConstituents As ImmutableArray(Of NamespaceSymbol) = other.ConstituentNamespaces
3600ImmutableArray(Of Symbol).Empty,
3601ImmutableArray(Of BoundExpression).Empty,
3863Private Shared Function GenerateBadExpression(node As InvocationExpressionSyntax, target As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression)) As BoundExpression
3910Private Function BindArrayAccess(node As InvocationExpressionSyntax, expr As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression), argumentNames As ImmutableArray(Of String), diagnostics As BindingDiagnosticBag) As BoundExpression
3958symbols As ImmutableArray(Of Symbol),
4079Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
4122Dim sizes As ImmutableArray(Of BoundExpression) = CreateArrayBounds(node, knownSizes, diagnostics)
4127Private Function CreateArrayBounds(node As SyntaxNode, knownSizes() As DimensionSize, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of BoundExpression)
4287init = New BoundArrayInitialization(expr, ImmutableArray(Of BoundExpression).Empty, arrayInitType, hasErrors:=True)
4338Optional errorOnEmptyBound As Boolean = False) As ImmutableArray(Of BoundExpression)
4755ImmutableArray(Of BoundExpression).Empty,
4804ImmutableArray(Of BoundExpression).Empty,
4853ImmutableArray(Of BoundExpression).Empty,
Binding\Binder_Invocation.vb (58)
106Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
107Dim argumentNames As ImmutableArray(Of String) = Nothing
108Dim argumentNamesLocations As ImmutableArray(Of Location) = Nothing
187Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
188Dim argumentNames As ImmutableArray(Of String) = Nothing
189Dim argumentNamesLocations As ImmutableArray(Of Location) = Nothing
254boundArguments As ImmutableArray(Of BoundExpression),
255argumentNames As ImmutableArray(Of String),
256argumentNamesLocations As ImmutableArray(Of Location),
393boundArguments As ImmutableArray(Of BoundExpression),
394argumentNames As ImmutableArray(Of String),
395argumentNamesLocations As ImmutableArray(Of Location),
422ImmutableArray(Of BoundExpression).Empty,
647Dim additionalExtensionMethods As ImmutableArray(Of MethodSymbol) = methodGroup.AdditionalExtensionMethods(useSiteInfo)
727boundArguments As ImmutableArray(Of BoundExpression),
728argumentNames As ImmutableArray(Of String),
790ImmutableArray(Of Symbol).Empty, builder.ToImmutableAndFree(),
826boundArguments As ImmutableArray(Of BoundExpression),
828asyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression),
846Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(node, bestResult, boundArguments, diagnostics)
1082arguments As ImmutableArray(Of BoundExpression),
1190boundArguments As ImmutableArray(Of BoundExpression),
1191argumentNames As ImmutableArray(Of String),
1220boundArguments As ImmutableArray(Of BoundExpression),
1221argumentNames As ImmutableArray(Of String),
1234Dim bestSymbols = ImmutableArray(Of Symbol).Empty
1268bestSymbols As ImmutableArray(Of Symbol),
1270boundArguments As ImmutableArray(Of BoundExpression),
1271argumentNames As ImmutableArray(Of String),
1343bestSymbols As ImmutableArray(Of Symbol),
1345boundArguments As ImmutableArray(Of BoundExpression),
1346argumentNames As ImmutableArray(Of String),
1367boundArguments = ImmutableArray(Of BoundExpression).Empty
1450Dim typeArguments = If(mg.TypeArgumentsOpt IsNot Nothing, mg.TypeArgumentsOpt.Arguments, ImmutableArray(Of TypeSymbol).Empty)
1453typeArguments = ImmutableArray(Of TypeSymbol).Empty
1621Dim childBoundNodes As ImmutableArray(Of BoundExpression)
1625childBoundNodes = ImmutableArray(Of BoundExpression).Empty
1674ByRef bestSymbols As ImmutableArray(Of Symbol)
1765bestSymbols As ImmutableArray(Of Symbol),
1829arguments As ImmutableArray(Of BoundExpression),
1830argumentNames As ImmutableArray(Of String),
1839arguments = ImmutableArray(Of BoundExpression).Empty
1936arguments As ImmutableArray(Of BoundExpression),
1982arguments As ImmutableArray(Of BoundExpression),
1983argumentNames As ImmutableArray(Of String),
1997arguments = ImmutableArray(Of BoundExpression).Empty
2628arguments As ImmutableArray(Of BoundExpression),
2630) As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector)
2635arguments = ImmutableArray(Of BoundExpression).Empty
2975ByRef boundArguments As ImmutableArray(Of BoundExpression),
2976ByRef argumentNames As ImmutableArray(Of String),
2977ByRef argumentNamesLocations As ImmutableArray(Of Location),
2980Dim args As ImmutableArray(Of ArgumentSyntax) = Nothing
3004arguments As ImmutableArray(Of ArgumentSyntax),
3005ByRef boundArguments As ImmutableArray(Of BoundExpression),
3006ByRef argumentNames As ImmutableArray(Of String),
3007ByRef argumentNamesLocations As ImmutableArray(Of Location),
3096arguments As ImmutableArray(Of BoundExpression),
Binding\Binder_Lambda.vb (10)
30Dim parameters As ImmutableArray(Of ParameterSymbol)
87) As ImmutableArray(Of BoundLambdaParameterSymbol)
90Return ImmutableArray(Of BoundLambdaParameterSymbol).Empty
93Dim unboundParams As ImmutableArray(Of ParameterSymbol) = source.Parameters
217Dim parameters As ImmutableArray(Of BoundLambdaParameterSymbol) = BuildBoundLambdaParameters(source, target, diagnostics)
468block = New BoundBlock(lambdaSyntax, Nothing, ImmutableArray(Of LocalSymbol).Empty,
773Dim targetSignature As New UnboundLambda.TargetSignature(ImmutableArray(Of ParameterSymbol).Empty, Compilation.GetSpecialType(SpecialType.System_Void), returnsByRef:=False)
774Dim parameters As ImmutableArray(Of BoundLambdaParameterSymbol) = BuildBoundLambdaParameters(source, targetSignature, diagnostics)
789parameters As ImmutableArray(Of BoundLambdaParameterSymbol),
901Dim parameters As ImmutableArray(Of BoundLambdaParameterSymbol) = BuildBoundLambdaParameters(source, targetParameters, diagnostics)
Binding\Binder_ObjectInitializer.vb (22)
34Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
35Dim argumentNames As ImmutableArray(Of String) = Nothing
36Dim argumentNamesLocations As ImmutableArray(Of Location) = Nothing
122CheckRequiredMembersInObjectInitializer(constructorSymbol, namedType, If(initializerOpt?.Initializers, ImmutableArray(Of BoundExpression).Empty), typeNode, diagnostics)
132arguments:=ImmutableArray(Of BoundExpression).Empty,
141Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
142Dim argumentNames As ImmutableArray(Of String) = Nothing
143Dim argumentNamesLocations As ImmutableArray(Of Location) = Nothing
165arguments As ImmutableArray(Of BoundExpression),
180boundArguments As ImmutableArray(Of BoundExpression),
182) As ImmutableArray(Of BoundExpression)
197boundArguments As ImmutableArray(Of BoundExpression),
198argumentNames As ImmutableArray(Of String),
299ImmutableArray(Of Symbol).Empty,
359Dim constructors As ImmutableArray(Of MethodSymbol) = GetAccessibleConstructors(type, useSiteInfo)
388ImmutableArray(Of Symbol).Empty,
470Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(typeNode, methodResult, boundArguments, diagnostics)
501CheckRequiredMembersInObjectInitializer(constructorSymbol, constructorSymbol.ContainingType, If(objectInitializerExpressionOpt?.Initializers, ImmutableArray(Of BoundExpression).Empty), typeNode, diagnostics)
523initializers As ImmutableArray(Of BoundExpression),
584boundArguments As ImmutableArray(Of BoundExpression),
906Dim addInvocationExpressions As ImmutableArray(Of BoundExpression)
1002ImmutableArray(Of Symbol).Empty,
Binding\Binder_Query.vb (128)
20parameters As ImmutableArray(Of BoundLambdaParameterSymbol)) As SynthesizedLambdaSymbol
32rangeVariables As ImmutableArray(Of RangeVariableSymbol),
220ImmutableArray(Of RangeVariableSymbol).Empty,
237ImmutableArray(Of RangeVariableSymbol).Empty,
270ImmutableArray(Of RangeVariableSymbol).Empty,
321Dim declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
326ImmutableArray(Of RangeVariableSymbol).Empty,
366ImmutableArray(Of RangeVariableSymbol).Empty,
379sourceRangeVariablesPart1 As ImmutableArray(Of RangeVariableSymbol),
380sourceRangeVariablesPart2 As ImmutableArray(Of RangeVariableSymbol),
383firstSelectDeclaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
423ImmutableArray(Of Binder).Empty,
438Dim selectSelectorBinder As New QueryLambdaBinder(selectSelectorLambdaSymbol, ImmutableArray(Of RangeVariableSymbol).Empty)
446Dim keysRangeVariablesPart1 As ImmutableArray(Of RangeVariableSymbol)
448Dim keysRangeVariablesPart2 As ImmutableArray(Of RangeVariableSymbol)
465ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
483ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
488keysRangeVariablesPart2 = ImmutableArray(Of RangeVariableSymbol).Empty
505ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
509keysRangeVariablesPart2 = ImmutableArray(Of RangeVariableSymbol).Empty
512keysRangeVariablesPart1 = ImmutableArray(Of RangeVariableSymbol).Empty
514keysRangeVariablesPart2 = ImmutableArray(Of RangeVariableSymbol).Empty
517Dim declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
610ImmutableArray(Of RangeVariableSymbol).Empty,
632ImmutableArray(Of RangeVariableSymbol).Empty,
634ImmutableArray(Of Binder).Empty,
667Dim declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
804Dim declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
1050Dim lambdaBinders As ImmutableArray(Of Binder)
1062Dim joinSelectorRangeVariables As ImmutableArray(Of RangeVariableSymbol) = sourceRangeVariables.Concat(manySelector.RangeVariables)
1063Dim joinSelectorDeclaredRangeVariables As ImmutableArray(Of RangeVariableSymbol)
1094joinSelectorDeclaredRangeVariables = ImmutableArray(Of RangeVariableSymbol).Empty
1277joinSelectorDeclaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
1279leftRangeVariables As ImmutableArray(Of RangeVariableSymbol),
1280rightRangeVariables As ImmutableArray(Of RangeVariableSymbol),
1407ImmutableArray(Of Binder).Empty,
1430Dim joinSelectorRangeVariables As ImmutableArray(Of RangeVariableSymbol) = outer.RangeVariables.Concat(inner.RangeVariables)
1447Dim lambdaBinders As ImmutableArray(Of Binder)
1457Dim joinSelectorDeclaredRangeVariables As ImmutableArray(Of RangeVariableSymbol)
1489joinSelectorDeclaredRangeVariables = ImmutableArray(Of RangeVariableSymbol).Empty
1566Private Shared Function CreateSetOfDeclaredNames(rangeVariables As ImmutableArray(Of RangeVariableSymbol)) As HashSet(Of String)
1577Private Shared Sub AssertDeclaredNames(declaredNames As HashSet(Of String), rangeVariables As ImmutableArray(Of RangeVariableSymbol))
1653ImmutableArray(Of Binder).Empty,
1690Dim intoRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
1759Dim itemsRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
1764Dim keysRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
1773Dim groupRangeVariables As ImmutableArray(Of RangeVariableSymbol)
1785Dim intoRangeVariables As ImmutableArray(Of RangeVariableSymbol) = Nothing
1793Dim lambdaBinders As ImmutableArray(Of Binder)
1853<Out()> ByRef itemsRangeVariables As ImmutableArray(Of RangeVariableSymbol),
1887itemsRangeVariables = ImmutableArray(Of RangeVariableSymbol).Empty
1900<Out()> ByRef keysRangeVariables As ImmutableArray(Of RangeVariableSymbol),
1947keysRangeVariables As ImmutableArray(Of RangeVariableSymbol),
2092keysRangeVariables As ImmutableArray(Of RangeVariableSymbol),
2097groupRangeVariables As ImmutableArray(Of RangeVariableSymbol),
2103<Out()> ByRef intoRangeVariables As ImmutableArray(Of RangeVariableSymbol)
2125Dim intoLambdaBinder As New QueryLambdaBinder(intoLambdaSymbol, ImmutableArray(Of RangeVariableSymbol).Empty)
2137ImmutableArray(Of RangeVariableSymbol).Empty,
2169Private Shared Function GetQueryLambdaParameterSyntax(syntaxNode As VisualBasicSyntaxNode, rangeVariables As ImmutableArray(Of RangeVariableSymbol)) As VisualBasicSyntaxNode
2182rangeVariables As ImmutableArray(Of RangeVariableSymbol)
2199Private Shared Function GetQueryLambdaParameterName(rangeVariables As ImmutableArray(Of RangeVariableSymbol)) As String
2210Private Shared Function GetQueryLambdaParameterNameLeft(rangeVariables As ImmutableArray(Of RangeVariableSymbol)) As String
2221Private Shared Function GetQueryLambdaParameterNameRight(rangeVariables As ImmutableArray(Of RangeVariableSymbol)) As String
2422ImmutableArray(Of BoundExpression).Empty,
2431ImmutableArray(Of Binder).Empty,
2503ImmutableArray(Of Binder).Empty,
2638Private ReadOnly _rangeVariables As ImmutableArray(Of RangeVariableSymbol)
2640Public Sub New(lambdaSymbol As LambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol))
2646Friend Overrides ReadOnly Property Locals As ImmutableArray(Of RangeVariableSymbol)
2652Public ReadOnly Property RangeVariables As ImmutableArray(Of RangeVariableSymbol)
2664Public Overrides ReadOnly Property AdditionalContainingMembers As ImmutableArray(Of Symbol)
2666Return ImmutableArray(Of Symbol).Empty
2688<Out()> ByRef declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
2735<Out()> ByRef declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
2757declaredRangeVariables = ImmutableArray(Of RangeVariableSymbol).Empty
2933<Out()> ByRef declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
2980rangeVariablesPart1 As ImmutableArray(Of RangeVariableSymbol),
2981rangeVariablesPart2 As ImmutableArray(Of RangeVariableSymbol),
2982<Out()> ByRef declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3018ImmutableArray(Of RangeVariableSymbol).Empty),
3030ImmutableArray(Of RangeVariableSymbol).Empty),
3035Dim keysRangeVariablesPart1 As ImmutableArray(Of RangeVariableSymbol)
3037Dim keysRangeVariablesPart2 As ImmutableArray(Of RangeVariableSymbol)
3051keysRangeVariablesPart2 = ImmutableArray(Of RangeVariableSymbol).Empty
3058keysRangeVariablesPart2 = ImmutableArray(Of RangeVariableSymbol).Empty
3061keysRangeVariablesPart1 = ImmutableArray(Of RangeVariableSymbol).Empty
3063keysRangeVariablesPart2 = ImmutableArray(Of RangeVariableSymbol).Empty
3112leftRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3113rightRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3114<Out> ByRef joinSelectorDeclaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3221Dim parameters As ImmutableArray(Of BoundLambdaParameterSymbol) = _lambdaSymbol.Parameters.As(Of BoundLambdaParameterSymbol)
3256joinSelectorRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3392outerRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3395innerRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3525outerRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3528innerRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3590rangeVariables As ImmutableArray(Of RangeVariableSymbol)
3637Private ReadOnly _outerRangeVariables As ImmutableArray(Of Object) 'ImmutableArray(Of RangeVariableSymbol)
3638Private ReadOnly _innerRangeVariables As ImmutableArray(Of Object) 'ImmutableArray(Of RangeVariableSymbol)
3642outerRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3643innerRangeVariables As ImmutableArray(Of RangeVariableSymbol)
3682Private ReadOnly _badRangeVariables As ImmutableArray(Of Object) 'ImmutableArray(Of RangeVariableSymbol)
3687badRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3699badRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3735Private ReadOnly _groupRangeVariables As ImmutableArray(Of RangeVariableSymbol)
3737Private ReadOnly _aggregationArgumentRangeVariables As ImmutableArray(Of RangeVariableSymbol)
3742groupRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3744aggregationArgumentRangeVariables As ImmutableArray(Of RangeVariableSymbol)
3765keysRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3767keysRangeVariablesPart1 As ImmutableArray(Of RangeVariableSymbol),
3769keysRangeVariablesPart2 As ImmutableArray(Of RangeVariableSymbol),
3773<Out()> ByRef declaredRangeVariables As ImmutableArray(Of RangeVariableSymbol),
3929Dim arguments As ImmutableArray(Of BoundExpression)
3933arguments = ImmutableArray(Of BoundExpression).Empty
3974ImmutableArray(Of RangeVariableSymbol).Empty,
4104groupRangeVariables As ImmutableArray(Of RangeVariableSymbol),
4106aggregationArgumentRangeVariables As ImmutableArray(Of RangeVariableSymbol)
4235ImmutableArray(Of Binder).Empty,
4271Dim selectorBinder As New QueryLambdaBinder(lambdaSymbol, ImmutableArray(Of RangeVariableSymbol).Empty)
4281ImmutableArray(Of RangeVariableSymbol).Empty,
4303ImmutableArray(Of RangeVariableSymbol).Empty,
4354ImmutableArray(Of BoundExpression).Empty,
4372ImmutableArray(Of BoundExpression).Empty,
4395ImmutableArray(Of BoundExpression).Empty,
4591arguments As ImmutableArray(Of BoundExpression),
4609arguments As ImmutableArray(Of BoundExpression),
4630arguments As ImmutableArray(Of BoundExpression),
4689Dim childBoundNodes As ImmutableArray(Of BoundExpression)
Binding\Binder_Statements.vb (35)
217Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
228ImmutableArray(Of BoundNode).Empty,
239ImmutableArray(Of BoundNode).Empty,
264Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
293Dim locals As ImmutableArray(Of LocalSymbol) = ImmutableArray(Of LocalSymbol).Empty
437ImmutableArray(Of Symbol).Empty,
438ImmutableArray(Of BoundExpression).Empty,
729Dim boundIndices As ImmutableArray(Of BoundExpression) = ImmutableArray(Of BoundExpression).Empty
1017Dim boundLocalDeclarations As ImmutableArray(Of BoundLocalDeclarationBase) = BindVariableDeclarators(node.Declarators, diagnostics)
1027) As ImmutableArray(Of BoundLocalDeclarationBase)
1124Dim boundArrayBounds As ImmutableArray(Of BoundExpression) = Nothing
2105Return New BoundBlock(syntax, stmtList, ImmutableArray(Of LocalSymbol).Empty, boundStatements.AsImmutableOrNull())
2475Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
2476Dim argumentNames As ImmutableArray(Of String) = Nothing
2477Dim argumentNamesLocations As ImmutableArray(Of Location) = Nothing
2909Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3040<Out()> ByRef nextVariables As ImmutableArray(Of BoundExpression),
3058nextVariables = ImmutableArray(Of BoundExpression).Empty
3246Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3528Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3610ImmutableArray(Of Symbol).Empty,
3801ImmutableArray(Of Symbol).Empty,
3854ImmutableArray(Of Symbol).Empty,
4225ImmutableArray(Of BoundExpression).Empty,
4439Dim resourceList As ImmutableArray(Of BoundLocalDeclarationBase) = Nothing
4534Dim locals As ImmutableArray(Of LocalSymbol) = GetUsingBlockLocals(usingBinder)
4539Private Function GetUsingBlockLocals(currentBinder As Binder) As ImmutableArray(Of LocalSymbol)
4553Return ImmutableArray(Of LocalSymbol).Empty
4747Dim catchBlocks As ImmutableArray(Of BoundCatchBlock) = BindCatchBlocks(node.CatchBlocks, diagnostics)
4765Public Function BindCatchBlocks(catchClauses As SyntaxList(Of CatchBlockSyntax), diagnostics As BindingDiagnosticBag) As ImmutableArray(Of BoundCatchBlock)
4768Return ImmutableArray(Of BoundCatchBlock).Empty
4922Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
4942Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
Binding\Binder_XmlLiterals.vb (36)
219childNodes As ImmutableArray(Of BoundExpression),
237Dim inScopeXmlNamespaces As ImmutableArray(Of KeyValuePair(Of String, String)) = Nothing
326xmlnsAttributes = BindObjectCreationExpression(syntax, xmlnsAttributesPlaceholder.Type, ImmutableArray(Of BoundExpression).Empty, diagnostics).MakeCompilerGenerated()
374Return ArrayTypeSymbol.CreateSZArray(elementType, ImmutableArray(Of CustomModifier).Empty, compilation:=Compilation)
701Dim arguments As ImmutableArray(Of BoundExpression) = Nothing
1017Private Function BindInvocationExpressionIfGroupNotNothing(syntax As SyntaxNode, groupOpt As BoundMethodOrPropertyGroup, arguments As ImmutableArray(Of BoundExpression), diagnostics As BindingDiagnosticBag) As BoundExpression
1371Me.SideEffects = ImmutableArray(Of BoundExpression).Empty
1383importedNamespaces As ImmutableArray(Of KeyValuePair(Of String, String)),
1384inScopeXmlNamespaces As ImmutableArray(Of KeyValuePair(Of String, String)),
1385sideEffects As ImmutableArray(Of BoundExpression))
1414Public ReadOnly ImportedNamespaces As ImmutableArray(Of KeyValuePair(Of String, String))
1415Public ReadOnly InScopeXmlNamespaces As ImmutableArray(Of KeyValuePair(Of String, String))
1416Public ReadOnly SideEffects As ImmutableArray(Of BoundExpression)
1435Public Function GetImportChainData() As ImmutableArray(Of ImportedXmlNamespace)
1585Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
1591Public Overrides ReadOnly Property ExplicitInterfaceImplementations As ImmutableArray(Of PropertySymbol)
1593Return ImmutableArray(Of PropertySymbol).Empty
1661Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
1667Public Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
1669Return ImmutableArray(Of ParameterSymbol).Empty
1697Public Overrides ReadOnly Property TypeCustomModifiers As ImmutableArray(Of CustomModifier)
1703Public Overrides ReadOnly Property RefCustomModifiers As ImmutableArray(Of CustomModifier)
1731Private _lazyParameters As ImmutableArray(Of ParameterSymbol)
1786Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
1792Public Overrides ReadOnly Property ExplicitInterfaceImplementations As ImmutableArray(Of MethodSymbol)
1794Return ImmutableArray(Of MethodSymbol).Empty
1912Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
1916Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
1940Public Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
1961Public Overrides ReadOnly Property ReturnTypeCustomModifiers As ImmutableArray(Of CustomModifier)
1967Public Overrides ReadOnly Property RefCustomModifiers As ImmutableArray(Of CustomModifier)
1979Public Overrides ReadOnly Property TypeArguments As ImmutableArray(Of TypeSymbol)
1985Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
2015Public Shared Function MakeParameters(propertyOrAccessor As Symbol, originalParameters As ImmutableArray(Of ParameterSymbol)) As ImmutableArray(Of ParameterSymbol)
2020Return ImmutableArray(Of ParameterSymbol).Empty
Binding\DocumentationCommentBinder.vb (6)
143Friend Overrides Function BindXmlNameAttributeValue(identifier As IdentifierNameSyntax, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
147Friend Overrides Function BindInsideCrefAttributeValue(name As TypeSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
151Friend Overrides Function BindInsideCrefAttributeValue(reference As CrefReferenceSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
156name As String, symbols As ImmutableArray(Of TSymbol)) As ImmutableArray(Of Symbol)
166Return ImmutableArray(Of Symbol).Empty
Binding\DocumentationCommentCrefBinder.vb (12)
69Friend Overrides Function BindInsideCrefAttributeValue(reference As CrefReferenceSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
73Return ImmutableArray(Of Symbol).Empty
84Return ImmutableArray(Of Symbol).Empty
94Return ImmutableArray(Of Symbol).Empty
127Dim parameters As ImmutableArray(Of ParameterSymbol) = candidateMethod.Parameters
153Dim parameters As ImmutableArray(Of ParameterSymbol) = candidateProperty.Parameters
198Friend Overrides Function BindInsideCrefAttributeValue(name As TypeSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
204Return ImmutableArray(Of Symbol).Empty
219Private Function BindInsideCrefSignatureOrReturnType(crefReference As CrefReferenceSyntax, name As TypeSyntax, preserveAliases As Boolean, diagnosticBag As BindingDiagnosticBag) As ImmutableArray(Of Symbol)
230ImmutableArray(Of Symbol).Empty,
303Private Function BindInsideCrefReferenceName(name As TypeSyntax, argCount As Integer, preserveAliases As Boolean, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of Symbol)
875Dim ambiguousSymbols As ImmutableArray(Of Symbol) = DirectCast(di, AmbiguousSymbolDiagnostic).AmbiguousSymbols
Binding\MemberSemanticModel.vb (35)
413Public NotOverridable Overrides Function GetSyntaxDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
428Public NotOverridable Overrides Function GetDeclarationDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
443Public NotOverridable Overrides Function GetMethodBodyDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
460Public NotOverridable Overrides Function GetDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
708Friend Overrides Function GetDeclaredSymbols(declarationSyntax As FieldDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
736<Out> ByRef getEnumeratorArguments As ImmutableArray(Of BoundExpression),
738<Out> ByRef moveNextArguments As ImmutableArray(Of BoundExpression),
740<Out> ByRef currentArguments As ImmutableArray(Of BoundExpression),
820Friend Overrides Function GetAttributeMemberGroup(attribute As AttributeSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Symbol)
884Friend Overrides Function GetExpressionMemberGroup(node As ExpressionSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Symbol)
891Return ImmutableArray(Of Symbol).Empty
1037Dim boundNodes As ImmutableArray(Of BoundNode) = GetBoundNodes(node)
1209Private ReadOnly _guardedBoundNodeMap As New SmallDictionary(Of SyntaxNode, ImmutableArray(Of BoundNode))(ReferenceEqualityComparer.Instance)
1212Private ReadOnly _guardedQueryBindersMap As New Dictionary(Of SyntaxNode, ImmutableArray(Of Binder))()
1237Private Function GuardedGetBoundNodesFromMap(node As SyntaxNode) As ImmutableArray(Of BoundNode)
1239Dim result As ImmutableArray(Of BoundNode) = Nothing
1427Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(aggregate)
1448Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(aggregate)
1469Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(join)
1496Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(join)
1537Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(item)
1562Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(item)
1585Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(groupBy)
1623Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(func)
1642Dim binders As ImmutableArray(Of Binder) = GetQueryClauseLambdaBinders(operatorSyntax)
1655Private Function GetQueryClauseLambdaBinders(node As VisualBasicSyntaxNode) As ImmutableArray(Of Binder)
1660Dim binders As ImmutableArray(Of Binder) = Nothing
1829Friend Function GetBoundNodes(node As SyntaxNode) As ImmutableArray(Of BoundNode)
1830Dim bound As ImmutableArray(Of BoundNode) = Nothing
1847Return ImmutableArray(Of BoundNode).Empty
1900Return ImmutableArray(Of BoundNode).Empty
2061Dim boundNodes As ImmutableArray(Of BoundNode) = _binding.GuardedGetBoundNodesFromMap(node)
2118nodeCache As SmallDictionary(Of SyntaxNode, ImmutableArray(Of BoundNode)),
2324Dim haveBindersInTheMap As ImmutableArray(Of Binder) = Nothing
2337Dim haveBindersInTheMap As ImmutableArray(Of Binder) = Nothing
Binding\SyntheticBoundTrees\AnonymousTypeSyntheticMethods.vb (6)
49Return New BoundBlock(syntax, Nothing, ImmutableArray(Of LocalSymbol).Empty, statements.ToImmutableAndFree()).MakeCompilerGenerated()
78Return New BoundBlock(syntax, Nothing, ImmutableArray(Of LocalSymbol).Empty,
161ImmutableArray(Of BoundExpression).Empty,
177ImmutableArray(Of LocalSymbol).Empty,
295Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty,
384ImmutableArray(Of LocalSymbol).Empty,
BoundTree\BoundArrayCreation.vb (2)
13Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, type As TypeSymbol, Optional hasErrors As Boolean = False)
17Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
CommandLine\VisualBasicCompiler.vb (11)
21Private _additionalTextFiles As ImmutableArray(Of AdditionalTextFile)
33Private Function GetAdditionalTextFiles() As ImmutableArray(Of AdditionalTextFile)
38Protected Overrides Function ResolveAdditionalFilesFromArguments(diagnostics As List(Of DiagnosticInfo), messageProvider As CommonMessageProvider, touchedFilesLogger As TouchedFileLogger) As ImmutableArray(Of AdditionalTextFile)
89analyzerConfigOptions As ImmutableArray(Of AnalyzerConfigOptionsResult),
99Dim sourceFiles As ImmutableArray(Of CommandLineSourceFile) = Arguments.SourceFiles
159Dim sourceFileResolver = New LoggingSourceFileResolver(ImmutableArray(Of String).Empty, Arguments.BaseDirectory, Arguments.PathMap, touchedFilesLogger)
261ByRef analyzers As ImmutableArray(Of DiagnosticAnalyzer),
262ByRef generators As ImmutableArray(Of ISourceGenerator))
300Private Protected Overrides Function CreateGeneratorDriver(baseDirectory As String, parseOptions As ParseOptions, generators As ImmutableArray(Of ISourceGenerator), analyzerConfigOptionsProvider As AnalyzerConfigOptionsProvider, additionalTexts As ImmutableArray(Of AdditionalText)) As GeneratorDriver
305Private Protected Overrides Sub DiagnoseBadAccesses(consoleOutput As TextWriter, errorLogger As ErrorLogger, compilation As Compilation, diagnostics As ImmutableArray(Of Diagnostic))
Compilation\MethodCompiler.vb (41)
321lambdaDebugInfo:=ImmutableArray(Of EncLambdaInfo).Empty,
322orderedLambdaRuntimeRudeEdits:=ImmutableArray(Of LambdaRuntimeRudeEditInfo).Empty,
323closureDebugInfo:=ImmutableArray(Of EncClosureInfo).Empty,
324stateMachineStateDebugInfos:=ImmutableArray(Of StateMachineStateDebugInfo).Empty,
330codeCoverageSpans:=ImmutableArray(Of SourceSpan).Empty)
463Private Sub AssertAllInitializersAreConstants(initializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer)))
675If CType(method, SourceMethodSymbol).SetDiagnostics(ImmutableArray(Of Diagnostic).Empty) Then
892lambdaDebugInfo:=ImmutableArray(Of EncLambdaInfo).Empty,
893orderedLambdaRuntimeRudeEdits:=ImmutableArray(Of LambdaRuntimeRudeEditInfo).Empty,
894closureDebugInfo:=ImmutableArray(Of EncClosureInfo).Empty,
895stateMachineStateDebugInfos:=ImmutableArray(Of StateMachineStateDebugInfo).Empty,
901codeCoverageSpans:=ImmutableArray(Of SourceSpan).Empty)
921Private Sub CompileSynthesizedMethods(additionalTypes As ImmutableArray(Of NamedTypeSymbol))
946Dim codeCoverageSpans As ImmutableArray(Of SourceSpan) = ImmutableArray(Of SourceSpan).Empty
1039lambdaDebugInfo:=ImmutableArray(Of EncLambdaInfo).Empty,
1040orderedLambdaRuntimeRudeEdits:=ImmutableArray(Of LambdaRuntimeRudeEditInfo).Empty,
1041closureDebugInfo:=ImmutableArray(Of EncClosureInfo).Empty,
1048codeCoverageSpans:=ImmutableArray(Of SourceSpan).Empty)
1244If sourceMethod IsNot Nothing AndAlso sourceMethod.SetDiagnostics(ImmutableArray(Of Diagnostic).Empty) Then
1344Private Sub CreateSyntheticWithEventOverridesIfNeeded(handledEvents As ImmutableArray(Of HandledEvent),
1395codeCoverageSpans:=ImmutableArray(Of SourceSpan).Empty,
1505Dim codeCoverageSpans As ImmutableArray(Of SourceSpan) = ImmutableArray(Of SourceSpan).Empty
1531ImmutableArray(Of BoundStatement).Empty)
1553body = New BoundBlock(body.Syntax, Nothing, ImmutableArray(Of LocalSymbol).Empty, boundStatements.ToImmutableAndFree(), body.HasErrors).MakeCompilerGenerated()
1595lambdaDebugInfo As ImmutableArray(Of EncLambdaInfo),
1596orderedLambdaRuntimeRudeEdits As ImmutableArray(Of LambdaRuntimeRudeEditInfo),
1597closureDebugInfo As ImmutableArray(Of EncClosureInfo),
1598stateMachineStateDebugInfos As ImmutableArray(Of StateMachineStateDebugInfo),
1604codeCoverageSpans As ImmutableArray(Of SourceSpan)) As MethodBody
1650Dim asyncYieldPoints As ImmutableArray(Of Integer) = Nothing
1651Dim asyncResumePoints As ImmutableArray(Of Integer) = Nothing
1692Dim stateMachineHoistedLocalSlots As ImmutableArray(Of EncHoistedLocalInfo) = Nothing
1693Dim stateMachineAwaiterSlots As ImmutableArray(Of Cci.ITypeReference) = Nothing
1736ByRef hoistedVariableSlots As ImmutableArray(Of EncHoistedLocalInfo),
1737ByRef awaiterSlots As ImmutableArray(Of Cci.ITypeReference))
1993Dim locations As ImmutableArray(Of Location) = If(constructor.IsImplicitlyDeclared, containingType.Locations, constructor.Locations)
2093baseInvocation = New BoundCall(syntaxNode, constructorToCall, Nothing, thisRef, ImmutableArray(Of BoundExpression).Empty, Nothing, voidType)
2113ImmutableArray(Of BoundExpression).Empty,
Compilation\SemanticModel.vb (54)
100Friend MustOverride Function GetExpressionMemberGroup(node As ExpressionSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Symbol)
107Friend MustOverride Function GetAttributeMemberGroup(attribute As AttributeSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Symbol)
277Dim memberGroup As ImmutableArray(Of Symbol) = Nothing
278Dim symbols As ImmutableArray(Of Symbol) = GetSemanticSymbols(boundNodes, binderOpt, options, resultKind, memberGroup)
439Public Shadows Function GetMemberGroup(expression As ExpressionSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
451Return ImmutableArray(Of ISymbol).Empty
455Public Shadows Function GetSpeculativeMemberGroup(position As Integer, expression As ExpressionSyntax) As ImmutableArray(Of ISymbol)
468Return ImmutableArray(Of ISymbol).Empty
472Public Shadows Function GetMemberGroup(attribute As AttributeSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
484Return ImmutableArray(Of ISymbol).Empty
488Friend Function GetMemberGroupForNode(boundNodes As BoundNodeSummary, binderOpt As Binder) As ImmutableArray(Of Symbol)
491Dim memberGroup As ImmutableArray(Of Symbol) = Nothing
492Dim symbols As ImmutableArray(Of Symbol) = GetSemanticSymbols(boundNodes, binderOpt, SymbolInfoOptions.DefaultOptions, resultKind, memberGroup)
870Friend Function RemoveErrorTypesAndDuplicates(symbolsBuilder As ArrayBuilder(Of Symbol), options As SymbolInfoOptions) As ImmutableArray(Of Symbol)
875Return ImmutableArray(Of Symbol).Empty
1017ByRef memberGroup As ImmutableArray(Of Symbol)) As ImmutableArray(Of Symbol)
1089Dim symbols = ImmutableArray(Of Symbol).Empty
1169Dim bindingSymbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(symbolsBuilder, options)
1394Private Shared Function UnwrapAliases(symbols As ImmutableArray(Of Symbol)) As ImmutableArray(Of Symbol)
1416ByRef bindingSymbols As ImmutableArray(Of Symbol),
1468ByRef bindingSymbols As ImmutableArray(Of Symbol),
1483Dim candidateConstructors As ImmutableArray(Of MethodSymbol)
1496candidateConstructors = ImmutableArray(Of MethodSymbol).Empty
1544Dim symbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(symbolsBuilder, options)
1601) As ImmutableArray(Of ISymbol)
1651) As ImmutableArray(Of ISymbol)
1684) As ImmutableArray(Of ISymbol)
1716) As ImmutableArray(Of ISymbol)
1744) As ImmutableArray(Of ISymbol)
1820useBaseReferenceAccessibility As Boolean) As ImmutableArray(Of Symbol)
1832Return ImmutableArray(Of Symbol).Empty
2006Dim constructors As ImmutableArray(Of MethodSymbol) = ImmutableArray(Of MethodSymbol).Empty
2745Friend MustOverride Function GetDeclaredSymbols(declarationSyntax As FieldDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
2818Dim memberGroup As ImmutableArray(Of Symbol) = Nothing
2819Dim containingInvocationInfosymbols As ImmutableArray(Of Symbol) = GetSemanticSymbols(summary,
2830Private Function FindNameParameterInfo(invocationInfosymbols As ImmutableArray(Of Symbol),
2853Dim params As ImmutableArray(Of ParameterSymbol)
3146Private Function GetMemberGroupForNode(node As SyntaxNode, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
3161Return ImmutableArray(Of ISymbol).Empty
3212Protected NotOverridable Overrides Function GetMemberGroupCore(node As SyntaxNode, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
3216Protected NotOverridable Overrides Function LookupSymbolsCore(position As Integer, container As INamespaceOrTypeSymbol, name As String, includeReducedExtensionMethods As Boolean) As ImmutableArray(Of ISymbol)
3220Protected NotOverridable Overrides Function LookupBaseMembersCore(position As Integer, name As String) As ImmutableArray(Of ISymbol)
3224Protected NotOverridable Overrides Function LookupStaticMembersCore(position As Integer, container As INamespaceOrTypeSymbol, name As String) As ImmutableArray(Of ISymbol)
3228Protected NotOverridable Overrides Function LookupNamespacesAndTypesCore(position As Integer, container As INamespaceOrTypeSymbol, name As String) As ImmutableArray(Of ISymbol)
3232Protected NotOverridable Overrides Function LookupLabelsCore(position As Integer, name As String) As ImmutableArray(Of ISymbol)
3360Protected NotOverridable Overrides Function GetDeclaredSymbolsCore(declaration As SyntaxNode, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
3439Private Protected NotOverridable Overrides Function GetImportScopesCore(position As Integer, cancellationToken As CancellationToken) As ImmutableArray(Of IImportScope)
3501Dim aliases = If(importAliases?.GetImportChainData(), ImmutableArray(Of IAliasSymbol).Empty)
3502Dim [imports] = If(typesOfImportedNamespacesMembers?.GetImportChainData(), ImmutableArray(Of ImportedNamespaceOrType).Empty)
3503Dim xmlNamespaces = If(xmlNamespaceImports?.GetImportChainData(), ImmutableArray(Of ImportedXmlNamespace).Empty)
3508scopes.Add(New SimpleImportScope(aliases, ExternAliases:=ImmutableArray(Of IAliasSymbol).Empty, [imports], xmlNamespaces))
Compilation\SyntaxTreeSemanticModel.vb (26)
93Public Overrides Function GetDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
105Public Overrides Function GetSyntaxDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
120Public Overrides Function GetDeclarationDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
135Public Overrides Function GetMethodBodyDiagnostics(Optional span As TextSpan? = Nothing, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
331Friend Overrides Function GetExpressionMemberGroup(node As ExpressionSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Symbol)
339Return ImmutableArray(Of Symbol).Empty
447Friend Overrides Function GetAttributeMemberGroup(attribute As AttributeSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Symbol)
453Return ImmutableArray(Of Symbol).Empty
475Dim typeParameters As ImmutableArray(Of Symbol) = Nothing
476Dim result As ImmutableArray(Of Symbol) = GetCrefOrNameAttributeReferenceSymbols(node, (options And SymbolInfoOptions.ResolveAliases) = 0, typeParameters)
492result = ImmutableArray(Of Symbol).Empty
497Dim symbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(symbolsBuilder, options)
509Dim typeParameters As ImmutableArray(Of Symbol) = Nothing
510Dim result As ImmutableArray(Of Symbol) = GetCrefOrNameAttributeReferenceSymbols(name, preserveAlias:=False, typeParameters:=typeParameters)
545<Out> ByRef typeParameters As ImmutableArray(Of Symbol)) As ImmutableArray(Of Symbol)
546typeParameters = ImmutableArray(Of Symbol).Empty
601Dim symbols As ImmutableArray(Of Symbol)
790Dim symbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(implementedMemberBuilder, options)
804Dim symbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(builder, options)
818Dim symbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(builder, options)
832Dim symbols As ImmutableArray(Of Symbol) = RemoveErrorTypesAndDuplicates(builder, options)
1141Private Function GetTypeParameterSymbol(parameters As ImmutableArray(Of TypeParameterSymbol), parameter As TypeParameterSyntax) As TypeParameterSymbol
1353Friend Overrides Function GetDeclaredSymbols(declarationSyntax As FieldDeclarationSyntax, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of ISymbol)
1896Dim node As BoundBadStatement = New BoundBadStatement(expression, ImmutableArray(Of BoundNode).Empty)
1912Dim node As BoundBadStatement = New BoundBadStatement(firstStatement, ImmutableArray(Of BoundNode).Empty)
Compilation\VisualBasicCompilation.vb (58)
88Private ReadOnly _syntaxTrees As ImmutableArray(Of SyntaxTree)
96Private _lazyAllSyntaxTrees As ImmutableArray(Of SyntaxTree)
112Private _lazyImportClauseDependencies As ConcurrentDictionary(Of (SyntaxTree As SyntaxTree, ImportsClausePosition As Integer), ImmutableArray(Of AssemblySymbol))
120Private _lazyClsComplianceDiagnostics As ImmutableArray(Of Diagnostic)
121Private _lazyClsComplianceDependencies As ImmutableArray(Of AssemblySymbol)
140Private ReadOnly _embeddedTrees As ImmutableArray(Of EmbeddedTreeAndDeclaration)
393ImmutableArray(Of SyntaxTree).Empty,
419references As ImmutableArray(Of MetadataReference),
420syntaxTrees As ImmutableArray(Of SyntaxTree),
423embeddedTrees As ImmutableArray(Of EmbeddedTreeAndDeclaration),
486Private Function CommonLanguageVersion(syntaxTrees As ImmutableArray(Of SyntaxTree)) As LanguageVersion
526syntaxTrees As ImmutableArray(Of SyntaxTree),
878Public Shadows ReadOnly Property SyntaxTrees As ImmutableArray(Of SyntaxTree)
888Friend Shadows ReadOnly Property AllSyntaxTrees As ImmutableArray(Of SyntaxTree)
1064Return UpdateSyntaxTrees(ImmutableArray(Of SyntaxTree).Empty,
1128Private Shared Function CreateEmbeddedTrees(compReference As Lazy(Of VisualBasicCompilation)) As ImmutableArray(Of EmbeddedTreeAndDeclaration)
1184embeddedTrees As ImmutableArray(Of EmbeddedTreeAndDeclaration)
1195embeddedTrees As ImmutableArray(Of EmbeddedTreeAndDeclaration)
1297Public Overrides ReadOnly Property DirectiveReferences As ImmutableArray(Of MetadataReference)
1362Public Overrides Function ToMetadataReference(Optional aliases As ImmutableArray(Of String) = Nothing, Optional embedInteropTypes As Boolean = False) As CompilationReference
1504Return New EntryPoint(Nothing, ImmutableArray(Of Diagnostic).Empty)
1508Dim diagnostics As ImmutableArray(Of Diagnostic) = Nothing
1516Private Function FindEntryPoint(cancellationToken As CancellationToken, ByRef sealedDiagnostics As ImmutableArray(Of Diagnostic)) As MethodSymbol
1671Public ReadOnly Diagnostics As ImmutableArray(Of Diagnostic)
1673Public Sub New(methodSymbol As MethodSymbol, diagnostics As ImmutableArray(Of Diagnostic))
1682Friend ReadOnly Property MemberImports As ImmutableArray(Of NamespaceOrTypeSymbol)
1691Friend ReadOnly Property AliasImports As ImmutableArray(Of AliasSymbol)
1761Dim dependencies As ImmutableArray(Of AssemblySymbol) = Nothing
1820Friend Sub RecordImportsClauseDependencies(syntaxTree As SyntaxTree, importsClausePosition As Integer, dependencies As ImmutableArray(Of AssemblySymbol))
1833Public ReadOnly ClauseSpans As ImmutableArray(Of TextSpan)
2080Public Overrides Function GetDiagnostics(Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
2089Public Overrides Function GetParseDiagnostics(Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
2099Public Overrides Function GetDeclarationDiagnostics(Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
2109Public Overrides Function GetMethodBodyDiagnostics(Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
2122Friend Overloads Function GetDiagnostics(stage As CompilationStage, Optional includeEarlierStages As Boolean = True, Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
2245Optional cancellationToken As CancellationToken = Nothing) As ImmutableArray(Of Diagnostic)
2321Friend Overrides Function CreateAnalyzerDriver(analyzers As ImmutableArray(Of DiagnosticAnalyzer), analyzerManager As AnalyzerManager, severityFilter As SeverityFilter) As AnalyzerDriver
2388ImmutableArray(Of NamedTypeSymbol).Empty,
2400additionalTypes As ImmutableArray(Of NamedTypeSymbol),
2574Dim modules As ImmutableArray(Of ModuleSymbol) = SourceAssembly.Modules
2667Private Shared Function CheckSumMatches(bytesText As String, bytes As ImmutableArray(Of Byte)) As Boolean
2685Private Shared Function MakeCheckSumBytes(bytesText As String) As ImmutableArray(Of Byte)
2755Protected Overrides ReadOnly Property CommonSyntaxTrees As ImmutableArray(Of SyntaxTree)
2855Protected Overrides Function CommonCreateTupleTypeSymbol(elementTypes As ImmutableArray(Of ITypeSymbol),
2856elementNames As ImmutableArray(Of String),
2857elementLocations As ImmutableArray(Of Location),
2858elementNullableAnnotations As ImmutableArray(Of NullableAnnotation)) As INamedTypeSymbol
2874elementNames As ImmutableArray(Of String),
2875elementLocations As ImmutableArray(Of Location),
2876elementNullableAnnotations As ImmutableArray(Of NullableAnnotation)) As INamedTypeSymbol
2903parameterTypes As ImmutableArray(Of ITypeSymbol),
2904parameterRefKinds As ImmutableArray(Of RefKind),
2906callingConventionTypes As ImmutableArray(Of INamedTypeSymbol)) As IFunctionPointerTypeSymbol
2915memberTypes As ImmutableArray(Of ITypeSymbol),
2916memberNames As ImmutableArray(Of String),
2917memberLocations As ImmutableArray(Of Location),
2918memberIsReadOnly As ImmutableArray(Of Boolean),
2919memberNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As INamedTypeSymbol
Declarations\DeclarationTreeBuilder.vb (22)
16Private ReadOnly _rootNamespace As ImmutableArray(Of String)
27Public Shared Function ForTree(tree As SyntaxTree, rootNamespace As ImmutableArray(Of String), scriptClassName As String, isSubmission As Boolean) As RootSingleNamespaceDeclaration
33Private Sub New(syntaxTree As SyntaxTree, rootNamespace As ImmutableArray(Of String), scriptClassName As String, isSubmission As Boolean)
44Private Function VisitNamespaceChildren(node As VisualBasicSyntaxNode, members As SyntaxList(Of StatementSyntax)) As ImmutableArray(Of SingleNamespaceOrTypeDeclaration)
101Private Shared Function GetReferenceDirectives(compilationUnit As CompilationUnitSyntax) As ImmutableArray(Of ReferenceDirective)
105Return ImmutableArray(Of ReferenceDirective).Empty
115Private Function CreateImplicitClass(parent As VisualBasicSyntaxNode, memberNames As ImmutableHashSet(Of String), children As ImmutableArray(Of SingleTypeDeclaration), declFlags As SingleTypeDeclaration.TypeDeclarationFlags) As SingleNamespaceOrTypeDeclaration
131Private Function CreateScriptClass(parent As VisualBasicSyntaxNode, children As ImmutableArray(Of SingleTypeDeclaration), memberNames As ImmutableHashSet(Of String), declFlags As SingleTypeDeclaration.TypeDeclarationFlags) As SingleNamespaceOrTypeDeclaration
165Dim children As ImmutableArray(Of SingleNamespaceOrTypeDeclaration)
166Dim globalChildren As ImmutableArray(Of SingleNamespaceOrTypeDeclaration) = Nothing
167Dim nonGlobal As ImmutableArray(Of SingleNamespaceOrTypeDeclaration) = Nothing
174Dim referenceDirectives As ImmutableArray(Of ReferenceDirective)
201referenceDirectives = ImmutableArray(Of ReferenceDirective).Empty
257Private Sub FindGlobalDeclarations(declarations As ImmutableArray(Of SingleNamespaceOrTypeDeclaration),
259ByRef globalDeclarations As ImmutableArray(Of SingleNamespaceOrTypeDeclaration),
260ByRef nonGlobal As ImmutableArray(Of SingleNamespaceOrTypeDeclaration))
294children As ImmutableArray(Of SingleNamespaceOrTypeDeclaration)) As SingleNamespaceDeclaration
453Dim children = ImmutableArray(Of SingleTypeDeclaration).Empty
582Private Function VisitTypeChildren(members As SyntaxList(Of StatementSyntax)) As ImmutableArray(Of SingleTypeDeclaration)
584Return ImmutableArray(Of SingleTypeDeclaration).Empty
758children:=ImmutableArray(Of SingleTypeDeclaration).Empty,
784children:=ImmutableArray(Of SingleTypeDeclaration).Empty,
Emit\EditAndContinue\VisualBasicSymbolMatcher.vb (18)
28otherSynthesizedMembersOpt As IReadOnlyDictionary(Of ISymbolInternal, ImmutableArray(Of ISymbolInternal)),
29otherDeletedMembersOpt As IReadOnlyDictionary(Of ISymbolInternal, ImmutableArray(Of ISymbolInternal)))
80Private ReadOnly _otherSynthesizedMembersOpt As IReadOnlyDictionary(Of ISymbolInternal, ImmutableArray(Of ISymbolInternal))
81Private ReadOnly _otherDeletedMembersOpt As IReadOnlyDictionary(Of ISymbolInternal, ImmutableArray(Of ISymbolInternal))
87Private ReadOnly _otherMembers As ConcurrentDictionary(Of ISymbolInternal, IReadOnlyDictionary(Of String, ImmutableArray(Of ISymbolInternal)))
92otherSynthesizedMembersOpt As IReadOnlyDictionary(Of ISymbolInternal, ImmutableArray(Of ISymbolInternal)),
93otherDeletedMembers As IReadOnlyDictionary(Of ISymbolInternal, ImmutableArray(Of ISymbolInternal)),
103_otherMembers = New ConcurrentDictionary(Of ISymbolInternal, IReadOnlyDictionary(Of String, ImmutableArray(Of ISymbolInternal)))(ReferenceEqualityComparer.Instance)
249Dim otherTypeParameters As ImmutableArray(Of TypeParameterSymbol) = otherDef.GetAllTypeParameters()
327Dim otherTypeParameters As ImmutableArray(Of TypeParameterSymbol)
344Private Function VisitCustomModifiers(modifiers As ImmutableArray(Of CustomModifier)) As ImmutableArray(Of CustomModifier)
382Dim otherMembers As ImmutableArray(Of ISymbolInternal) = Nothing
505Private Function GetAllEmittedMembers(symbol As ISymbolInternal) As IReadOnlyDictionary(Of String, ImmutableArray(Of ISymbolInternal))
519Dim synthesizedMembers As ImmutableArray(Of ISymbolInternal) = Nothing
524Dim deletedMembers As ImmutableArray(Of ISymbolInternal) = Nothing
618Private Function VisitCustomModifiers(modifiers As ImmutableArray(Of CustomModifier)) As ImmutableArray(Of CustomModifier)
Emit\NoPia\EmbeddedTypesManager.vb (9)
88Friend Overrides Function CreateSynthesizedAttribute(constructor As WellKnownMember, constructorArguments As ImmutableArray(Of TypedConstant), namedArguments As ImmutableArray(Of KeyValuePair(Of String, TypedConstant)), syntaxNodeOpt As SyntaxNode, diagnostics As DiagnosticBag) As VisualBasicAttributeData
101ImmutableArray(Of KeyValuePair(Of String, TypedConstant)).Empty)
110ImmutableArray(Of KeyValuePair(Of String, TypedConstant)).Empty)
118Friend Overrides Function TryGetAttributeArguments(attrData As VisualBasicAttributeData, ByRef constructorArguments As ImmutableArray(Of TypedConstant), ByRef namedArguments As ImmutableArray(Of KeyValuePair(Of String, TypedConstant)), syntaxNodeOpt As SyntaxNode, diagnostics As DiagnosticBag) As Boolean
145Protected Overrides Sub OnGetTypesCompleted(types As ImmutableArray(Of EmbeddedType), diagnostics As DiagnosticBag)
532Friend Shared Function EmbedParameters(containingPropertyOrMethod As CommonEmbeddedMember, underlyingParameters As ImmutableArray(Of ParameterSymbol)) As ImmutableArray(Of EmbeddedParameter)
Generated\BoundNodes.xml.Generated.vb (292)
238Public Sub New(syntax As SyntaxNode, arguments As ImmutableArray(Of TypeSymbol), hasErrors As Boolean)
246Public Sub New(syntax As SyntaxNode, arguments As ImmutableArray(Of TypeSymbol))
255Private ReadOnly _Arguments As ImmutableArray(Of TypeSymbol)
256Public ReadOnly Property Arguments As ImmutableArray(Of TypeSymbol)
267Public Function Update(arguments As ImmutableArray(Of TypeSymbol)) As BoundTypeArguments
586Public Sub New(syntax As SyntaxNode, resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
610Private ReadOnly _Symbols As ImmutableArray(Of Symbol)
611Public ReadOnly Property Symbols As ImmutableArray(Of Symbol)
617Private ReadOnly _ChildBoundNodes As ImmutableArray(Of BoundExpression)
618Public ReadOnly Property ChildBoundNodes As ImmutableArray(Of BoundExpression)
629Public Function Update(resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundBadExpression
642Public Sub New(syntax As SyntaxNode, childBoundNodes As ImmutableArray(Of BoundNode), Optional hasErrors As Boolean = False)
651Private ReadOnly _ChildBoundNodes As ImmutableArray(Of BoundNode)
652Public ReadOnly Property ChildBoundNodes As ImmutableArray(Of BoundNode)
663Public Function Update(childBoundNodes As ImmutableArray(Of BoundNode)) As BoundBadStatement
757Public Sub New(syntax As SyntaxNode, expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
782Private ReadOnly _Indices As ImmutableArray(Of BoundExpression)
783Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression)
801Public Function Update(expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol) As BoundArrayAccess
2220Public Sub New(syntax As SyntaxNode, elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression), Optional hasErrors As Boolean = False)
2236Private ReadOnly _ElementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder)
2237Public ReadOnly Property ElementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder)
2243Private ReadOnly _ConvertedElements As ImmutableArray(Of BoundExpression)
2244Public ReadOnly Property ConvertedElements As ImmutableArray(Of BoundExpression)
2255Public Function Update(elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression)) As BoundConvertedTupleElements
2682Public Sub New(syntax As SyntaxNode, typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2701Private ReadOnly _Methods As ImmutableArray(Of MethodSymbol)
2702Public ReadOnly Property Methods As ImmutableArray(Of MethodSymbol)
2727Public Function Update(typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundMethodGroup
2740Public Sub New(syntax As SyntaxNode, properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2750Private ReadOnly _Properties As ImmutableArray(Of PropertySymbol)
2751Public ReadOnly Property Properties As ImmutableArray(Of PropertySymbol)
2769Public Function Update(properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundPropertyGroup
2904Public Sub New(syntax As SyntaxNode, clauses As ImmutableArray(Of BoundRedimClause), Optional hasErrors As Boolean = False)
2913Private ReadOnly _Clauses As ImmutableArray(Of BoundRedimClause)
2914Public ReadOnly Property Clauses As ImmutableArray(Of BoundRedimClause)
2925Public Function Update(clauses As ImmutableArray(Of BoundRedimClause)) As BoundRedimStatement
2938Public Sub New(syntax As SyntaxNode, operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean, Optional hasErrors As Boolean = False)
2963Private ReadOnly _Indices As ImmutableArray(Of BoundExpression)
2964Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression)
2989Public Function Update(operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean) As BoundRedimClause
3002Public Sub New(syntax As SyntaxNode, clauses As ImmutableArray(Of BoundAssignmentOperator), Optional hasErrors As Boolean = False)
3011Private ReadOnly _Clauses As ImmutableArray(Of BoundAssignmentOperator)
3012Public ReadOnly Property Clauses As ImmutableArray(Of BoundAssignmentOperator)
3023Public Function Update(clauses As ImmutableArray(Of BoundAssignmentOperator)) As BoundEraseStatement
3036Public Sub New(syntax As SyntaxNode, method As MethodSymbol, methodGroupOpt As BoundMethodGroup, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, constantValueOpt As ConstantValue, isLValue As Boolean, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
3080Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3081Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3120Public Function Update(method As MethodSymbol, methodGroupOpt As BoundMethodGroup, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, constantValueOpt As ConstantValue, isLValue As Boolean, suppressObjectClone As Boolean, type As TypeSymbol) As BoundCall
3133Public Sub New(syntax As SyntaxNode, constructor As MethodSymbol, constructorArguments As ImmutableArray(Of BoundExpression), constructorDefaultArguments As BitVector, namedArguments As ImmutableArray(Of BoundExpression), resultKind As LookupResultKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3155Private ReadOnly _ConstructorArguments As ImmutableArray(Of BoundExpression)
3156Public ReadOnly Property ConstructorArguments As ImmutableArray(Of BoundExpression)
3169Private ReadOnly _NamedArguments As ImmutableArray(Of BoundExpression)
3170Public ReadOnly Property NamedArguments As ImmutableArray(Of BoundExpression)
3188Public Function Update(constructor As MethodSymbol, constructorArguments As ImmutableArray(Of BoundExpression), constructorDefaultArguments As BitVector, namedArguments As ImmutableArray(Of BoundExpression), resultKind As LookupResultKind, type As TypeSymbol) As BoundAttribute
3272Public Sub New(syntax As SyntaxNode, member As BoundExpression, argumentsOpt As ImmutableArray(Of BoundExpression), argumentNamesOpt As ImmutableArray(Of string), accessKind As LateBoundAccessKind, methodOrPropertyGroupOpt As BoundMethodOrPropertyGroup, type As TypeSymbol, Optional hasErrors As Boolean = False)
3298Private ReadOnly _ArgumentsOpt As ImmutableArray(Of BoundExpression)
3299Public ReadOnly Property ArgumentsOpt As ImmutableArray(Of BoundExpression)
3305Private ReadOnly _ArgumentNamesOpt As ImmutableArray(Of string)
3306Public ReadOnly Property ArgumentNamesOpt As ImmutableArray(Of string)
3331Public Function Update(member As BoundExpression, argumentsOpt As ImmutableArray(Of BoundExpression), argumentNamesOpt As ImmutableArray(Of string), accessKind As LateBoundAccessKind, methodOrPropertyGroupOpt As BoundMethodOrPropertyGroup, type As TypeSymbol) As BoundLateInvocation
3387Protected Sub New(kind As BoundKind, syntax as SyntaxNode, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3396Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3397Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3407Public Sub New(syntax As SyntaxNode, inferredType As TupleTypeSymbol, argumentNamesOpt As ImmutableArray(Of String), inferredNamesOpt As ImmutableArray(Of Boolean), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3425Private ReadOnly _ArgumentNamesOpt As ImmutableArray(Of String)
3426Public ReadOnly Property ArgumentNamesOpt As ImmutableArray(Of String)
3432Private ReadOnly _InferredNamesOpt As ImmutableArray(Of Boolean)
3433Public ReadOnly Property InferredNamesOpt As ImmutableArray(Of Boolean)
3444Public Function Update(inferredType As TupleTypeSymbol, argumentNamesOpt As ImmutableArray(Of String), inferredNamesOpt As ImmutableArray(Of Boolean), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundTupleLiteral
3457Public Sub New(syntax As SyntaxNode, naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3479Public Function Update(naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundConvertedTupleLiteral
3517Public Sub New(syntax As SyntaxNode, constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol, Optional hasErrors As Boolean = False)
3549Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3550Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3568Public Function Update(constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol) As BoundObjectCreationExpression
3615Public Sub New(syntax As SyntaxNode, binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3634Private ReadOnly _Declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess)
3635Public ReadOnly Property Declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess)
3641Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3642Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3653Public Function Update(binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundAnonymousTypeCreationExpression
3760Protected Sub New(kind As BoundKind, syntax as SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3777Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression)
3778Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression)
3788Public Sub New(syntax As SyntaxNode, createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3814Public Function Update(createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundObjectInitializerExpression
3827Public Sub New(syntax As SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3845Public Function Update(placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundCollectionInitializerExpression
3956Public Sub New(syntax As SyntaxNode, isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3982Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression)
3983Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression)
4015Public Function Update(isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol) As BoundArrayCreation
4028Public Sub New(syntax As SyntaxNode, hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder, Optional hasErrors As Boolean = False)
4066Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression)
4067Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression)
4092Public Function Update(hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder) As BoundArrayLiteral
4105Public Sub New(syntax As SyntaxNode, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
4114Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression)
4115Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression)
4126Public Function Update(initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundArrayInitialization
4211Public Sub New(syntax As SyntaxNode, propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, isLValue As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, type As TypeSymbol, Optional hasErrors As Boolean = False)
4276Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
4277Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
4295Public Function Update(propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, isLValue As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, type As TypeSymbol) As BoundPropertyAccess
4351Public Sub New(syntax As SyntaxNode, statementListSyntax As SyntaxList(Of StatementSyntax), locals As ImmutableArray(Of LocalSymbol), statements As ImmutableArray(Of BoundStatement), Optional hasErrors As Boolean = False)
4370Private ReadOnly _Locals As ImmutableArray(Of LocalSymbol)
4371Public ReadOnly Property Locals As ImmutableArray(Of LocalSymbol)
4377Private ReadOnly _Statements As ImmutableArray(Of BoundStatement)
4378Public ReadOnly Property Statements As ImmutableArray(Of BoundStatement)
4389Public Function Update(statementListSyntax As SyntaxList(Of StatementSyntax), locals As ImmutableArray(Of LocalSymbol), statements As ImmutableArray(Of BoundStatement)) As BoundBlock
4402Public Sub New(syntax As SyntaxNode, fields As ImmutableArray(Of FieldSymbol), statement As BoundStatement, Optional hasErrors As Boolean = False)
4413Private ReadOnly _Fields As ImmutableArray(Of FieldSymbol)
4414Public ReadOnly Property Fields As ImmutableArray(Of FieldSymbol)
4432Public Function Update(fields As ImmutableArray(Of FieldSymbol), statement As BoundStatement) As BoundStateMachineScope
4521Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder, Optional hasErrors As Boolean = False)
4534Private ReadOnly _LocalDeclarations As ImmutableArray(Of BoundLocalDeclaration)
4535Public ReadOnly Property LocalDeclarations As ImmutableArray(Of BoundLocalDeclaration)
4560Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder) As BoundAsNewLocalDeclarations
4573Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression, Optional hasErrors As Boolean = False)
4583Private ReadOnly _LocalDeclarations As ImmutableArray(Of BoundLocalDeclarationBase)
4584Public ReadOnly Property LocalDeclarations As ImmutableArray(Of BoundLocalDeclarationBase)
4602Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression) As BoundDimStatement
4677Public Sub New(syntax As SyntaxNode, initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4687Private ReadOnly _InitializedFields As ImmutableArray(Of FieldSymbol)
4688Public ReadOnly Property InitializedFields As ImmutableArray(Of FieldSymbol)
4699Public Function Update(initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundFieldInitializer
4712Public Sub New(syntax As SyntaxNode, initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4722Private ReadOnly _InitializedProperties As ImmutableArray(Of PropertySymbol)
4723Public ReadOnly Property InitializedProperties As ImmutableArray(Of PropertySymbol)
4734Public Function Update(initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundPropertyInitializer
4824Public Sub New(syntax As SyntaxNode, locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
4842Private ReadOnly _Locals As ImmutableArray(Of LocalSymbol)
4843Public ReadOnly Property Locals As ImmutableArray(Of LocalSymbol)
4849Private ReadOnly _SideEffects As ImmutableArray(Of BoundExpression)
4850Public ReadOnly Property SideEffects As ImmutableArray(Of BoundExpression)
4868Public Function Update(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol) As BoundSequence
4966Public Sub New(syntax As SyntaxNode, expressionStatement As BoundExpressionStatement, exprPlaceholderOpt As BoundRValuePlaceholder, caseBlocks As ImmutableArray(Of BoundCaseBlock), recommendSwitchTable As Boolean, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
4995Private ReadOnly _CaseBlocks As ImmutableArray(Of BoundCaseBlock)
4996Public ReadOnly Property CaseBlocks As ImmutableArray(Of BoundCaseBlock)
5021Public Function Update(expressionStatement As BoundExpressionStatement, exprPlaceholderOpt As BoundRValuePlaceholder, caseBlocks As ImmutableArray(Of BoundCaseBlock), recommendSwitchTable As Boolean, exitLabel As LabelSymbol) As BoundSelectStatement
5077Public Sub New(syntax As SyntaxNode, caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5087Private ReadOnly _CaseClauses As ImmutableArray(Of BoundCaseClause)
5088Public ReadOnly Property CaseClauses As ImmutableArray(Of BoundCaseClause)
5106Public Function Update(caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression) As BoundCaseStatement
5433Protected Sub New(kind As BoundKind, syntax as SyntaxNode, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5469Private ReadOnly _NextVariablesOpt As ImmutableArray(Of BoundExpression)
5470Public ReadOnly Property NextVariablesOpt As ImmutableArray(Of BoundExpression)
5564Public Sub New(syntax As SyntaxNode, initialValue As BoundExpression, limitValue As BoundExpression, stepValue As BoundExpression, checked As Boolean, operatorsOpt As BoundForToUserDefinedOperators, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5623Public Function Update(initialValue As BoundExpression, limitValue As BoundExpression, stepValue As BoundExpression, checked As Boolean, operatorsOpt As BoundForToUserDefinedOperators, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundForToStatement
5636Public Sub New(syntax As SyntaxNode, collection As BoundExpression, enumeratorInfo As ForEachEnumeratorInfo, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5670Public Function Update(collection As BoundExpression, enumeratorInfo As ForEachEnumeratorInfo, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundForEachStatement
5767Public Sub New(syntax As SyntaxNode, tryBlock As BoundBlock, catchBlocks As ImmutableArray(Of BoundCatchBlock), finallyBlockOpt As BoundBlock, exitLabelOpt As LabelSymbol, Optional hasErrors As Boolean = False)
5787Private ReadOnly _CatchBlocks As ImmutableArray(Of BoundCatchBlock)
5788Public ReadOnly Property CatchBlocks As ImmutableArray(Of BoundCatchBlock)
5813Public Function Update(tryBlock As BoundBlock, catchBlocks As ImmutableArray(Of BoundCatchBlock), finallyBlockOpt As BoundBlock, exitLabelOpt As LabelSymbol) As BoundTryStatement
6649Public Sub New(syntax As SyntaxNode, statements As ImmutableArray(Of BoundStatement), Optional hasErrors As Boolean = False)
6658Private ReadOnly _Statements As ImmutableArray(Of BoundStatement)
6659Public ReadOnly Property Statements As ImmutableArray(Of BoundStatement)
6670Public Function Update(statements As ImmutableArray(Of BoundStatement)) As BoundStatementList
6786Public Sub New(syntax As SyntaxNode, binder As Binder, flags As SourceMemberFlags, parameters As ImmutableArray(Of ParameterSymbol), returnType As TypeSymbol, bindingCache As UnboundLambda.UnboundLambdaBindingCache, hasErrors As Boolean)
6805Public Sub New(syntax As SyntaxNode, binder As Binder, flags As SourceMemberFlags, parameters As ImmutableArray(Of ParameterSymbol), returnType As TypeSymbol, bindingCache As UnboundLambda.UnboundLambdaBindingCache)
6836Private ReadOnly _Parameters As ImmutableArray(Of ParameterSymbol)
6837Public ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
6862Public Function Update(binder As Binder, flags As SourceMemberFlags, parameters As ImmutableArray(Of ParameterSymbol), returnType As TypeSymbol, bindingCache As UnboundLambda.UnboundLambdaBindingCache) As UnboundLambda
7079Protected Sub New(kind As BoundKind, syntax as SyntaxNode, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, hasErrors As Boolean)
7092Protected Sub New(kind As BoundKind, syntax as SyntaxNode, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol)
7106Private ReadOnly _RangeVariables As ImmutableArray(Of RangeVariableSymbol)
7107Public ReadOnly Property RangeVariables As ImmutableArray(Of RangeVariableSymbol)
7120Private ReadOnly _Binders As ImmutableArray(Of Binder)
7121Public ReadOnly Property Binders As ImmutableArray(Of Binder)
7131Public Sub New(syntax As SyntaxNode, source As BoundQueryPart, rangeVariableOpt As RangeVariableSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7169Public Function Update(source As BoundQueryPart, rangeVariableOpt As RangeVariableSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundQueryableSource
7182Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7207Public Function Update(underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundQueryClause
7255Public Sub New(syntax As SyntaxNode, lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean, Optional hasErrors As Boolean = False)
7276Private ReadOnly _RangeVariables As ImmutableArray(Of RangeVariableSymbol)
7277Public ReadOnly Property RangeVariables As ImmutableArray(Of RangeVariableSymbol)
7302Public Function Update(lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean) As BoundQueryLambda
7359Public Sub New(syntax As SyntaxNode, binder As Binder, parameters As ImmutableArray(Of ParameterSymbol), compilation As VisualBasicCompilation, hasErrors As Boolean)
7371Public Sub New(syntax As SyntaxNode, binder As Binder, parameters As ImmutableArray(Of ParameterSymbol), compilation As VisualBasicCompilation)
7391Private ReadOnly _Parameters As ImmutableArray(Of ParameterSymbol)
7392Public ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
7410Public Function Update(binder As Binder, parameters As ImmutableArray(Of ParameterSymbol), compilation As VisualBasicCompilation) As GroupTypeInferenceLambda
7423Public Sub New(syntax As SyntaxNode, capturedGroupOpt As BoundQueryClauseBase, groupPlaceholderOpt As BoundRValuePlaceholder, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7464Public Function Update(capturedGroupOpt As BoundQueryClauseBase, groupPlaceholderOpt As BoundRValuePlaceholder, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundAggregateClause
7682Public Sub New(syntax As SyntaxNode, resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol), Optional hasErrors As Boolean = False)
7697Private ReadOnly _ResourceList As ImmutableArray(Of BoundLocalDeclarationBase)
7698Public ReadOnly Property ResourceList As ImmutableArray(Of BoundLocalDeclarationBase)
7725Private ReadOnly _Locals As ImmutableArray(Of LocalSymbol)
7726Public ReadOnly Property Locals As ImmutableArray(Of LocalSymbol)
7737Public Function Update(resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol)) As BoundUsingStatement
7890Public Sub New(syntax As SyntaxNode, declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
7911Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression)
7912Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression)
7930Public Function Update(declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlDocument
8165Public Sub New(syntax As SyntaxNode, argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
8186Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression)
8187Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression)
8205Public Function Update(argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlElement
8556Public Sub New(syntax As SyntaxNode, value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement), Optional hasErrors As Boolean = False)
8579Private ReadOnly _Jumps As ImmutableArray(Of BoundGotoStatement)
8580Public ReadOnly Property Jumps As ImmutableArray(Of BoundGotoStatement)
8591Public Function Update(value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement)) As BoundUnstructuredExceptionOnErrorSwitch
8604Public Sub New(syntax As SyntaxNode, resumeTargetTemporary As BoundLocal, resumeLabel As BoundLabelStatement, resumeNextLabel As BoundLabelStatement, jumps As ImmutableArray(Of BoundGotoStatement), Optional hasErrors As Boolean = False)
8645Private ReadOnly _Jumps As ImmutableArray(Of BoundGotoStatement)
8646Public ReadOnly Property Jumps As ImmutableArray(Of BoundGotoStatement)
8657Public Function Update(resumeTargetTemporary As BoundLocal, resumeLabel As BoundLabelStatement, resumeNextLabel As BoundLabelStatement, jumps As ImmutableArray(Of BoundGotoStatement)) As BoundUnstructuredExceptionResumeSwitch
8755Public Sub New(syntax As SyntaxNode, locals As ImmutableArray(Of LocalSymbol), spillFields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8774Private ReadOnly _Locals As ImmutableArray(Of LocalSymbol)
8775Public ReadOnly Property Locals As ImmutableArray(Of LocalSymbol)
8781Private ReadOnly _SpillFields As ImmutableArray(Of FieldSymbol)
8782Public ReadOnly Property SpillFields As ImmutableArray(Of FieldSymbol)
8788Private ReadOnly _Statements As ImmutableArray(Of BoundStatement)
8789Public ReadOnly Property Statements As ImmutableArray(Of BoundStatement)
8807Public Function Update(locals As ImmutableArray(Of LocalSymbol), spillFields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression, type As TypeSymbol) As BoundSpillSequence
9242Public Sub New(syntax As SyntaxNode, contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
9258Private ReadOnly _Contents As ImmutableArray(Of BoundNode)
9259Public ReadOnly Property Contents As ImmutableArray(Of BoundNode)
9277Public Function Update(contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol) As BoundInterpolatedStringExpression
12097Dim childBoundNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildBoundNodes)
12103Dim childBoundNodes As ImmutableArray(Of BoundNode) = Me.VisitList(node.ChildBoundNodes)
12121Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12292Dim elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder) = Me.VisitList(node.ElementPlaceholders)
12293Dim convertedElements As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConvertedElements)
12373Dim clauses As ImmutableArray(Of BoundRedimClause) = Me.VisitList(node.Clauses)
12379Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12384Dim clauses As ImmutableArray(Of BoundAssignmentOperator) = Me.VisitList(node.Clauses)
12391Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12397Dim constructorArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConstructorArguments)
12398Dim namedArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NamedArguments)
12413Dim argumentsOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ArgumentsOpt)
12426Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12432Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12440Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12453Dim declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess) = Me.VisitList(node.Declarations)
12454Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12472Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12479Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12500Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12508Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12515Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12529Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12541Dim statements As ImmutableArray(Of BoundStatement) = Me.VisitList(node.Statements)
12557Dim localDeclarations As ImmutableArray(Of BoundLocalDeclaration) = Me.VisitList(node.LocalDeclarations)
12563Dim localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase) = Me.VisitList(node.LocalDeclarations)
12595Dim sideEffects As ImmutableArray(Of BoundExpression) = Me.VisitList(node.SideEffects)
12616Dim caseBlocks As ImmutableArray(Of BoundCaseBlock) = Me.VisitList(node.CaseBlocks)
12627Dim caseClauses As ImmutableArray(Of BoundCaseClause) = Me.VisitList(node.CaseClauses)
12682Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12690Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12704Dim catchBlocks As ImmutableArray(Of BoundCatchBlock) = Me.VisitList(node.CatchBlocks)
12803Dim statements As ImmutableArray(Of BoundStatement) = Me.VisitList(node.Statements)
12923Dim resourceList As ImmutableArray(Of BoundLocalDeclarationBase) = Me.VisitList(node.ResourceList)
12952Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
12991Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
13039Dim jumps As ImmutableArray(Of BoundGotoStatement) = Me.VisitList(node.Jumps)
13047Dim jumps As ImmutableArray(Of BoundGotoStatement) = Me.VisitList(node.Jumps)
13063Dim statements As ImmutableArray(Of BoundStatement) = Me.VisitList(node.Statements)
13127Dim contents As ImmutableArray(Of BoundNode) = Me.VisitList(node.Contents)
Lowering\AsyncRewriter\AsyncRewriter.SpillBuilder.vb (6)
40F.SpillSequence(If(Me._locals Is Nothing, ImmutableArray(Of LocalSymbol).Empty, Me._locals.ToImmutableAndFree()),
41If(Me._fields Is Nothing, ImmutableArray(Of FieldSymbol).Empty, Me._fields.ToImmutableAndFree()),
42If(Me._statements Is Nothing, ImmutableArray(Of BoundStatement).Empty, Me._statements.ToImmutableAndFree()),
83Friend Sub AddLocals(locals As ImmutableArray(Of LocalSymbol))
96ImmutableArray(Of FieldSymbol).Empty,
123Private Shared Sub AddRange(Of T)(<[In], Out> ByRef array As ArrayBuilder(Of T), other As ImmutableArray(Of T))
Lowering\LambdaRewriter\LambdaRewriter.vb (11)
95Private _currentTypeParameters As ImmutableArray(Of TypeParameterSymbol)
256CompilationState.AddSynthesizedMethod(frame.Constructor, MakeFrameCtor(frame, Diagnostics), stateMachineType:=Nothing, ImmutableArray(Of StateMachineStateDebugInfo).Empty)
355CompilationState.AddSynthesizedMethod(frame.Constructor, MakeFrameCtor(frame, diagnostics), stateMachineType:=Nothing, ImmutableArray(Of StateMachineStateDebugInfo).Empty)
366CompilationState.AddSynthesizedMethod(frame.SharedConstructor, body, stateMachineType:=Nothing, ImmutableArray(Of StateMachineStateDebugInfo).Empty)
495ImmutableArray(Of LocalSymbol).Empty,
502Friend Shared Function ConstructFrameType(Of T As TypeSymbol)(type As LambdaFrame, typeArguments As ImmutableArray(Of T)) As NamedTypeSymbol
535ImmutableArray(Of BoundExpression).Empty,
848ImmutableArray(Of LocalSymbol).Empty,
1046SlotAllocatorOpt?.TryGetPreviousLambda(lambdaOrLambdaBodySyntax, isLambdaBody, closureOrdinal, structClosureIds:=ImmutableArray(Of DebugId).Empty, previousLambdaId, lambdaRudeEdit) = True AndAlso
1059_lambdaDebugInfoBuilder.Add(New EncLambdaInfo(New LambdaDebugInfo(syntaxOffset, lambdaId, closureOrdinal), structClosureIds:=ImmutableArray(Of DebugId).Empty))
1427ImmutableArray(Of LocalSymbol).Empty,
Lowering\LocalRewriter\LocalRewriter_Call.vb (12)
21Dim arguments As ImmutableArray(Of BoundExpression) = node.Arguments
79Dim temporaries As ImmutableArray(Of SynthesizedLocal) = Nothing
80Dim copyBack As ImmutableArray(Of BoundExpression) = Nothing
111ImmutableArray(Of BoundExpression).Empty,
123ByRef arguments As ImmutableArray(Of BoundExpression))
154arguments As ImmutableArray(Of BoundExpression),
155parameters As ImmutableArray(Of ParameterSymbol),
156<Out()> ByRef temporaries As ImmutableArray(Of SynthesizedLocal),
157<Out()> ByRef copyBack As ImmutableArray(Of BoundExpression),
159) As ImmutableArray(Of BoundExpression)
246Return New BoundSequence(rewrittenArgument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, rewrittenArgument.Type)
382Return New BoundSequence(argument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, argument.Type)
Lowering\LocalRewriter\LocalRewriter_ForEach.vb (12)
192Dim loopResumeTarget As ImmutableArray(Of BoundStatement) = Nothing
267ImmutableArray(Of BoundExpression).Empty,
301boundCurrent = New BoundBadExpression(syntaxNode, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty,
462ImmutableArray(Of LocalSymbol).Empty),
556Dim loopResumeTarget As ImmutableArray(Of BoundStatement) = Nothing
611Dim rewrittenBodyBlock As BoundBlock = New BoundBlock(syntaxNode, Nothing, If(node.DeclaredOrInferredLocalOpt IsNot Nothing, ImmutableArray.Create(Of LocalSymbol)(node.DeclaredOrInferredLocalOpt), ImmutableArray(Of LocalSymbol).Empty), rewrittenBodyStatements)
658Nothing, ImmutableArray(Of LocalSymbol).Empty,
661ImmutableArray(Of BoundCatchBlock).Empty,
663Nothing, ImmutableArray(Of LocalSymbol).Empty,
717Return New BoundBadExpression(syntaxNode, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty,
748ImmutableArray(Of BoundExpression).Empty,
764ImmutableArray(Of BoundExpression).Empty, Nothing, voidType).ToStatement
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (25)
57flags As ImmutableArray(Of Boolean),
85rewrittenArguments As ImmutableArray(Of BoundExpression),
86argumentNames As ImmutableArray(Of String),
157rewrittenArguments As ImmutableArray(Of BoundExpression),
158argumentNames As ImmutableArray(Of String),
261rewrittenArguments As ImmutableArray(Of BoundExpression),
300argumentNames As ImmutableArray(Of String),
395ImmutableArray(Of LocalSymbol).Empty,
396ImmutableArray(Of BoundExpression).Empty,
454ImmutableArray(Of LocalSymbol).Empty,
464argExpressions As ImmutableArray(Of BoundExpression)) As BoundExpression
512argExpressions As ImmutableArray(Of BoundExpression),
513argNames As ImmutableArray(Of String),
531Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(memberAccess), Nothing, Me.GetSpecialType(SpecialType.System_Void))
536Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(memberAccess), Nothing, Me.GetSpecialType(SpecialType.System_Void))
555Dim callArgs As ImmutableArray(Of BoundExpression)
610Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(invocation), Nothing, Me.GetSpecialType(SpecialType.System_Void))
615Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(invocation), Nothing, Me.GetSpecialType(SpecialType.System_Void))
626Dim callArgs As ImmutableArray(Of BoundExpression)
659argExpressions As ImmutableArray(Of BoundExpression),
660assignmentArguments As ImmutableArray(Of BoundExpression),
661argNames As ImmutableArray(Of String),
855ByRef arguments As ImmutableArray(Of BoundExpression),
856<Out> ByRef writeTargets As ImmutableArray(Of BoundExpression))
945types As ImmutableArray(Of TypeSymbol),
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (9)
26Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), nullableType, hasErrors:=True)
199ImmutableArray(Of BoundExpression).Empty,
206Return If(isOptional, Nothing, New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True))
248ImmutableArray(Of BoundExpression).Empty,
255Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True)
276ImmutableArray(Of BoundExpression).Empty,
283Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr),
292ImmutableArray(Of BoundExpression).Empty,
528ImmutableArray(Of LocalSymbol).Empty,
Lowering\LocalRewriter\LocalRewriter_ObjectCreation.vb (13)
25Dim temporaries As ImmutableArray(Of SynthesizedLocal) = Nothing
26Dim copyBack As ImmutableArray(Of BoundExpression) = Nothing
74newGuid = New BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType, hasErrors:=True)
83callGetTypeFromCLSID = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType, hasErrors:=True)
94rewrittenObjectCreation = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, node.Type, hasErrors:=True)
147arguments:=ImmutableArray(Of BoundExpression).Empty,
153result = New BoundBadExpression(syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, typeParameter, hasErrors:=True)
303Dim sequenceTemporaries As ImmutableArray(Of LocalSymbol)
335sequenceTemporaries = ImmutableArray(Of LocalSymbol).Empty
Lowering\LocalRewriter\LocalRewriter_SyncLock.vb (8)
108Dim locals As ImmutableArray(Of LocalSymbol)
111Dim tryStatements As ImmutableArray(Of BoundStatement)
130ImmutableArray(Of LocalSymbol).Empty,
137ImmutableArray(Of LocalSymbol).Empty,
145Dim rewrittenSyncLock = RewriteTryStatement(syntaxNode, tryBody, ImmutableArray(Of BoundCatchBlock).Empty, finallyBody, Nothing)
173Dim parameters As ImmutableArray(Of BoundExpression)
225Return New BoundBadExpression(syntaxNode, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, parameters, ErrorTypeSymbol.UnknownResultType, hasErrors:=True).ToStatement()
249boundMonitorExitCall = New BoundBadExpression(syntaxNode, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(boundLockObject), ErrorTypeSymbol.UnknownResultType, hasErrors:=True)
Lowering\LocalRewriter\LocalRewriter_TupleLiteralExpression.vb (9)
20Dim rewrittenArguments As ImmutableArray(Of BoundExpression) = VisitList(node.Arguments)
30Private Function RewriteTupleCreationExpression(node As BoundTupleExpression, rewrittenArguments As ImmutableArray(Of BoundExpression)) As BoundExpression
34Private Function MakeTupleCreationExpression(syntax As SyntaxNode, type As NamedTypeSymbol, rewrittenArguments As ImmutableArray(Of BoundExpression)) As BoundExpression
44Dim smallestCtorArguments As ImmutableArray(Of BoundExpression) = ImmutableArray.Create(rewrittenArguments,
56ImmutableArray(Of Symbol).Empty,
65Binder.CheckRequiredMembersInObjectInitializer(smallestConstructor, smallestType, initializers:=ImmutableArray(Of BoundExpression).Empty, syntax, _diagnostics)
78ImmutableArray(Of Symbol).Empty,
84Binder.CheckRequiredMembersInObjectInitializer(tuple8Ctor, tuple8Ctor.ContainingType, initializers:=ImmutableArray(Of BoundExpression).Empty, syntax, _diagnostics)
88Dim ctorArguments As ImmutableArray(Of BoundExpression) = ImmutableArray.Create(rewrittenArguments,
Lowering\LocalRewriter\LocalRewriter_UnstructuredExceptionHandling.vb (4)
301New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement(),
338statements.Add(New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement)
397statements.Add(New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement)
613Private Function RegisterUnstructuredExceptionHandlingResumeTarget(syntax As SyntaxNode, canThrow As Boolean) As ImmutableArray(Of BoundStatement)
Lowering\SyntheticBoundNodeFactory.vb (28)
315Public Function Block(statements As ImmutableArray(Of BoundStatement)) As BoundBlock
316Return Block(ImmutableArray(Of LocalSymbol).Empty, statements)
319Public Function Block(locals As ImmutableArray(Of LocalSymbol), statements As ImmutableArray(Of BoundStatement)) As BoundBlock
326Return Block(ImmutableArray(Of BoundStatement).Empty)
333Public Function Block(locals As ImmutableArray(Of LocalSymbol), ParamArray statements As BoundStatement()) As BoundBlock
338Return StatementList(ImmutableArray(Of BoundStatement).Empty)
341Public Function StatementList(statements As ImmutableArray(Of BoundStatement)) As BoundStatementList
459Dim boundNode = New BoundBadExpression(_syntax, LookupResultKind.Empty, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(subExpressions), ErrorTypeSymbol.UnknownResultType, hasErrors:=True)
479ImmutableArray(Of BoundExpression).Empty,
586Return [Call](receiver, method, ImmutableArray(Of BoundExpression).Empty)
593Public Function [Call](receiver As BoundExpression, method As MethodSymbol, args As ImmutableArray(Of BoundExpression)) As BoundCall
665Public Function Sequence(temps As ImmutableArray(Of LocalSymbol), ParamArray parts As BoundExpression()) As BoundExpression
682Return Sequence(ImmutableArray(Of LocalSymbol).Empty, parts)
685Public Function Sequence(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), result As BoundExpression) As BoundExpression
709Private Sub CheckSwitchSections(sections As ImmutableArray(Of BoundCaseBlock))
792Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, indices As ImmutableArray(Of BoundExpression)) As BoundArrayAccess
865Public Function TypeArguments(typeArgs As ImmutableArray(Of TypeSymbol)) As BoundTypeArguments
1035Public Function Array(elementType As TypeSymbol, elements As ImmutableArray(Of BoundExpression)) As BoundExpression
1042Public Function Array(elementType As TypeSymbol, bounds As ImmutableArray(Of BoundExpression), elements As ImmutableArray(Of BoundExpression)) As BoundExpression
1090catchBlocks As ImmutableArray(Of BoundCatchBlock),
1097Public Function CatchBlocks(ParamArray blocks() As BoundCatchBlock) As ImmutableArray(Of BoundCatchBlock)
1130CompilationState.AddSynthesizedMethod(Me.CurrentMethod, body, stateMachineType:=Nothing, ImmutableArray(Of StateMachineStateDebugInfo).Empty)
1134Public Function SpillSequence(locals As ImmutableArray(Of LocalSymbol), fields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression) As BoundSpillSequence
Lowering\UseTwiceRewriter.vb (13)
90receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
97receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
323receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
346New BoundSequence(receiverOpt.Syntax, ImmutableArray(Of LocalSymbol).Empty,
357receiver = New Result(New BoundSequence(receiverOpt.Syntax, ImmutableArray(Of LocalSymbol).Empty,
366Dim firstArgs As ImmutableArray(Of BoundExpression)
367Dim secondArgs As ImmutableArray(Of BoundExpression)
369firstArgs = ImmutableArray(Of BoundExpression).Empty
370secondArgs = ImmutableArray(Of BoundExpression).Empty
427Dim firstArgs As ImmutableArray(Of BoundExpression)
428Dim secondArgs As ImmutableArray(Of BoundExpression)
430firstArgs = ImmutableArray(Of BoundExpression).Empty
431secondArgs = ImmutableArray(Of BoundExpression).Empty
Operations\VisualBasicOperationFactory.vb (67)
321Dim children As ImmutableArray(Of IOperation) = GetIOperationChildren(boundNode)
331Public Function CreateFromArray(Of TBoundNode As BoundNode, TOperation As {Class, IOperation})(nodeArray As ImmutableArray(Of TBoundNode)) As ImmutableArray(Of TOperation)
340Friend Function GetIOperationChildren(boundNode As BoundNode) As ImmutableArray(Of IOperation)
343Return ImmutableArray(Of IOperation).Empty
365Dim children As ImmutableArray(Of IOperation) = GetIOperationChildren(boundAssignmentOperator)
449Dim arguments As ImmutableArray(Of IArgumentOperation) = DeriveArguments(boundCall)
671Dim children As ImmutableArray(Of IOperation) = ImmutableArray(Of IOperation).Empty
809Dim arguments As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundLateInvocation.ArgumentsOpt)
810Dim argumentNames As ImmutableArray(Of String) = boundLateInvocation.ArgumentNamesOpt
811Dim argumentRefKinds As ImmutableArray(Of RefKind) = Nothing
822Dim arguments as ImmutableArray(Of IArgumentOperation) = DeriveArguments(boundObjectCreationExpression)
832Dim initializers As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundObjectInitializerExpression.Initializers)
840Dim initializers As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundCollectionInitializerExpression.Initializers)
864Dim dimensionSizes As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundArrayCreation.Bounds)
873Dim elementValues As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundArrayInitialization.Initializers)
884Dim arguments as ImmutableArray(Of IArgumentOperation) = DeriveArguments(boundPropertyAccess)
970Dim typeArguments As ImmutableArray(Of ITypeSymbol) = ImmutableArray(Of ITypeSymbol).Empty
972typeArguments = ImmutableArray(Of ITypeSymbol).CastUp(boundLateMemberAccess.TypeArgumentsOpt.Arguments)
991Dim initializedFields As ImmutableArray(Of IFieldSymbol) = boundFieldInitializer.InitializedFields.As(Of IFieldSymbol)
995Return New FieldInitializerOperation(initializedFields, ImmutableArray(Of ILocalSymbol).Empty, value, _semanticModel, syntax, isImplicit)
999Dim initializedProperties As ImmutableArray(Of IPropertySymbol) = boundPropertyInitializer.InitializedProperties.As(Of IPropertySymbol)
1003Return New PropertyInitializerOperation(initializedProperties, ImmutableArray(Of ILocalSymbol).Empty, value, _semanticModel, syntax, isImplicit)
1011Return New ParameterInitializerOperation(parameter, ImmutableArray(Of ILocalSymbol).Empty, value, _semanticModel, syntax, isImplicit)
1075Dim cases As ImmutableArray(Of ISwitchCaseOperation) = CreateFromArray(Of BoundCaseBlock, ISwitchCaseOperation)(boundSelectStatement.CaseBlocks)
1079Return New SwitchOperation(ImmutableArray(Of ILocalSymbol).Empty, value, cases, exitLabel, _semanticModel, syntax, isImplicit)
1082Friend Function CreateBoundCaseBlockClauses(boundCaseBlock As BoundCaseBlock) As ImmutableArray(Of ICaseClauseOperation)
1098Friend Function CreateBoundCaseBlockBody(boundCaseBlock As BoundCaseBlock) As ImmutableArray(Of IOperation)
1107Dim clauses As ImmutableArray(Of ICaseClauseOperation) = CreateBoundCaseBlockClauses(boundCaseBlock)
1108Dim body As ImmutableArray(Of IOperation) = ImmutableArray.Create(Create(boundCaseBlock.Body))
1113Return New SwitchCaseOperation(clauses, body, ImmutableArray(Of ILocalSymbol).Empty, condition, _semanticModel, syntax, isImplicit)
1145Dim locals As ImmutableArray(Of ILocalSymbol) = ImmutableArray(Of ILocalSymbol).Empty
1161Dim nextVariables As ImmutableArray(Of IOperation) = If(boundForToStatement.NextVariablesOpt.IsDefault,
1162ImmutableArray(Of IOperation).Empty,
1164Dim locals As ImmutableArray(Of ILocalSymbol) = If(boundForToStatement.DeclaredOrInferredLocalOpt IsNot Nothing,
1166ImmutableArray(Of ILocalSymbol).Empty)
1192Dim getEnumeratorArguments As ImmutableArray(Of BoundExpression) = Nothing
1194Dim moveNextArguments As ImmutableArray(Of BoundExpression) = Nothing
1196Dim currentArguments As ImmutableArray(Of BoundExpression) = Nothing
1242ImmutableArray(Of IOperation).Empty,
1245Dim locals As ImmutableArray(Of ILocalSymbol) = If(boundForEachStatement.DeclaredOrInferredLocalOpt IsNot Nothing,
1247ImmutableArray(Of ILocalSymbol).Empty)
1259New VariableDeclaratorOperation(localOpt, initializer:=Nothing, ignoredArguments:=ImmutableArray(Of IOperation).Empty, semanticModel:=_semanticModel, syntax:=controlVariable.Syntax, isImplicit:=boundForStatement.WasCompilerGenerated),
1265Dim catches As ImmutableArray(Of ICatchClauseOperation) = CreateFromArray(Of BoundCatchBlock, ICatchClauseOperation)(boundTryStatement.CatchBlocks)
1277Return New VariableDeclaratorOperation(boundCatchBlock.LocalOpt, initializer:=Nothing, ignoredArguments:=ImmutableArray(Of IOperation).Empty, semanticModel:=_semanticModel, syntax:=boundCatchBlock.ExceptionSourceOpt.Syntax, isImplicit:=False)
1288Dim locals As ImmutableArray(Of ILocalSymbol) = If(boundCatchBlock.LocalOpt IsNot Nothing,
1290ImmutableArray(Of ILocalSymbol).Empty)
1297Dim operations As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundStatement, IOperation)(boundBlock.Statements)
1298Dim locals As ImmutableArray(Of ILocalSymbol) = boundBlock.Locals.As(Of ILocalSymbol)()
1347Dim locals As ImmutableArray(Of ILocalSymbol) = ImmutableArray(Of ILocalSymbol).Empty
1358Dim declarations As ImmutableArray(Of IVariableDeclarationOperation) = GetVariableDeclarationStatementVariables(boundDimStatement.LocalDeclarations)
1365Dim declarations As ImmutableArray(Of IVariableDeclarationOperation) =
1466Dim locals As ImmutableArray(Of ILocalSymbol) = ImmutableArray(Of ILocalSymbol).CastUp(boundUsingStatement.Locals)
1553Dim elements As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundTupleExpression.Arguments)
1561Dim parts As ImmutableArray(Of IInterpolatedStringContentOperation) = CreateBoundInterpolatedStringContentOperation(boundInterpolatedString.Contents)
1569Friend Function CreateBoundInterpolatedStringContentOperation(parts As ImmutableArray(Of BoundNode)) As ImmutableArray(Of IInterpolatedStringContentOperation)
1598Dim initializers As ImmutableArray(Of IOperation) = GetAnonymousTypeCreationInitializers(boundAnonymousTypeCreationExpression)
1612Dim arguments = ImmutableArray(Of IArgumentOperation).Empty
1671arguments:=ImmutableArray(Of IArgumentOperation).Empty,
1683Dim clauses As ImmutableArray(Of IReDimClauseOperation) = CreateFromArray(Of BoundRedimClause, IReDimClauseOperation)(boundRedimStatement.Clauses)
1697Dim dimensionSizes As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundRedimClause.Indices)
Operations\VisualBasicOperationFactory_Methods.vb (21)
152Return OperationFactory.CreateInvalidOperation(_semanticModel, [operator].UnderlyingExpression.Syntax, ImmutableArray(Of IOperation).Empty, isImplicit)
169Friend Function DeriveArguments(boundNode As BoundNode) As ImmutableArray(Of IArgumentOperation)
177Return ImmutableArray(Of IArgumentOperation).Empty
179Return If(boundCreation.ConstructorOpt Is Nothing, ImmutableArray(Of IArgumentOperation).Empty, DeriveArguments(boundCreation.Arguments, boundCreation.ConstructorOpt.Parameters, boundCreation.DefaultArguments))
182Return If(boundProperty.Arguments.Length = 0, ImmutableArray(Of IArgumentOperation).Empty, DeriveArguments(boundProperty.Arguments, boundProperty.PropertySymbol.Parameters, boundProperty.DefaultArguments))
194Friend Function DeriveArguments(boundArguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of VisualBasic.Symbols.ParameterSymbol), ByRef defaultArguments As BitVector) As ImmutableArray(Of IArgumentOperation)
209parameters As ImmutableArray(Of VisualBasic.Symbols.ParameterSymbol),
298Return OperationFactory.CreateInvalidOperation(_semanticModel, parent.Syntax, ImmutableArray(Of IOperation).Empty, isImplicit)
310Friend Function GetAnonymousTypeCreationInitializers(expression As BoundAnonymousTypeCreationExpression) As ImmutableArray(Of IOperation)
333ImmutableArray(Of IArgumentOperation).Empty,
382Friend Function GetVariableDeclarationStatementVariables(declarations As ImmutableArray(Of BoundLocalDeclarationBase)) As ImmutableArray(Of IVariableDeclarationOperation)
406Dim declarators As ImmutableArray(Of IVariableDeclaratorOperation) = Nothing
432initializer = New VariableInitializerOperation(locals:=ImmutableArray(Of ILocalSymbol).Empty, value, _semanticModel, initializerSyntax, isImplicit)
441initializer = New VariableInitializerOperation(locals:=ImmutableArray(Of ILocalSymbol).Empty, value, _semanticModel, initializerSyntax, isImplicit:=False)
446ImmutableArray(Of IOperation).Empty,
460initializer = New VariableInitializerOperation(locals:=ImmutableArray(Of ILocalSymbol).Empty, initializerValue, _semanticModel, syntax, isImplicit:=True)
463Dim ignoredArguments = ImmutableArray(Of IOperation).Empty
468Private Function GetUsingStatementDeclaration(resourceList As ImmutableArray(Of BoundLocalDeclarationBase), syntax As SyntaxNode) As IVariableDeclarationGroupOperation
PredefinedPreprocessorSymbols.vb (5)
23Public Function AddPredefinedPreprocessorSymbols(kind As OutputKind, symbols As IEnumerable(Of KeyValuePair(Of String, Object))) As ImmutableArray(Of KeyValuePair(Of String, Object))
33Public Function AddPredefinedPreprocessorSymbols(kind As OutputKind, ParamArray symbols As KeyValuePair(Of String, Object)()) As ImmutableArray(Of KeyValuePair(Of String, Object))
43Public Function AddPredefinedPreprocessorSymbols(kind As OutputKind, symbols As ImmutableArray(Of KeyValuePair(Of String, Object))) As ImmutableArray(Of KeyValuePair(Of String, Object))
52symbols = ImmutableArray(Of KeyValuePair(Of String, Object)).Empty
Semantics\OverloadResolution.vb (77)
35Friend MustOverride Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
89Public MustOverride ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
161Friend Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
205Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
310Friend Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
354Private ReadOnly _parameters As ImmutableArray(Of ParameterSymbol)
357Public Sub New(method As MethodSymbol, parameters As ImmutableArray(Of ParameterSymbol), returnType As TypeSymbol)
400Friend Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
444Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
446Return ImmutableArray(Of TypeParameterSymbol).Empty
567Public ReadOnly Dependencies As ImmutableArray(Of AssemblySymbol)
569Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of ConversionKind, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol))
743Public ArgsToParamsOpt As ImmutableArray(Of Integer)
746Public ConversionsOpt As ImmutableArray(Of KeyValuePair(Of ConversionKind, MethodSymbol))
747Public ConversionsBackOpt As ImmutableArray(Of KeyValuePair(Of ConversionKind, MethodSymbol))
751Public OptionalArguments As ImmutableArray(Of OptionalArgument)
777Private ReadOnly _allResults As ImmutableArray(Of CandidateAnalysisResult)
780Public ReadOnly AsyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression)
783Public Sub New(allResults As ImmutableArray(Of CandidateAnalysisResult), resolutionIsLateBound As Boolean,
790ImmutableArray(Of BoundExpression).Empty,
798Public ReadOnly Property Candidates As ImmutableArray(Of CandidateAnalysisResult)
826Private Shared Function GetBestResult(allResults As ImmutableArray(Of CandidateAnalysisResult)) As CandidateAnalysisResult?
855arguments As ImmutableArray(Of BoundExpression),
856argumentNames As ImmutableArray(Of String),
894arguments As ImmutableArray(Of BoundExpression),
918arguments As ImmutableArray(Of BoundExpression),
919argumentNames As ImmutableArray(Of String),
932Dim typeArguments = If(methodGroup.TypeArgumentsOpt IsNot Nothing, methodGroup.TypeArgumentsOpt.Arguments, ImmutableArray(Of TypeSymbol).Empty)
936typeArguments = ImmutableArray(Of TypeSymbol).Empty
940arguments = ImmutableArray(Of BoundExpression).Empty
948Dim methods As ImmutableArray(Of MethodSymbol) = methodGroup.Methods
1080arguments As ImmutableArray(Of BoundExpression),
1081argumentNames As ImmutableArray(Of String),
1089Dim properties As ImmutableArray(Of PropertySymbol) = propertyGroup.Properties
1092arguments = ImmutableArray(Of BoundExpression).Empty
1111CollectOverloadedCandidates(binder, results, candidates, ImmutableArray(Of TypeSymbol).Empty,
1155arguments As ImmutableArray(Of BoundExpression),
1156argumentNames As ImmutableArray(Of String),
1368argumentNames As ImmutableArray(Of String),
1430argumentNames As ImmutableArray(Of String),
1588arguments As ImmutableArray(Of BoundExpression),
1680arguments As ImmutableArray(Of BoundExpression),
1716arguments As ImmutableArray(Of BoundExpression),
1793arguments As ImmutableArray(Of BoundExpression),
1845arguments As ImmutableArray(Of BoundExpression),
2068arguments As ImmutableArray(Of BoundExpression),
2277arguments As ImmutableArray(Of BoundExpression),
2533arguments As ImmutableArray(Of BoundExpression),
2586arguments As ImmutableArray(Of BoundExpression),
2689arguments As ImmutableArray(Of BoundExpression),
2948arguments As ImmutableArray(Of BoundExpression),
2949argumentNames As ImmutableArray(Of String),
3033arguments As ImmutableArray(Of BoundExpression),
3034argumentNames As ImmutableArray(Of String),
3215arguments As ImmutableArray(Of BoundExpression),
3216argumentNames As ImmutableArray(Of String),
3850typeArguments As ImmutableArray(Of TypeSymbol),
3851arguments As ImmutableArray(Of BoundExpression),
3852argumentNames As ImmutableArray(Of String),
4057typeArguments As ImmutableArray(Of TypeSymbol),
4058arguments As ImmutableArray(Of BoundExpression),
4145typeArguments As ImmutableArray(Of TypeSymbol),
4146arguments As ImmutableArray(Of BoundExpression),
4147argumentNames As ImmutableArray(Of String),
4243typeArguments As ImmutableArray(Of TypeSymbol),
4244arguments As ImmutableArray(Of BoundExpression),
4245argumentNames As ImmutableArray(Of String),
4282argumentNames As ImmutableArray(Of String),
4601arguments As ImmutableArray(Of BoundExpression),
4800arguments As ImmutableArray(Of BoundExpression),
4951Dim leftTypeArguments As ImmutableArray(Of TypeSymbol) = leftNamedType.TypeArgumentsNoUseSiteDiagnostics
4952Dim rightTypeArguments As ImmutableArray(Of TypeSymbol) = rightNamedType.TypeArgumentsNoUseSiteDiagnostics
5254arguments As ImmutableArray(Of BoundExpression),
5255argumentNames As ImmutableArray(Of String),
5270Dim typeArguments As ImmutableArray(Of TypeSymbol) = Nothing
5276Dim typeArgumentsLocation As ImmutableArray(Of SyntaxNodeOrToken) = Nothing
5358Private Shared Function ConstructIfNeedTo(candidate As Candidate, typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
SourceGeneration\VisualBasicGeneratorDriver.vb (6)
22Friend Sub New(parseOptions As VisualBasicParseOptions, generators As ImmutableArray(Of ISourceGenerator), optionsProvider As AnalyzerConfigOptionsProvider, additionalTexts As ImmutableArray(Of AdditionalText), driverOptions As GeneratorDriverOptions)
40Public Shared Function Create(generators As ImmutableArray(Of ISourceGenerator), Optional additionalTexts As ImmutableArray(Of AdditionalText) = Nothing, Optional parseOptions As VisualBasicParseOptions = Nothing, Optional analyzerConfigOptionsProvider As AnalyzerConfigOptionsProvider = Nothing, Optional driverOptions As GeneratorDriverOptions = Nothing) As VisualBasicGeneratorDriver
46Public Shared Function Create(generators As ImmutableArray(Of ISourceGenerator), additionalTexts As ImmutableArray(Of AdditionalText), parseOptions As VisualBasicParseOptions, analyzerConfigOptionsProvider As AnalyzerConfigOptionsProvider) As VisualBasicGeneratorDriver
Symbols\ArrayTypeSymbol.vb (52)
26Friend Shared Function CreateVBArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, compilation As VisualBasicCompilation) As ArrayTypeSymbol
33Friend Shared Function CreateVBArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, declaringAssembly As AssemblySymbol) As ArrayTypeSymbol
43customModifiers As ImmutableArray(Of CustomModifier),
45sizes As ImmutableArray(Of Integer),
46lowerBounds As ImmutableArray(Of Integer),
67Friend Shared Function CreateSZArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), compilation As VisualBasicCompilation) As ArrayTypeSymbol
71Friend Shared Function CreateSZArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), declaringAssembly As AssemblySymbol) As ArrayTypeSymbol
78Private Shared Function GetSZArrayInterfaces(elementType As TypeSymbol, declaringAssembly As AssemblySymbol) As ImmutableArray(Of NamedTypeSymbol)
94Return ImmutableArray(Of NamedTypeSymbol).Empty
100Public MustOverride ReadOnly Property CustomModifiers As ImmutableArray(Of CustomModifier)
122Friend Overridable ReadOnly Property Sizes As ImmutableArray(Of Integer)
124Return ImmutableArray(Of Integer).Empty
133Friend Overridable ReadOnly Property LowerBounds As ImmutableArray(Of Integer)
200Public Overrides Function GetMembers() As ImmutableArray(Of Symbol)
201Return ImmutableArray(Of Symbol).Empty
209Public Overrides Function GetMembers(name As String) As ImmutableArray(Of Symbol)
210Return ImmutableArray(Of Symbol).Empty
218Public Overrides Function GetTypeMembers() As ImmutableArray(Of NamedTypeSymbol)
219Return ImmutableArray(Of NamedTypeSymbol).Empty
228Public Overrides Function GetTypeMembers(name As String) As ImmutableArray(Of NamedTypeSymbol)
229Return ImmutableArray(Of NamedTypeSymbol).Empty
238Public Overrides Function GetTypeMembers(name As String, arity As Integer) As ImmutableArray(Of NamedTypeSymbol)
239Return ImmutableArray(Of NamedTypeSymbol).Empty
283Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
285Return ImmutableArray(Of Location).Empty
295Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
297Return ImmutableArray(Of SyntaxReference).Empty
334Dim [mod] As ImmutableArray(Of CustomModifier) = CustomModifiers
335Dim otherMod As ImmutableArray(Of CustomModifier) = other.CustomModifiers
430Private ReadOnly Property IArrayTypeSymbol_Sizes As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.Sizes
436Private ReadOnly Property IArrayTypeSymbol_LowerBounds As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.LowerBounds
442Private ReadOnly Property IArrayTypeSymbol_CustomModifiers As ImmutableArray(Of CustomModifier) Implements IArrayTypeSymbol.CustomModifiers
478Private ReadOnly _customModifiers As ImmutableArray(Of CustomModifier)
481Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), systemArray As NamedTypeSymbol)
490Public NotOverridable Overrides ReadOnly Property CustomModifiers As ImmutableArray(Of CustomModifier)
522Dim newInterfaces As ImmutableArray(Of NamedTypeSymbol) = Me.InterfacesNoUseSiteDiagnostics
549Private ReadOnly _interfaces As ImmutableArray(Of NamedTypeSymbol) ' Empty or IList(Of ElementType) and possibly IReadOnlyList(Of ElementType)
551Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), systemArray As NamedTypeSymbol, interfaces As ImmutableArray(Of NamedTypeSymbol))
570Friend Overrides ReadOnly Property InterfacesNoUseSiteDiagnostics As ImmutableArray(Of NamedTypeSymbol)
583Dim newInterfaces As ImmutableArray(Of NamedTypeSymbol) = _interfaces
600Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, systemArray As NamedTypeSymbol)
619Friend NotOverridable Overrides ReadOnly Property InterfacesNoUseSiteDiagnostics As ImmutableArray(Of NamedTypeSymbol)
621Return ImmutableArray(Of NamedTypeSymbol).Empty
630Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, systemArray As NamedTypeSymbol)
649Private ReadOnly _sizes As ImmutableArray(Of Integer)
650Private ReadOnly _lowerBounds As ImmutableArray(Of Integer)
654customModifiers As ImmutableArray(Of CustomModifier),
656sizes As ImmutableArray(Of Integer),
657lowerBounds As ImmutableArray(Of Integer),
668Friend Overrides ReadOnly Property Sizes As ImmutableArray(Of Integer)
674Friend Overrides ReadOnly Property LowerBounds As ImmutableArray(Of Integer)
Symbols\Metadata\PE\PENamedTypeSymbol.vb (36)
26Private Shared ReadOnly s_emptyNestedTypes As Dictionary(Of String, ImmutableArray(Of PENamedTypeSymbol)) =
27New Dictionary(Of String, ImmutableArray(Of PENamedTypeSymbol))(IdentifierComparison.Comparer)
44Private _lazyNestedTypes As Dictionary(Of String, ImmutableArray(Of PENamedTypeSymbol))
56Private _lazyMembers As Dictionary(Of String, ImmutableArray(Of Symbol))
58Private _lazyTypeParameters As ImmutableArray(Of TypeParameterSymbol)
62Private _lazyCustomAttributes As ImmutableArray(Of VisualBasicAttributeData)
63Private _lazyConditionalAttributeSymbols As ImmutableArray(Of String)
153_lazyTypeParameters = ImmutableArray(Of TypeParameterSymbol).Empty
270Friend Overrides Function MakeDeclaredInterfaces(basesBeingResolved As BasesBeingResolved, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
276Return ImmutableArray(Of NamedTypeSymbol).Empty
314Friend Overrides Function MakeAcyclicInterfaces(diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
315Dim declaredInterfaces As ImmutableArray(Of NamedTypeSymbol) = GetDeclaredInterfacesNoUseSiteDiagnostics(Nothing)
412Public Overloads Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
504Public Overloads Overrides Function GetMembers() As ImmutableArray(Of Symbol)
511Friend Overrides Function GetMembersUnordered() As ImmutableArray(Of Symbol)
688Dim membersDict As New Dictionary(Of String, ImmutableArray(Of Symbol))(CaseInsensitiveComparison.Comparer)
700Dim weMembers As ImmutableArray(Of Symbol) = Nothing
720Dim symbols As ImmutableArray(Of Symbol) = Nothing
756Public Overloads Overrides Function GetMembers(name As String) As ImmutableArray(Of Symbol)
760Dim m As ImmutableArray(Of Symbol) = Nothing
766Return ImmutableArray(Of Symbol).Empty
769Friend Overrides Function GetTypeMembersUnordered() As ImmutableArray(Of NamedTypeSymbol)
775Public Overloads Overrides Function GetTypeMembers() As ImmutableArray(Of NamedTypeSymbol)
802Public Overloads Overrides Function GetTypeMembers(name As String) As ImmutableArray(Of NamedTypeSymbol)
805Dim t As ImmutableArray(Of PENamedTypeSymbol) = Nothing
811Return ImmutableArray(Of NamedTypeSymbol).Empty
814Public Overloads Overrides Function GetTypeMembers(name As String, arity As Integer) As ImmutableArray(Of NamedTypeSymbol)
818Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
824Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
826Return ImmutableArray(Of SyntaxReference).Empty
842Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
1277Private Shared Function GroupByName(symbols As ArrayBuilder(Of PENamedTypeSymbol)) As Dictionary(Of String, ImmutableArray(Of PENamedTypeSymbol))
1447Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
1449Dim conditionalSymbols As ImmutableArray(Of String) = ContainingPEModule.Module.GetConditionalAttributeValues(_handle)
1546Private Shared Function GetIndexOfFirstMember(members As ImmutableArray(Of Symbol), kind As SymbolKind) As Integer
1560Private Overloads Shared Iterator Function GetMembers(Of TSymbol As Symbol)(members As ImmutableArray(Of Symbol), kind As SymbolKind, Optional offset As Integer = -1) As IEnumerable(Of TSymbol)
Symbols\Metadata\PE\SymbolFactory.vb (10)
19customModifiers As ImmutableArray(Of ModifierInfo(Of TypeSymbol)),
20sizes As ImmutableArray(Of Integer),
21lowerBounds As ImmutableArray(Of Integer)
49Friend Overrides Function GetSZArrayTypeSymbol(moduleSymbol As PEModuleSymbol, elementType As TypeSymbol, customModifiers As ImmutableArray(Of ModifierInfo(Of TypeSymbol))) As TypeSymbol
64Friend Overrides Function MakePointerTypeSymbol(moduleSymbol As PEModuleSymbol, type As TypeSymbol, customModifiers As ImmutableArray(Of ModifierInfo(Of TypeSymbol))) As TypeSymbol
71arguments As ImmutableArray(Of KeyValuePair(Of TypeSymbol, ImmutableArray(Of ModifierInfo(Of TypeSymbol)))),
72refersToNoPiaLocalType As ImmutableArray(Of Boolean)
90Dim linkedAssemblies As ImmutableArray(Of AssemblySymbol) = moduleSymbol.ContainingAssembly.GetLinkedReferencedAssemblies()
148Friend Overrides Function MakeFunctionPointerTypeSymbol(moduleSymbol As PEModuleSymbol, callingConvention As Cci.CallingConvention, retAndParamTypes As ImmutableArray(Of ParamInfo(Of TypeSymbol))) As TypeSymbol
Symbols\MethodSignatureComparer.vb (11)
442refCustomModifiers1 As ImmutableArray(Of CustomModifier),
446refCustomModifiers2 As ImmutableArray(Of CustomModifier),
485Private Shared Function SubstituteModifiers(typeSubstitution As TypeSubstitution, customModifiers As ImmutableArray(Of CustomModifier)) As ImmutableArray(Of CustomModifier)
494params1 As ImmutableArray(Of ParameterSymbol),
496params2 As ImmutableArray(Of ParameterSymbol),
504Dim longerParameters As ImmutableArray(Of ParameterSymbol)
674Private Shared Function GetRefModifiers(typeSubstitution As TypeSubstitution, param As ParameterSymbol) As ImmutableArray(Of CustomModifier)
715Public Shared Function HaveSameParameterTypes(params1 As ImmutableArray(Of ParameterSymbol), typeSubstitution1 As TypeSubstitution,
716params2 As ImmutableArray(Of ParameterSymbol), typeSubstitution2 As TypeSubstitution,
937Private Shared Sub SubstituteConstraintTypes(constraintTypes As ImmutableArray(Of TypeSymbol), result As ArrayBuilder(Of TypeSymbol), substitution As TypeSubstitution)
Symbols\NamedTypeSymbol.vb (53)
52Public MustOverride ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
59Public MustOverride Function GetTypeArgumentCustomModifiers(ordinal As Integer) As ImmutableArray(Of CustomModifier)
61Friend Function GetEmptyTypeArgumentCustomModifiers(ordinal As Integer) As ImmutableArray(Of CustomModifier)
66Return ImmutableArray(Of CustomModifier).Empty
76Friend MustOverride ReadOnly Property TypeArgumentsNoUseSiteDiagnostics As ImmutableArray(Of TypeSymbol)
78Friend Function TypeArgumentsWithDefinitionUseSiteDiagnostics(<[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of TypeSymbol)
236Dim methods As ImmutableArray(Of Symbol) = GetMembers(WellKnownMemberNames.DelegateInvokeName)
332Select New KeyValuePair(Of String, ImmutableArray(Of Symbol))(name, Me.GetMembers(name)))
375Select New KeyValuePair(Of String, ImmutableArray(Of Symbol))(name, Me.GetMembers(name)))
382Public ReadOnly Property InstanceConstructors As ImmutableArray(Of MethodSymbol)
391Public ReadOnly Property SharedConstructors As ImmutableArray(Of MethodSymbol)
400Public ReadOnly Property Constructors As ImmutableArray(Of MethodSymbol)
406Private Function GetConstructors(Of TMethodSymbol As {IMethodSymbol, Class})(includeInstance As Boolean, includeShared As Boolean) As ImmutableArray(Of TMethodSymbol)
409Dim instanceCandidates As ImmutableArray(Of Symbol) = If(includeInstance, GetMembers(WellKnownMemberNames.InstanceConstructorName), ImmutableArray(Of Symbol).Empty)
410Dim sharedCandidates As ImmutableArray(Of Symbol) = If(includeShared, GetMembers(WellKnownMemberNames.StaticConstructorName), ImmutableArray(Of Symbol).Empty)
413Return ImmutableArray(Of TMethodSymbol).Empty
489Public MustOverride Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As NamedTypeSymbol
492Protected Sub CheckCanConstructAndTypeArguments(typeArguments As ImmutableArray(Of TypeSymbol))
607Public MustOverride Overrides Function GetMembers() As ImmutableArray(Of Symbol)
614Public MustOverride Overrides Function GetMembers(name As String) As ImmutableArray(Of Symbol)
621Public MustOverride Overrides Function GetTypeMembers() As ImmutableArray(Of NamedTypeSymbol)
629Public MustOverride Overrides Function GetTypeMembers(name As String) As ImmutableArray(Of NamedTypeSymbol)
637Public MustOverride Overrides Function GetTypeMembers(name As String, arity As Integer) As ImmutableArray(Of NamedTypeSymbol)
682Friend MustOverride Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
720Private _lazyDeclaredInterfaces As ImmutableArray(Of NamedTypeSymbol) = Nothing
738Friend MustOverride Function MakeDeclaredInterfaces(basesBeingResolved As BasesBeingResolved, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
757Friend Overridable Function GetSimpleNonTypeMembers(name As String) As ImmutableArray(Of Symbol)
777Friend Sub AtomicStoreArrayAndDiagnostics(Of T)(ByRef variable As ImmutableArray(Of T),
778value As ImmutableArray(Of T),
799Friend Overridable Function GetDeclaredInterfacesNoUseSiteDiagnostics(basesBeingResolved As BasesBeingResolved) As ImmutableArray(Of NamedTypeSymbol)
809Friend Function GetDeclaredInterfacesWithDefinitionUseSiteDiagnostics(basesBeingResolved As BasesBeingResolved, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ImmutableArray(Of NamedTypeSymbol)
819Friend Function GetDirectBaseInterfacesNoUseSiteDiagnostics(basesBeingResolved As BasesBeingResolved) As ImmutableArray(Of NamedTypeSymbol)
827Return ImmutableArray(Of NamedTypeSymbol).Empty
831Friend Overridable Function GetDeclaredBaseInterfacesSafe(basesBeingResolved As BasesBeingResolved) As ImmutableArray(Of NamedTypeSymbol)
855Friend MustOverride Function MakeAcyclicInterfaces(diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
858Private _lazyInterfaces As ImmutableArray(Of NamedTypeSymbol)
887Friend NotOverridable Overrides ReadOnly Property InterfacesNoUseSiteDiagnostics As ImmutableArray(Of NamedTypeSymbol)
891Dim acyclicInterfaces As ImmutableArray(Of NamedTypeSymbol) = Me.MakeAcyclicInterfaces(diagnostics)
927Friend Function GetBestKnownInterfacesNoUseSiteDiagnostics() As ImmutableArray(Of NamedTypeSymbol)
1345Private Function INamedTypeSymbolInternal_GetMembers() As ImmutableArray(Of ISymbolInternal) Implements INamedTypeSymbolInternal.GetMembers
1349Private Function INamedTypeSymbolInternal_GetMembers(name As String) As ImmutableArray(Of ISymbolInternal) Implements INamedTypeSymbolInternal.GetMembers
1371Private Function INamedTypeSymbol_GetTypeArgumentCustomModifiers(ordinal As Integer) As ImmutableArray(Of CustomModifier) Implements INamedTypeSymbol.GetTypeArgumentCustomModifiers
1375Private ReadOnly Property INamedTypeSymbol_TypeArguments As ImmutableArray(Of ITypeSymbol) Implements INamedTypeSymbol.TypeArguments
1381Private ReadOnly Property TypeArgumentNullableAnnotations As ImmutableArray(Of NullableAnnotation) Implements INamedTypeSymbol.TypeArgumentNullableAnnotations
1387Private ReadOnly Property INamedTypeSymbol_TypeParameters As ImmutableArray(Of ITypeParameterSymbol) Implements INamedTypeSymbol.TypeParameters
1409Private Function INamedTypeSymbol_Construct(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As INamedTypeSymbol Implements INamedTypeSymbol.Construct
1417Private ReadOnly Property INamedTypeSymbol_InstanceConstructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.InstanceConstructors
1423Private ReadOnly Property INamedTypeSymbol_StaticConstructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.StaticConstructors
1429Private ReadOnly Property INamedTypeSymbol_Constructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.Constructors
1475Private ReadOnly Property INamedTypeSymbol_TupleElements As ImmutableArray(Of IFieldSymbol) Implements INamedTypeSymbol.TupleElements
Symbols\SignatureOnlyMethodSymbol.vb (19)
25Private ReadOnly _typeParameters As ImmutableArray(Of TypeParameterSymbol)
26Private ReadOnly _parameters As ImmutableArray(Of ParameterSymbol)
29Private ReadOnly _returnTypeCustomModifiers As ImmutableArray(Of CustomModifier)
30Private ReadOnly _refCustomModifiers As ImmutableArray(Of CustomModifier)
31Private ReadOnly _explicitInterfaceImplementations As ImmutableArray(Of MethodSymbol)
34Public Sub New(ByVal name As String, ByVal m_containingType As TypeSymbol, ByVal methodKind As MethodKind, ByVal callingConvention As CallingConvention, ByVal typeParameters As ImmutableArray(Of TypeParameterSymbol), ByVal parameters As ImmutableArray(Of ParameterSymbol),
35ByVal returnsByRef As Boolean, ByVal returnType As TypeSymbol, ByVal returnTypeCustomModifiers As ImmutableArray(Of CustomModifier), refCustomModifiers As ImmutableArray(Of CustomModifier),
36ByVal explicitInterfaceImplementations As ImmutableArray(Of MethodSymbol),
76Public Overrides ReadOnly Property TypeParameters() As ImmutableArray(Of TypeParameterSymbol)
94Public Overrides ReadOnly Property ReturnTypeCustomModifiers() As ImmutableArray(Of CustomModifier)
100Public Overrides ReadOnly Property RefCustomModifiers() As ImmutableArray(Of CustomModifier)
106Public Overrides ReadOnly Property Parameters() As ImmutableArray(Of ParameterSymbol)
112Public Overrides ReadOnly Property ExplicitInterfaceImplementations() As ImmutableArray(Of MethodSymbol)
180Public Overrides ReadOnly Property TypeArguments() As ImmutableArray(Of TypeSymbol)
198Public Overrides ReadOnly Property Locations() As ImmutableArray(Of Location)
204Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
300Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
Symbols\Source\SourceAssemblySymbol.vb (32)
46Private ReadOnly _modules As ImmutableArray(Of ModuleSymbol)
64Private _lazyAssemblyLevelDeclarationErrors As ImmutableArray(Of Diagnostic)
65Private _lazyAssemblyLevelDeclarationDependencies As ImmutableArray(Of AssemblySymbol)
74Private _lazyInternalsVisibleToMap As ConcurrentDictionary(Of String, ConcurrentDictionary(Of ImmutableArray(Of Byte), Tuple(Of Location, String)))
79netModules As ImmutableArray(Of PEModule))
208Dim appliedSourceAttributes As ImmutableArray(Of VisualBasicAttributeData) = Me.GetSourceAttributesBag().Attributes
287Private Function GetNetModuleAttributes(<Out> ByRef netModuleNames As ImmutableArray(Of String)) As ImmutableArray(Of VisualBasicAttributeData)
306netModuleNames = ImmutableArray(Of String).Empty
307Return ImmutableArray(Of VisualBasicAttributeData).Empty
315attributesFromNetModules As ImmutableArray(Of VisualBasicAttributeData),
316netModuleNames As ImmutableArray(Of String),
382Dim netModuleNames As ImmutableArray(Of String) = Nothing
383Dim attributesFromNetModules As ImmutableArray(Of VisualBasicAttributeData) = GetNetModuleAttributes(netModuleNames)
487Friend Function GetAttributeDeclarations() As ImmutableArray(Of SyntaxList(Of AttributeListSyntax))
521Private Function GetNetModuleAttributes() As ImmutableArray(Of VisualBasicAttributeData)
541Public Overloads Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
818Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
824Public Overrides ReadOnly Property Modules As ImmutableArray(Of ModuleSymbol)
830Friend Overrides Function GetNoPiaResolutionAssemblies() As ImmutableArray(Of AssemblySymbol)
834Friend Overrides Sub SetNoPiaResolutionAssemblies(assemblies As ImmutableArray(Of AssemblySymbol))
838Friend Overrides Function GetLinkedReferencedAssemblies() As ImmutableArray(Of AssemblySymbol)
844Friend Overrides Sub SetLinkedReferencedAssemblies(assemblies As ImmutableArray(Of AssemblySymbol))
903Friend Overrides Function GetInternalsVisibleToPublicKeys(simpleName As String) As IEnumerable(Of ImmutableArray(Of Byte))
911Return SpecializedCollections.EmptyEnumerable(Of ImmutableArray(Of Byte))()
914Dim result As ConcurrentDictionary(Of ImmutableArray(Of Byte), Tuple(Of Location, String)) = Nothing
918Return If(result IsNot Nothing, result.Keys, SpecializedCollections.EmptyEnumerable(Of ImmutableArray(Of Byte))())
984New ConcurrentDictionary(Of String, ConcurrentDictionary(Of ImmutableArray(Of Byte), Tuple(Of Location, String)))(StringComparer.OrdinalIgnoreCase), Nothing)
1003Dim keys As ConcurrentDictionary(Of ImmutableArray(Of Byte), Tuple(Of Location, String)) = Nothing
1007keys = New ConcurrentDictionary(Of ImmutableArray(Of Byte), Tuple(Of Location, String))
1572ImmutableArray(Of TypedConstant).Empty,
1638Friend Overrides ReadOnly Property PublicKey As ImmutableArray(Of Byte)
Symbols\Source\SourceMemberContainerTypeSymbol.vb (70)
85Private Shared ReadOnly s_emptyTypeMembers As New Dictionary(Of String, ImmutableArray(Of NamedTypeSymbol))(IdentifierComparison.Comparer)
86Private _lazyTypeMembers As Dictionary(Of String, ImmutableArray(Of NamedTypeSymbol))
89Private _lazyMembersFlattened As ImmutableArray(Of Symbol)
116Dim declarations As ImmutableArray(Of SingleTypeDeclaration) = declaration.Declarations
439For Each batch As ImmutableArray(Of Symbol) In GetMembersAndInitializers().Members.Values
993parameters As ImmutableArray(Of ParameterSymbol),
1029parameters As ImmutableArray(Of TypeParameterSymbol),
1376Public NotOverridable Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
1388Public ReadOnly Property SyntaxReferences As ImmutableArray(Of SyntaxReference)
1394Public NotOverridable Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
1498Friend ReadOnly Members As Dictionary(Of String, ImmutableArray(Of Symbol))
1499Friend ReadOnly StaticInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))
1500Friend ReadOnly InstanceInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))
1511members As Dictionary(Of String, ImmutableArray(Of Symbol)),
1512staticInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer)),
1513instanceInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer)),
1533Friend Property StaticInitializers As ArrayBuilder(Of ImmutableArray(Of FieldOrPropertyInitializer))
1534Friend Property InstanceInitializers As ArrayBuilder(Of ImmutableArray(Of FieldOrPropertyInitializer))
1544Dim readonlyMembers = New Dictionary(Of String, ImmutableArray(Of Symbol))(IdentifierComparison.Comparer)
1590Friend Shared Sub AddInitializers(ByRef allInitializers As ArrayBuilder(Of ImmutableArray(Of FieldOrPropertyInitializer)), siblings As ArrayBuilder(Of FieldOrPropertyInitializer))
1593allInitializers = New ArrayBuilder(Of ImmutableArray(Of FieldOrPropertyInitializer))()
1600Protected Function GetTypeMembersDictionary() As Dictionary(Of String, ImmutableArray(Of NamedTypeSymbol))
1609Private Function MakeTypeMembers() As Dictionary(Of String, ImmutableArray(Of NamedTypeSymbol))
1610Dim children As ImmutableArray(Of MergedTypeDeclaration) = _declaration.Children
1623Friend Overrides Function GetTypeMembersUnordered() As ImmutableArray(Of NamedTypeSymbol)
1627Public Overloads Overrides Function GetTypeMembers() As ImmutableArray(Of NamedTypeSymbol)
1631Public Overloads Overrides Function GetTypeMembers(name As String) As ImmutableArray(Of NamedTypeSymbol)
1632Dim members As ImmutableArray(Of NamedTypeSymbol) = Nothing
1636Return ImmutableArray(Of NamedTypeSymbol).Empty
1639Public Overrides Function GetTypeMembers(name As String, arity As Integer) As ImmutableArray(Of NamedTypeSymbol)
1723Dim nontypeSymbols As ImmutableArray(Of Symbol) = Nothing
1743Private Function FindPartialMethodDeclarations(diagnostics As BindingDiagnosticBag, members As Dictionary(Of String, ImmutableArray(Of Symbol))) As HashSet(Of SourceMemberMethodSymbol)
1765Private Sub ProcessPartialMethodsIfAny(members As Dictionary(Of String, ImmutableArray(Of Symbol)), diagnostics As BindingDiagnosticBag)
1794Dim memberGroup As ImmutableArray(Of Symbol) = members(originalPartialMethod.Name)
1910Dim declMethodParams As ImmutableArray(Of ParameterSymbol) = partialMethod.Parameters
1911Dim implMethodParams As ImmutableArray(Of ParameterSymbol) = implMethod.Parameters
1930Dim declTypeParams As ImmutableArray(Of TypeParameterSymbol) = partialMethod.TypeParameters
1931Dim implTypeParams As ImmutableArray(Of TypeParameterSymbol) = implMethod.TypeParameters
2268Private Function DetermineDefaultPropertyName(membersByName As Dictionary(Of String, ImmutableArray(Of Symbol)), diagBag As BindingDiagnosticBag) As String
2355initializerSet As IEnumerable(Of ImmutableArray(Of FieldOrPropertyInitializer)),
2361Dim fieldOrPropertyArray As ImmutableArray(Of Symbol) = initializer.FieldsOrProperties
2721initializers As ArrayBuilder(Of ImmutableArray(Of FieldOrPropertyInitializer)),
3142Friend Overrides Function GetMembersUnordered() As ImmutableArray(Of Symbol)
3152Public Overloads Overrides Function GetMembers() As ImmutableArray(Of Symbol)
3170Public Overloads Overrides Function GetMembers(name As String) As ImmutableArray(Of Symbol)
3172Dim members As ImmutableArray(Of Symbol) = Nothing
3178Return ImmutableArray(Of Symbol).Empty
3181Friend Overrides Function GetSimpleNonTypeMembers(name As String) As ImmutableArray(Of Symbol)
3186Return ImmutableArray(Of Symbol).Empty
3198Dim symbols As ImmutableArray(Of Symbol) = Nothing
3225Public ReadOnly Property StaticInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))
3234Public ReadOnly Property InstanceInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))
3304Private Shared Function GetInitializersInSourceTree(tree As SyntaxTree, initializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))) As ImmutableArray(Of FieldOrPropertyInitializer)
3306For Each siblingInitializers As ImmutableArray(Of FieldOrPropertyInitializer) In initializers
3315Private Shared Function IndexOfInitializerContainingPosition(initializers As ImmutableArray(Of FieldOrPropertyInitializer), position As Integer) As Integer
3505Dim structEnumerator As Dictionary(Of String, ImmutableArray(Of Symbol)).Enumerator = lookup.Members.GetEnumerator
3509Dim memberList As ImmutableArray(Of Symbol) = structEnumerator.Current.Value
3602memberList As ImmutableArray(Of Symbol),
3604membersEnumerator As Dictionary(Of String, ImmutableArray(Of Symbol)).Enumerator,
3645Dim otherMembers As ImmutableArray(Of Symbol) = Nothing
3689Dim otherMembers As ImmutableArray(Of Symbol) = Nothing
3732memberList As ImmutableArray(Of Symbol),
Symbols\Source\SourceMethodSymbol.vb (38)
48Private _lazyLocations As ImmutableArray(Of Location)
56Private _cachedDiagnostics As ImmutableArray(Of Diagnostic)
61Optional locations As ImmutableArray(Of Location) = Nothing)
94Dim handledEvents As ImmutableArray(Of HandledEvent)
117handledEvents = ImmutableArray(Of HandledEvent).Empty
565Friend ReadOnly Property Diagnostics As ImmutableArray(Of Diagnostic)
574Friend Function SetDiagnostics(diags As ImmutableArray(Of Diagnostic)) As Boolean
621Public Overrides ReadOnly Property ExplicitInterfaceImplementations As ImmutableArray(Of MethodSymbol)
623Return ImmutableArray(Of MethodSymbol).Empty
797Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
831Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
841ImmutableArray(Of Location).Empty,
892diagnostics As BindingDiagnosticBag) As ImmutableArray(Of TypeParameterConstraint)
1199Return New BoundBlock(methodBlock, methodBlock.Statements, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(boundStatement))
1246Public NotOverridable Overrides ReadOnly Property TypeArguments As ImmutableArray(Of TypeSymbol)
1266Public NotOverridable Overrides ReadOnly Property RefCustomModifiers As ImmutableArray(Of CustomModifier)
1268Return ImmutableArray(Of CustomModifier).Empty
1311Public Overrides ReadOnly Property ReturnTypeCustomModifiers As ImmutableArray(Of CustomModifier)
1316Return ImmutableArray(Of CustomModifier).Empty
1433Public NotOverridable Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
1477Public NotOverridable Overrides Function GetReturnTypeAttributes() As ImmutableArray(Of VisualBasicAttributeData)
1579Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
1581Return If(data IsNot Nothing, data.ConditionalSymbols, ImmutableArray(Of String).Empty)
1859boundAttributes As ImmutableArray(Of VisualBasicAttributeData),
1860allAttributeSyntaxNodes As ImmutableArray(Of AttributeSyntax),
2050Public MustOverride Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
2065Private _lazyParameters As ImmutableArray(Of ParameterSymbol)
2076Optional locations As ImmutableArray(Of Location) = Nothing)
2107Public NotOverridable Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
2120Dim params As ImmutableArray(Of ParameterSymbol) = GetParameters(sourceModule, diagBag)
2135Dim fakeTypeParameters As ImmutableArray(Of TypeParameterSymbol)
2142fakeTypeParameters = ImmutableArray(Of TypeParameterSymbol).Empty
2150ImmutableArray(Of CustomModifier).Empty,
2151ImmutableArray(Of CustomModifier).Empty,
2166returnTypeCustomModifiers:=ImmutableArray(Of CustomModifier).Empty,
2167refCustomModifiers:=ImmutableArray(Of CustomModifier).Empty,
2168explicitInterfaceImplementations:=ImmutableArray(Of MethodSymbol).Empty,
2237diagBag As BindingDiagnosticBag) As ImmutableArray(Of ParameterSymbol)
Symbols\Source\SourceModuleSymbol.vb (19)
44Private _lazyAssembliesToEmbedTypesFrom As ImmutableArray(Of AssemblySymbol)
48Private _locations As ImmutableArray(Of Location)
81Private _lazyLinkedAssemblyDiagnostics As ImmutableArray(Of Diagnostic)
204Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
236Public Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
280Friend Function GetAssembliesToEmbedTypesFrom() As ImmutableArray(Of AssemblySymbol)
464member, importsClausePosition, If(isPrjectImportDeclaration, Nothing, syntaxRef), ImmutableArray(Of AssemblySymbol).Empty)
478Dim pair = New AliasAndImportsClausePosition([alias], importsClausePosition, syntaxRef, ImmutableArray(Of AssemblySymbol).Empty)
491memberImports As ImmutableArray(Of NamespaceOrTypeAndImportsClausePosition),
492memberImportsInfo As ImmutableArray(Of GlobalImportInfo),
493aliasImports As ImmutableArray(Of AliasAndImportsClausePosition),
494aliasImportsInfo As ImmutableArray(Of GlobalImportInfo),
551Friend ReadOnly Property MemberImports As ImmutableArray(Of NamespaceOrTypeAndImportsClausePosition)
558Friend ReadOnly Property AliasImports As ImmutableArray(Of AliasAndImportsClausePosition)
587cancellationToken As CancellationToken) As ImmutableArray(Of Diagnostic)
932Friend Function AtomicStoreArrayAndDiagnostics(Of T)(ByRef variable As ImmutableArray(Of T),
933value As ImmutableArray(Of T),
960attributesToStore As ImmutableArray(Of VisualBasicAttributeData),
989Private Sub RecordPresenceOfBadAttributes(attributes As ImmutableArray(Of VisualBasicAttributeData))
Symbols\Source\SourceNamedTypeSymbol.vb (26)
29Private _lazyTypeParameters As ImmutableArray(Of TypeParameterSymbol)
486Dim symbols As ImmutableArray(Of Symbol)
592Dim contenders As ImmutableArray(Of NamedTypeSymbol) = constituent.GetTypeMembers(Me.Name, arity)
754constraints As ImmutableArray(Of TypeParameterConstraint))
760Public ReadOnly Constraints As ImmutableArray(Of TypeParameterConstraint)
769Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
788<Out()> ByRef constraints As ImmutableArray(Of TypeParameterConstraint),
862Private Shared Function HaveSameConstraints(constraints1 As ImmutableArray(Of TypeParameterConstraint),
863constraints2 As ImmutableArray(Of TypeParameterConstraint)) As Boolean
898Private Shared Function GetConstraintKind(constraints As ImmutableArray(Of TypeParameterConstraint)) As TypeParameterConstraintKind
906Private Function MakeTypeParameters() As ImmutableArray(Of TypeParameterSymbol)
909Return ImmutableArray(Of TypeParameterSymbol).Empty
951Friend Sub CheckForDuplicateTypeParameters(typeParameters As ImmutableArray(Of TypeParameterSymbol),
1287Friend Overrides Function MakeDeclaredInterfaces(basesBeingResolved As BasesBeingResolved, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
1456Friend Overrides Function MakeAcyclicInterfaces(diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
1457Dim declaredInterfaces As ImmutableArray(Of NamedTypeSymbol) = GetDeclaredInterfacesNoUseSiteDiagnostics(Nothing)
1582Friend Overrides Function GetDeclaredBaseInterfacesSafe(basesBeingResolved As BasesBeingResolved) As ImmutableArray(Of NamedTypeSymbol)
1598Dim declaredBases As ImmutableArray(Of NamedTypeSymbol) = GetDeclaredInterfacesNoUseSiteDiagnostics(basesBeingResolved)
1601Return If(m_baseCycleDiagnosticInfo Is Nothing, declaredBases, ImmutableArray(Of NamedTypeSymbol).Empty)
1808Private Function GetAttributeDeclarations(Optional quickAttributes As QuickAttributes? = Nothing) As ImmutableArray(Of SyntaxList(Of AttributeListSyntax))
1857Public NotOverridable Overloads Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
2113Friend NotOverridable Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
2115Return If(data IsNot Nothing, data.ConditionalSymbols, ImmutableArray(Of String).Empty)
2338Dim attributeLists As ImmutableArray(Of SyntaxList(Of AttributeListSyntax)) = GetAttributeDeclarations(QuickAttributes.TypeIdentifier)
2377boundAttributes As ImmutableArray(Of VisualBasicAttributeData),
2378allAttributeSyntaxNodes As ImmutableArray(Of AttributeSyntax),
Symbols\Source\SynthesizedMainTypeEntryPoint.vb (3)
61instance = binder.BindObjectCreationExpression(syntaxNode, container, ImmutableArray(Of BoundExpression).Empty, diagnostics)
79statement = New BoundBadStatement(syntaxNode, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
82Return New BoundBlock(syntaxNode, Nothing, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(statement, New BoundReturnStatement(syntaxNode, Nothing, Nothing, Nothing)))
Symbols\Symbol.vb (29)
341Public MustOverride ReadOnly Property Locations As ImmutableArray(Of Location)
361Public MustOverride ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
366Friend Shared Function GetDeclaringSyntaxNodeHelper(Of TNode As VisualBasicSyntaxNode)(locations As ImmutableArray(Of Location)) As ImmutableArray(Of VisualBasicSyntaxNode)
368Return ImmutableArray(Of VisualBasicSyntaxNode).Empty
390Friend Shared Function GetDeclaringSyntaxReferenceHelper(Of TNode As VisualBasicSyntaxNode)(locations As ImmutableArray(Of Location)) As ImmutableArray(Of SyntaxReference)
394Return ImmutableArray(Of SyntaxReference).Empty
408Friend Shared Function GetDeclaringSyntaxReferenceHelper(references As ImmutableArray(Of SyntaxReference)) As ImmutableArray(Of SyntaxReference)
426Friend Shared Function GetDeclaringSyntaxReferenceHelper(reference As SyntaxReference) As ImmutableArray(Of SyntaxReference)
434Return ImmutableArray(Of SyntaxReference).Empty
868Public Function ToDisplayParts(Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart)
876Public Function ToMinimalDisplayParts(semanticModel As SemanticModel, position As Integer, Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart)
1072Friend Function DeriveUseSiteInfoFromParameters(parameters As ImmutableArray(Of ParameterSymbol)) As UseSiteInfo(Of AssemblySymbol)
1085customModifiers As ImmutableArray(Of CustomModifier),
1114Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(Of T As TypeSymbol)(types As ImmutableArray(Of T), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1125Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(modifiers As ImmutableArray(Of CustomModifier), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1136Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(parameters As ImmutableArray(Of ParameterSymbol), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1150Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(typeParameters As ImmutableArray(Of TypeParameterSymbol), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1295Private ReadOnly Property ISymbol_Locations As ImmutableArray(Of Location) Implements ISymbol.Locations, ISymbolInternal.Locations
1301Private ReadOnly Property ISymbol_DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference) Implements ISymbol.DeclaringSyntaxReferences
1329Private Function ISymbol_ToDisplayParts(Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart) Implements ISymbol.ToDisplayParts
1337Private Function ISymbol_ToMinimalDisplayParts(semanticModel As SemanticModel, position As Integer, Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart) Implements ISymbol.ToMinimalDisplayParts
1347Private Function ISymbol_GetAttributes() As ImmutableArray(Of AttributeData) Implements ISymbol.GetAttributes
1353Protected Shared Function ConstructTypeArguments(ParamArray typeArguments() As ITypeSymbol) As ImmutableArray(Of TypeSymbol)
1361Protected Shared Function ConstructTypeArguments(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As ImmutableArray(Of TypeSymbol)
Symbols\Symbol_Attributes.vb (18)
29Public Overridable Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
30Return ImmutableArray(Of VisualBasicAttributeData).Empty
233Friend Overridable Sub PostDecodeWellKnownAttributes(boundAttributes As ImmutableArray(Of VisualBasicAttributeData),
234allAttributeSyntaxNodes As ImmutableArray(Of AttributeSyntax),
259Dim binders As ImmutableArray(Of Binder) = Nothing
262Dim boundAttributes As ImmutableArray(Of VisualBasicAttributeData)
275Dim boundAttributeTypes As ImmutableArray(Of NamedTypeSymbol) = Binder.BindAttributeTypes(binders, attributesToBind, Me, diagnostics)
294boundAttributes = ImmutableArray(Of VisualBasicAttributeData).Empty
311<Out> ByRef binders As ImmutableArray(Of Binder)) As ImmutableArray(Of AttributeSyntax)
355binders = ImmutableArray(Of Binder).Empty
356Return ImmutableArray(Of AttributeSyntax).Empty
419Private Function EarlyDecodeWellKnownAttributes(binders As ImmutableArray(Of Binder),
420boundAttributeTypes As ImmutableArray(Of NamedTypeSymbol),
421attributesToBind As ImmutableArray(Of AttributeSyntax),
451binders As ImmutableArray(Of Binder),
452attributeSyntaxList As ImmutableArray(Of AttributeSyntax),
453boundAttributes As ImmutableArray(Of VisualBasicAttributeData),
Symbols\Tuples\TupleTypeSymbol.vb (69)
19Private ReadOnly _locations As ImmutableArray(Of Location)
21Private ReadOnly _elementLocations As ImmutableArray(Of Location)
26Private ReadOnly _providedElementNames As ImmutableArray(Of String)
33Private ReadOnly _errorPositions As ImmutableArray(Of Boolean)
42Private _lazyActualElementNames As ImmutableArray(Of String)
44Private ReadOnly _elementTypes As ImmutableArray(Of TypeSymbol)
46Private _lazyMembers As ImmutableArray(Of Symbol)
48Private _lazyFields As ImmutableArray(Of FieldSymbol)
84Public Overrides ReadOnly Property TupleElementTypes As ImmutableArray(Of TypeSymbol)
90Public Overrides ReadOnly Property TupleElementNames As ImmutableArray(Of String)
113Public Overrides ReadOnly Property TupleElements As ImmutableArray(Of FieldSymbol)
158Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
164Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
200Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
202Return ImmutableArray(Of TypeParameterSymbol).Empty
206Public Overrides Function GetTypeArgumentCustomModifiers(ordinal As Integer) As ImmutableArray(Of CustomModifier)
216Friend Overrides ReadOnly Property TypeArgumentsNoUseSiteDiagnostics As ImmutableArray(Of TypeSymbol)
218Return ImmutableArray(Of TypeSymbol).Empty
332Private Sub New(locationOpt As Location, underlyingType As NamedTypeSymbol, elementLocations As ImmutableArray(Of Location),
333elementNames As ImmutableArray(Of String), elementTypes As ImmutableArray(Of TypeSymbol),
334errorPositions As ImmutableArray(Of Boolean))
336Me.New(If((locationOpt Is Nothing), ImmutableArray(Of Location).Empty, ImmutableArray.Create(Of Location)(locationOpt)),
340Private Sub New(locations As ImmutableArray(Of Location), underlyingType As NamedTypeSymbol,
341elementLocations As ImmutableArray(Of Location), elementNames As ImmutableArray(Of String),
342elementTypes As ImmutableArray(Of TypeSymbol), errorPositions As ImmutableArray(Of Boolean))
361elementTypes As ImmutableArray(Of TypeSymbol),
362elementLocations As ImmutableArray(Of Location),
363elementNames As ImmutableArray(Of String),
366errorPositions As ImmutableArray(Of Boolean),
392Return TupleTypeSymbol.Create(ImmutableArray(Of Location).Empty, tupleCompatibleType, Nothing, Nothing, Nothing)
395Public Shared Function Create(tupleCompatibleType As NamedTypeSymbol, elementNames As ImmutableArray(Of String)) As TupleTypeSymbol
396Return TupleTypeSymbol.Create(ImmutableArray(Of Location).Empty, tupleCompatibleType, Nothing, elementNames, errorPositions:=Nothing)
400elementLocations As ImmutableArray(Of Location), elementNames As ImmutableArray(Of String),
401errorPositions As ImmutableArray(Of Boolean)) As TupleTypeSymbol
403Return TupleTypeSymbol.Create(If((locationOpt Is Nothing), ImmutableArray(Of Location).Empty, ImmutableArray.Create(Of Location)(locationOpt)),
407Public Shared Function Create(locations As ImmutableArray(Of Location), tupleCompatibleType As NamedTypeSymbol,
408elementLocations As ImmutableArray(Of Location), elementNames As ImmutableArray(Of String),
409errorPositions As ImmutableArray(Of Boolean)) As TupleTypeSymbol
413Dim elementTypes As ImmutableArray(Of TypeSymbol)
416Dim tupleElementTypes As ImmutableArray(Of TypeSymbol) = tupleCompatibleType.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1).TupleElementTypes
461Dim typeArgumentsNoUseSiteDiagnostics As ImmutableArray(Of TypeSymbol) = tupleCompatibleType.TypeArgumentsNoUseSiteDiagnostics
482Friend Function WithElementNames(newElementNames As ImmutableArray(Of String)) As TupleTypeSymbol
543Private Shared Function GetTupleUnderlyingType(elementTypes As ImmutableArray(Of TypeSymbol), syntax As SyntaxNode, compilation As VisualBasicCompilation, diagnostics As BindingDiagnosticBag) As NamedTypeSymbol
563Dim typeArguments As ImmutableArray(Of TypeSymbol) = ImmutableArray.Create(Of TypeSymbol)(elementTypes, ([loop] - 1) * (TupleTypeSymbol.RestPosition - 1), TupleTypeSymbol.RestPosition - 1).Add(namedTypeSymbol)
657Private Function CollectTupleElementFields() As ImmutableArray(Of FieldSymbol)
684Public Overrides Function GetMembers() As ImmutableArray(Of Symbol)
692Private Function CreateMembers() As ImmutableArray(Of Symbol)
704Dim underlyingMembers As ImmutableArray(Of Symbol) = currentUnderlying.OriginalDefinition.GetMembers()
885Dim members As ImmutableArray(Of Symbol) = Me.GetMembers()
944Public Overrides Function GetMembers(name As String) As ImmutableArray(Of Symbol)
948Public Overrides Function GetTypeMembers() As ImmutableArray(Of NamedTypeSymbol)
951Return ImmutableArray(Of NamedTypeSymbol).Empty
954Public Overrides Function GetTypeMembers(name As String) As ImmutableArray(Of NamedTypeSymbol)
957Return ImmutableArray(Of NamedTypeSymbol).Empty
960Public Overrides Function GetTypeMembers(name As String, arity As Integer) As ImmutableArray(Of NamedTypeSymbol)
963Return ImmutableArray(Of NamedTypeSymbol).Empty
966Public Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
1029Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
1030Return ImmutableArray(Of String).Empty
1067Public Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As NamedTypeSymbol
1083Friend Overrides Function MakeDeclaredInterfaces(basesBeingResolved As BasesBeingResolved, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
1091Friend Overrides Function MakeAcyclicInterfaces(diagnostics As BindingDiagnosticBag) As ImmutableArray(Of NamedTypeSymbol)
1112Dim inferredNames As ImmutableArray(Of Boolean) = literal.InferredNamesOpt
1114Dim destinationNames As ImmutableArray(Of String) = destination.TupleElementNames
Symbols\TypeSubstitution.vb (28)
73Private ReadOnly _pairs As ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers))
85Public ReadOnly Property Pairs As ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers))
95Public ReadOnly Property PairsIncludingParent As ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers))
144Return New TypeWithModifiers(tp, ImmutableArray(Of CustomModifier).Empty)
151Return New TypeWithModifiers(tp, ImmutableArray(Of CustomModifier).Empty)
154Public Function GetTypeArgumentsFor(originalDefinition As NamedTypeSymbol, <Out> ByRef hasTypeArgumentsCustomModifiers As Boolean) As ImmutableArray(Of TypeSymbol)
187Public Function GetTypeArgumentsCustomModifiersFor(originalDefinition As TypeParameterSymbol) As ImmutableArray(Of CustomModifier)
207Return ImmutableArray(Of CustomModifier).Empty
342Return Concat(sub1, targetGenericDefinition, ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers)).Empty)
397params As ImmutableArray(Of TypeParameterSymbol),
398args As ImmutableArray(Of TypeWithModifiers),
463currentParent = Concat(currentParent, targetGenericDefinition, ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers)).Empty)
484params As ImmutableArray(Of TypeParameterSymbol),
485args As ImmutableArray(Of TypeSymbol),
497args As ImmutableArray(Of TypeSymbol),
513pairs As ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers))
526Concat(parent, containingType, ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers)).Empty))
556Private Sub New(targetGenericDefinition As Symbol, pairs As ImmutableArray(Of KeyValuePair(Of TypeParameterSymbol, TypeWithModifiers)), parent As TypeSubstitution)
585alphaRenamedTypeParameters As ImmutableArray(Of SubstitutedTypeParameterSymbol)
594Dim typeParametersDefinitions As ImmutableArray(Of TypeParameterSymbol)
630typeArguments As ImmutableArray(Of TypeWithModifiers)
635Dim typeParametersDefinitions As ImmutableArray(Of TypeParameterSymbol) = targetMethod.TypeParameters
806args As ImmutableArray(Of TypeWithModifiers),
812Dim typeParametersDefinitions As ImmutableArray(Of TypeParameterSymbol)
861Public Function SubstituteCustomModifiers(type As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier)) As ImmutableArray(Of CustomModifier)
869Public Function SubstituteCustomModifiers(customModifiers As ImmutableArray(Of CustomModifier)) As ImmutableArray(Of CustomModifier)
CodeRefactorings\SyncNamespace\VisualBasicChangeNamespaceService.vb (7)
24Public Overrides Function TryGetReplacementReferenceSyntax(reference As SyntaxNode, newNamespaceParts As ImmutableArray(Of String), syntaxFacts As ISyntaxFactsService, ByRef old As SyntaxNode, ByRef [new] As SyntaxNode) As Boolean
60Protected Overrides Function GetValidContainersFromAllLinkedDocumentsAsync(document As Document, container As SyntaxNode, cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of (DocumentId, SyntaxNode)))
61Return SpecializedTasks.Default(Of ImmutableArray(Of (DocumentId, SyntaxNode)))()
65Protected Overrides Function ChangeNamespaceDeclaration(root As CompilationUnitSyntax, declaredNamespaceParts As ImmutableArray(Of String), targetNamespaceParts As ImmutableArray(Of String)) As CompilationUnitSyntax
84Private Shared Function CreateNamespaceAsQualifiedName(namespaceParts As ImmutableArray(Of String), index As Integer) As NameSyntax
95Private Shared Function CreateNamespaceAsMemberAccess(namespaceParts As ImmutableArray(Of String), index As Integer) As ExpressionSyntax
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (12)
51cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of SymbolAndSelectionInfo))
58context As VisualBasicSyntaxContext, position As Integer, cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of ISymbol))
90Dim result = ImmutableArray(Of ISymbol).Empty
138Private Shared Function GetDottedMembers(position As Integer, qualifiedName As QualifiedNameSyntax, semanticModel As SemanticModel, memberKindKeyword As SyntaxKind, cancellationToken As CancellationToken) As ImmutableArray(Of ISymbol)
141Return ImmutableArray(Of ISymbol).Empty
174Return ImmutableArray(Of ISymbol).Empty
186Private Function interfaceMemberGetter([interface] As ITypeSymbol, within As ISymbol) As ImmutableArray(Of ISymbol)
191Private Function GetInterfacesAndContainers(position As Integer, node As SyntaxNode, semanticModel As SemanticModel, kind As SyntaxKind, cancellationToken As CancellationToken) As ImmutableArray(Of ISymbol)
194Return ImmutableArray(Of ISymbol).Empty
260Private Shared Function TryAddGlobalTo(symbols As ImmutableArray(Of ISymbol)) As ImmutableArray(Of ISymbol)
305symbols As ImmutableArray(Of SymbolAndSelectionInfo),
src\Analyzers\VisualBasic\CodeFixes\GenerateConstructor\GenerateConstructorDiagnosticIds.vb (3)
21Friend Shared ReadOnly AllDiagnosticIds As ImmutableArray(Of String) = ImmutableArray.Create(BC30057, BC30272, BC30274, BC30389, BC30455, BC32006, BC30512, BC30387, BC30516)
22Friend Shared ReadOnly TooManyArgumentsDiagnosticIds As ImmutableArray(Of String) = ImmutableArray.Create(BC30057)
23Friend Shared ReadOnly CannotConvertDiagnosticIds As ImmutableArray(Of String) = ImmutableArray.Create(BC30512, BC32006, BC30311, BC36625)
CaseCorrection\AbstractCaseCorrectionService.cs (4)
20protected abstract void AddReplacements(SemanticModel? semanticModel, SyntaxNode root, ImmutableArray<TextSpan> spans, ConcurrentDictionary<SyntaxToken, SyntaxToken> replacements, CancellationToken cancellationToken);
22public async Task<Document> CaseCorrectAsync(Document document, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken)
41public SyntaxNode CaseCorrect(SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken)
44private SyntaxNode CaseCorrect(SemanticModel? semanticModel, SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken)
Classification\AbstractClassificationService.cs (14)
28private Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>>? _getNodeClassifiers;
29private Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>>? _getTokenClassifiers;
35Document document, ImmutableArray<TextSpan> textSpans, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
41Document document, ImmutableArray<TextSpan> textSpans, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
48ImmutableArray<TextSpan> textSpans,
109ImmutableArray<TextSpan> textSpans,
139ImmutableArray<TextSpan> textSpans,
157var reassignedVariableSpans = await reassignedVariableService.GetLocationsAsync(document, textSpans, cancellationToken).ConfigureAwait(false);
165var obsoleteSymbolSpans = await obsoleteSymbolService.GetLocationsAsync(document, textSpans, cancellationToken).ConfigureAwait(false);
186(Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>>, Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>>) GetExtensionClassifiers(
192var classifiers = classificationService.GetDefaultSyntaxClassifiers();
202public async Task AddSyntacticClassificationsAsync(Document document, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
209SolutionServices services, SyntaxNode? root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
Classification\IClassificationService.cs (4)
34void AddSyntacticClassifications(SolutionServices services, SyntaxNode? root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken);
46Task AddSyntacticClassificationsAsync(Document document, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken);
63Task AddSemanticClassificationsAsync(Document document, ImmutableArray<TextSpan> textSpans, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken);
74Task AddEmbeddedLanguageClassificationsAsync(Document document, ImmutableArray<TextSpan> textSpans, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken);
Classification\SyntaxClassification\AbstractSyntaxClassificationService.cs (8)
20public abstract void AddSyntacticClassifications(SyntaxNode root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken);
22public abstract ImmutableArray<ISyntaxClassifier> GetDefaultSyntaxClassifiers();
28ImmutableArray<TextSpan> textSpans,
30Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
31Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> getTokenClassifiers,
50ImmutableArray<TextSpan> textSpans,
51Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
52Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> getTokenClassifiers,
Classification\SyntaxClassification\AbstractSyntaxClassificationService.Worker.cs (7)
25private readonly Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> _getNodeClassifiers;
26private readonly Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> _getTokenClassifiers;
38Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
39Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> getTokenClassifiers,
58ImmutableArray<TextSpan> textSpans,
60Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
61Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> getTokenClassifiers,
Classification\SyntaxClassification\ISyntaxClassificationService.cs (8)
18ImmutableArray<ISyntaxClassifier> GetDefaultSyntaxClassifiers();
29ImmutableArray<TextSpan> textSpans,
36ImmutableArray<TextSpan> textSpans,
38Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
39Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> getTokenClassifiers,
46ImmutableArray<TextSpan> textSpans,
47Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
48Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>> getTokenClassifiers,
CodeActions\CodeAction.cs (25)
58private protected static ImmutableArray<string> RequiresNonDocumentChangeTags = [RequiresNonDocumentChange];
147public virtual ImmutableArray<string> Tags => [];
152/// actions, use <see cref="Create(string, ImmutableArray{CodeAction}, bool)"/>.
154public virtual ImmutableArray<CodeAction> NestedActions
161internal virtual ImmutableArray<CodeAction> AdditionalPreviewFlavors => [];
166internal ImmutableArray<CodeAction> NestedCodeActions
176/// cref="Create(string, ImmutableArray{CodeAction}, bool)"/>.
183internal ImmutableArray<string> CustomTags { get; set; } = [];
229public Task<ImmutableArray<CodeActionOperation>> GetOperationsAsync(CancellationToken cancellationToken)
235public Task<ImmutableArray<CodeActionOperation>> GetOperationsAsync(
241private protected virtual async Task<ImmutableArray<CodeActionOperation>> GetOperationsCoreAsync(
244var operations = await this.ComputeOperationsAsync(progress, cancellationToken).ConfigureAwait(false);
257public Task<ImmutableArray<CodeActionOperation>> GetPreviewOperationsAsync(CancellationToken cancellationToken)
260internal async Task<ImmutableArray<CodeActionOperation>> GetPreviewOperationsAsync(
295protected virtual async Task<ImmutableArray<CodeActionOperation>> ComputeOperationsAsync(
421protected Task<ImmutableArray<CodeActionOperation>> PostProcessAsync(IEnumerable<CodeActionOperation> operations, CancellationToken cancellationToken)
425internal static async Task<ImmutableArray<CodeActionOperation>> PostProcessAsync(
567public static CodeAction Create(string title, ImmutableArray<CodeAction> nestedActions, bool isInlinable)
570/// <inheritdoc cref="Create(string, ImmutableArray{CodeAction}, bool)"/>
573public static CodeAction Create(string title, ImmutableArray<CodeAction> nestedActions, bool isInlinable, CodeActionPriority priority = CodeActionPriority.Default)
608ImmutableArray<CodeAction> nestedActions,
621ImmutableArray<CodeAction> nestedActions,
630ImmutableArray<CodeAction> nestedActions,
637public sealed override ImmutableArray<CodeAction> NestedActions { get; }
639private static string? ComputeEquivalenceKey(ImmutableArray<CodeAction> nestedActions)
CodeCleanup\AbstractCodeCleanerService.cs (26)
26public abstract ImmutableArray<ICodeCleanupProvider> GetDefaultProviders();
27protected abstract ImmutableArray<TextSpan> GetSpansToAvoid(SyntaxNode root);
29public async Task<Document> CleanupAsync(Document document, ImmutableArray<TextSpan> spans, CodeCleanupOptions options, ImmutableArray<ICodeCleanupProvider> providers, CancellationToken cancellationToken)
40var codeCleaners = providers.IsDefault ? GetDefaultProviders() : providers;
44var normalizedSpan = spans.ToNormalizedSpans();
73public async Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers, CancellationToken cancellationToken)
84var codeCleaners = providers.IsDefault ? GetDefaultProviders() : providers;
86var normalizedSpan = spans.ToNormalizedSpans();
114private static ImmutableArray<TextSpan> GetTextSpansFromAnnotation(
270SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken)
273var nonOverlappingSpans = GetNonOverlappingSpans(root, spans, cancellationToken);
320private static ImmutableArray<TextSpan> GetNonOverlappingSpans(
321SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken)
444private static bool CleanupWholeNode(TextSpan nodeSpan, ImmutableArray<TextSpan> spans)
458Func<SyntaxNode, ImmutableArray<TextSpan>> spanGetter,
459ImmutableArray<ICodeCleanupProvider> codeCleaners,
466var spans = ImmutableArray<TextSpan>.Empty;
520private ImmutableArray<TextSpan> GetSpans(
521SyntaxNode root, Func<SyntaxNode, ImmutableArray<TextSpan>> spanGetter)
539Func<SyntaxNode, ImmutableArray<TextSpan>> spanGetter,
541ImmutableArray<ICodeCleanupProvider> codeCleaners,
548var spans = ImmutableArray<TextSpan>.Empty;
CodeCleanup\CodeCleaner.cs (9)
28public static ImmutableArray<ICodeCleanupProvider> GetDefaultProviders(Document document)
50public static async Task<Document> CleanupAsync(Document document, CodeCleanupOptions options, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
60public static async Task<Document> CleanupAsync(Document document, SyntaxAnnotation annotation, CodeCleanupOptions options, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
70public static Task<Document> CleanupAsync(Document document, TextSpan span, CodeCleanupOptions options, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
77public static async Task<Document> CleanupAsync(Document document, ImmutableArray<TextSpan> spans, CodeCleanupOptions options, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
87public static Task<SyntaxNode> CleanupAsync(SyntaxNode root, TextSpan span, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
94public static Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
CodeFixes\CodeFixContext.cs (10)
21private readonly Action<CodeAction, ImmutableArray<Diagnostic>> _registerCodeFix;
60public ImmutableArray<Diagnostic> Diagnostics { get; }
88ImmutableArray<Diagnostic> diagnostics,
89Action<CodeAction, ImmutableArray<Diagnostic>> registerCodeFix,
119ImmutableArray<Diagnostic> diagnostics,
120Action<CodeAction, ImmutableArray<Diagnostic>> registerCodeFix,
147Action<CodeAction, ImmutableArray<Diagnostic>> registerCodeFix,
171Action<CodeAction, ImmutableArray<Diagnostic>> registerCodeFix,
221public void RegisterCodeFix(CodeAction action, ImmutableArray<Diagnostic> diagnostics)
238private static void VerifyDiagnosticsArgument(ImmutableArray<Diagnostic> diagnostics, TextSpan span)
CodeFixes\FixAllOccurrences\FixAllContextHelper.cs (15)
21public static async Task<ImmutableDictionary<Document, ImmutableArray<Diagnostic>>> GetDocumentDiagnosticsToFixAsync(
26var allDiagnostics = ImmutableArray<Diagnostic>.Empty;
39var documentDiagnostics = await fixAllContext.GetDocumentDiagnosticsAsync(document).ConfigureAwait(false);
40return ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Empty.SetItem(document, documentDiagnostics);
67var projectsToFix = project.Solution.Projects
76allDiagnostics = await ProducerConsumer<ImmutableArray<Diagnostic>>.RunParallelAsync(
88await foreach (var diagnostics in results)
102return ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Empty;
108static async Task<ImmutableDictionary<Document, ImmutableArray<Diagnostic>>> GetSpanDiagnosticsAsync(
110IEnumerable<KeyValuePair<Document, ImmutableArray<TextSpan>>> documentsAndSpans)
117var documentDiagnostics = await fixAllContext.GetDocumentSpanDiagnosticsAsync(document, span).ConfigureAwait(false);
126private static async Task<ImmutableDictionary<Document, ImmutableArray<Diagnostic>>> GetDocumentDiagnosticsToFixAsync(
128ImmutableArray<Diagnostic> diagnostics,
131var builder = ImmutableDictionary.CreateBuilder<Document, ImmutableArray<Diagnostic>>();
CodeFixes\FixAllOccurrences\FixAllProvider.cs (7)
21private protected static ImmutableArray<FixAllScope> DefaultSupportedFixAllScopes
58public static FixAllProvider Create(Func<FixAllContext, Document, ImmutableArray<Diagnostic>, Task<Document?>> fixAllAsync)
78Func<FixAllContext, Document, ImmutableArray<Diagnostic>, Task<Document?>> fixAllAsync,
79ImmutableArray<FixAllScope> supportedFixAllScopes)
99Func<FixAllContext, Document, ImmutableArray<Diagnostic>, Task<Document?>> fixAllAsync,
100ImmutableArray<FixAllScope> supportedFixAllScopes) : DocumentBasedFixAllProvider(supportedFixAllScopes)
102protected override Task<Document?> FixAllAsync(FixAllContext context, Document document, ImmutableArray<Diagnostic> diagnostics)
CodeRefactorings\FixAllOccurences\FixAllProvider.cs (7)
24private protected static ImmutableArray<FixAllScope> DefaultSupportedFixAllScopes
58public static FixAllProvider Create(Func<FixAllContext, Document, Optional<ImmutableArray<TextSpan>>, Task<Document?>> fixAllAsync)
78Func<FixAllContext, Document, Optional<ImmutableArray<TextSpan>>, Task<Document?>> fixAllAsync,
79ImmutableArray<FixAllScope> supportedFixAllScopes)
94Func<FixAllContext, Document, Optional<ImmutableArray<TextSpan>>, Task<Document?>> fixAllAsync,
95ImmutableArray<FixAllScope> supportedFixAllScopes) : DocumentBasedFixAllProvider(supportedFixAllScopes)
97protected override Task<Document?> FixAllAsync(FixAllContext context, Document document, Optional<ImmutableArray<TextSpan>> fixAllSpans)
Diagnostics\AnalysisResultPair.cs (15)
16private ImmutableDictionary<SyntaxTree, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>>? _lazyMergedSyntaxDiagnostics;
17private ImmutableDictionary<SyntaxTree, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>>? _lazyMergedSemanticDiagnostics;
18private ImmutableDictionary<AdditionalText, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>>? _lazyMergedAdditionalFileDiagnostics;
19private ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>? _lazyMergedCompilationDiagnostics;
40public ImmutableDictionary<SyntaxTree, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>> MergedSyntaxDiagnostics
65public ImmutableDictionary<SyntaxTree, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>> MergedSemanticDiagnostics
90public ImmutableDictionary<AdditionalText, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>> MergedAdditionalFileDiagnostics
115public ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> MergedCompilationDiagnostics
173private static ImmutableDictionary<TKey, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>> MergeDiagnostics<TKey>(
174ImmutableDictionary<TKey, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>> first,
175ImmutableDictionary<TKey, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>> second)
193private static ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> MergeDiagnostics(
194ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> first,
195ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> second)
200if (!analyzerToDiagnostics.TryGetValue(analyzer, out var firstDiagnostics))
Diagnostics\CompilationWithAnalyzersPair.cs (8)
53public ImmutableArray<DiagnosticAnalyzer> ProjectAnalyzers => _projectCompilationWithAnalyzers?.Analyzers ?? [];
55public ImmutableArray<DiagnosticAnalyzer> HostAnalyzers => _hostCompilationWithAnalyzers?.Analyzers ?? [];
82public async Task<AnalysisResultPair?> GetAnalysisResultAsync(SyntaxTree tree, TextSpan? filterSpan, ImmutableArray<DiagnosticAnalyzer> projectAnalyzers, ImmutableArray<DiagnosticAnalyzer> hostAnalyzers, CancellationToken cancellationToken)
94public async Task<AnalysisResultPair?> GetAnalysisResultAsync(AdditionalText file, TextSpan? filterSpan, ImmutableArray<DiagnosticAnalyzer> projectAnalyzers, ImmutableArray<DiagnosticAnalyzer> hostAnalyzers, CancellationToken cancellationToken)
106public async Task<AnalysisResultPair?> GetAnalysisResultAsync(SemanticModel model, TextSpan? filterSpan, ImmutableArray<DiagnosticAnalyzer> projectAnalyzers, ImmutableArray<DiagnosticAnalyzer> hostAnalyzers, CancellationToken cancellationToken)
Diagnostics\DiagnosticAnalysisResult.cs (32)
36private readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? _syntaxLocals;
41private readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? _semanticLocals;
46private readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? _nonLocals;
51private readonly ImmutableArray<DiagnosticData> _others;
70ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> syntaxLocals,
71ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> semanticLocals,
72ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> nonLocals,
73ImmutableArray<DiagnosticData> others,
101syntaxLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
102semanticLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
103nonLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
118public static DiagnosticAnalysisResult CreateFromBuild(Project project, ImmutableArray<DiagnosticData> diagnostics, IEnumerable<DocumentId> initialDocuments)
148syntaxLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
150nonLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
160ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> syntaxLocalMap,
161ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> semanticLocalMap,
162ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> nonLocalMap,
163ImmutableArray<DiagnosticData> others,
202private ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? GetMap(AnalysisKind kind)
211public ImmutableArray<DiagnosticData> GetAllDiagnostics()
226foreach (var data in _syntaxLocals.Values)
229foreach (var data in _semanticLocals.Values)
232foreach (var data in _nonLocals.Values)
241public ImmutableArray<DiagnosticData> GetDocumentDiagnostics(DocumentId documentId, AnalysisKind kind)
251if (map.TryGetValue(documentId, out var diagnostics))
260public ImmutableArray<DiagnosticData> GetOtherDiagnostics()
285semanticLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
286nonLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty,
293ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? syntaxLocals,
294ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? semanticLocals,
295ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? nonLocals)
324private static void VerifyDocumentMap(Project project, ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> map)
Diagnostics\Extensions.cs (19)
24public static async Task<ImmutableArray<Diagnostic>> ToDiagnosticsAsync(this IEnumerable<DiagnosticData> diagnostics, Project project, CancellationToken cancellationToken)
35public static ValueTask<ImmutableArray<Location>> ConvertLocationsAsync(this IReadOnlyCollection<DiagnosticDataLocation> locations, Project project, CancellationToken cancellationToken)
103ImmutableArray<Diagnostic> additionalPragmaSuppressionDiagnostics,
107ImmutableArray<DiagnosticAnalyzer> projectAnalyzers,
108ImmutableArray<DiagnosticAnalyzer> hostAnalyzers,
148ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>? diagnosticsByAnalyzerMap;
215var diagnostics = additionalPragmaSuppressionDiagnostics.WhereAsArray(d => d.Location.SourceTree == treeToAnalyze);
239ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> diagnosticsByAnalyzer,
245ImmutableArray<string> diagnosticIdsToFilter,
248if (diagnosticsByAnalyzer.TryGetValue(analyzer, out var diagnostics))
256ImmutableArray<Diagnostic> diagnostics,
262ImmutableArray<string> diagnosticIdsToFilter,
305public static ImmutableArray<Diagnostic> Filter(
306this ImmutableArray<Diagnostic> diagnostics,
307ImmutableArray<string> diagnosticIdsToFilter,
322public static async Task<(AnalysisResultPair? analysisResult, ImmutableArray<Diagnostic> additionalDiagnostics)> GetAnalysisResultAsync(
330var additionalDiagnostics = await compilationWithAnalyzers.GetPragmaSuppressionAnalyzerDiagnosticsAsync(
370private static async Task<ImmutableArray<Diagnostic>> GetPragmaSuppressionAnalyzerDiagnosticsAsync(
377var hostAnalyzers = documentAnalysisScope?.HostAnalyzers ?? compilationWithAnalyzers.HostAnalyzers;
Diagnostics\HostDiagnosticAnalyzers.cs (27)
31private readonly ConcurrentDictionary<string, ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>>> _hostDiagnosticAnalyzersPerLanguageMap;
40private readonly Lazy<ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>>> _lazyHostDiagnosticAnalyzersPerReferenceMap;
61_hostDiagnosticAnalyzersPerLanguageMap = new ConcurrentDictionary<string, ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>>>(concurrencyLevel: 2, capacity: 2);
62_lazyHostDiagnosticAnalyzersPerReferenceMap = new Lazy<ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>>>(() => CreateDiagnosticAnalyzersPerReferenceMap(_hostAnalyzerReferencesMap), isThreadSafe: true);
75public ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> GetOrCreateHostDiagnosticAnalyzersPerReference(string language)
78public ImmutableDictionary<string, ImmutableArray<DiagnosticDescriptor>> GetDiagnosticDescriptorsPerReference(DiagnosticAnalyzerInfoCache infoCache)
85public ImmutableDictionary<string, ImmutableArray<DiagnosticDescriptor>> GetDiagnosticDescriptorsPerReference(DiagnosticAnalyzerInfoCache infoCache, Project project)
92private static ImmutableDictionary<string, ImmutableArray<DiagnosticDescriptor>> ConvertReferenceIdentityToName(
93ImmutableDictionary<object, ImmutableArray<DiagnosticDescriptor>> descriptorsPerReference,
96var builder = ImmutableDictionary.CreateBuilder<string, ImmutableArray<DiagnosticDescriptor>>();
108if (builder.TryGetValue(displayName, out var existing))
124public ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateDiagnosticAnalyzersPerReference(Project project)
136public ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateProjectDiagnosticAnalyzersPerReference(Project project)
139public ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateProjectDiagnosticAnalyzersPerReference(IReadOnlyList<AnalyzerReference> projectAnalyzerReferences, string language)
159private static ImmutableDictionary<object, ImmutableArray<DiagnosticDescriptor>> CreateDiagnosticDescriptorsPerReference(
161ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> analyzersMap)
163var builder = ImmutableDictionary.CreateBuilder<object, ImmutableArray<DiagnosticDescriptor>>();
180private ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateHostDiagnosticAnalyzersAndBuildMap(string language)
184var builder = ImmutableDictionary.CreateBuilder<object, ImmutableArray<DiagnosticAnalyzer>>();
187var analyzers = reference.GetAnalyzers(language);
202private void UpdateCompilerAnalyzerMapIfNeeded(string language, ImmutableArray<DiagnosticAnalyzer> analyzers)
219private static ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateDiagnosticAnalyzersPerReferenceMap(
222var builder = ImmutableDictionary.CreateBuilder<object, ImmutableArray<DiagnosticAnalyzer>>();
227var analyzers = language == null ? reference.Value.GetAnalyzersForAllLanguages() : reference.Value.GetAnalyzers(language);
279private static ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> MergeDiagnosticAnalyzerMap(
280ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> map1,
281ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> map2)
Diagnostics\SerializableDiagnosticAnalysisResultMap.cs (20)
13ImmutableArray<(string analyzerId, SerializableDiagnosticMap diagnosticMap)> diagnostics,
14ImmutableArray<(string analyzerId, AnalyzerTelemetryInfo)> telemetry)
17ImmutableArray<(string, SerializableDiagnosticMap)>.Empty,
18ImmutableArray<(string, AnalyzerTelemetryInfo)>.Empty);
21internal readonly ImmutableArray<(string analyzerId, SerializableDiagnosticMap diagnosticMap)> Diagnostics = diagnostics;
24internal readonly ImmutableArray<(string analyzerId, AnalyzerTelemetryInfo telemetry)> Telemetry = telemetry;
29ImmutableArray<(DocumentId, ImmutableArray<DiagnosticData>)> syntax,
30ImmutableArray<(DocumentId, ImmutableArray<DiagnosticData>)> semantic,
31ImmutableArray<(DocumentId, ImmutableArray<DiagnosticData>)> nonLocal,
32ImmutableArray<DiagnosticData> other)
35public readonly ImmutableArray<(DocumentId, ImmutableArray<DiagnosticData>)> Syntax = syntax;
38public readonly ImmutableArray<(DocumentId, ImmutableArray<DiagnosticData>)> Semantic = semantic;
41public readonly ImmutableArray<(DocumentId, ImmutableArray<DiagnosticData>)> NonLocal = nonLocal;
44public readonly ImmutableArray<DiagnosticData> Other = other;
ExtensionManager\IExtensionManagerExtensions.cs (12)
90public static Func<SyntaxNode, ImmutableArray<TExtension>> CreateNodeExtensionGetter<TExtension>(
91this IExtensionManager extensionManager, IEnumerable<TExtension> extensions, Func<TExtension, ImmutableArray<Type>> nodeTypeGetter)
93var map = new Dictionary<Type, ImmutableArray<TExtension>>();
100var types = extensionManager.PerformFunction(
104map[type] = map.TryGetValue(type, out var existing)
110return n => map.TryGetValue(n.GetType(), out var extensions) ? extensions : [];
114public static Func<SyntaxToken, ImmutableArray<TExtension>> CreateTokenExtensionGetter<TExtension>(
115this IExtensionManager extensionManager, IEnumerable<TExtension> extensions, Func<TExtension, ImmutableArray<int>> tokenKindGetter)
117var map = new Dictionary<int, ImmutableArray<TExtension>>();
124var kinds = extensionManager.PerformFunction(
128map[kind] = map.TryGetValue(kind, out var existing)
134return t => map.TryGetValue(t.RawKind, out var extensions) ? extensions : [];
FindSymbols\FindReferences\DependentProjectsFinder.cs (12)
37ImmutableArray<(Project project, bool hasInternalsAccess)>>> s_solutionToDependentProjectMap = new();
40public static async Task<ImmutableArray<Project>> GetDependentProjectsAsync(
41Solution solution, ImmutableArray<ISymbol> symbols, IImmutableSet<Project> projects, CancellationToken cancellationToken)
49var dependentProjects = await GetDependentProjectsWorkerAsync(solution, symbols, cancellationToken).ConfigureAwait(false);
73private static async Task<ImmutableArray<Project>> GetDependentProjectsWorkerAsync(
74Solution solution, ImmutableArray<ISymbol> symbols, CancellationToken cancellationToken)
85var dependentProjects = await ComputeDependentProjectsAsync(
89var filteredProjects = maxVisibility == SymbolVisibility.Internal
105Solution solution, ImmutableArray<ISymbol> symbols, CancellationToken cancellationToken)
134private static async Task<ImmutableArray<(Project project, bool hasInternalsAccess)>> ComputeDependentProjectsAsync(
143ImmutableArray<(Project project, bool hasInternalsAccess)> dependentProjects;
162static async Task<ImmutableArray<(Project project, bool hasInternalsAccess)>> ComputeDependentProjectsWorkerAsync(
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (17)
27public abstract Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(
30public abstract ValueTask<ImmutableArray<ISymbol>> DetermineCascadedSymbolsAsync(
172var tokens = FindMatchingIdentifierTokens(state, identifier, cancellationToken);
176public static ImmutableArray<SyntaxToken> FindMatchingIdentifierTokens(FindReferencesDocumentState state, string identifier, CancellationToken cancellationToken)
182ImmutableArray<SyntaxToken> tokens,
250var aliasSymbols = GetLocalAliasSymbols(state, initialReferences, cancellationToken);
262var aliasSymbols = GetLocalAliasSymbols(state, initialReferences, cancellationToken);
267private static ImmutableArray<IAliasSymbol> GetLocalAliasSymbols(
286ImmutableArray<IAliasSymbol> localAliasSymbols,
308ImmutableArray<IAliasSymbol> localAliasSymbols,
750internal static ImmutableArray<(string key, string value)> GetAdditionalFindUsagesProperties(
779internal static ImmutableArray<(string key, string value)> GetAdditionalFindUsagesProperties(ISymbol definition)
812protected virtual Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(
818public sealed override Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(
844public sealed override ValueTask<ImmutableArray<ISymbol>> DetermineCascadedSymbolsAsync(
857protected virtual ValueTask<ImmutableArray<ISymbol>> DetermineCascadedSymbolsAsync(
870protected static async Task<ImmutableArray<string>> GetAllMatchingGlobalAliasNamesAsync(
FindSymbols\FindReferences\FindReferencesSearchEngine.cs (13)
27ImmutableArray<IReferenceFinder> finders,
40private readonly ImmutableArray<IReferenceFinder> _finders = finders;
64ImmutableArray<ISymbol> symbols, CancellationToken cancellationToken)
83ImmutableArray<ISymbol> symbols, Action<Reference> onReferenceFound, CancellationToken cancellationToken)
105var allSymbols = symbolSet.GetAllSymbols();
126private async IAsyncEnumerable<(Project project, ImmutableArray<(ISymbol symbol, SymbolGroup group)> allSymbols)> GetProjectsAndSymbolsToSearchSeriallyAsync(
128ImmutableArray<Project> projectsToSearch,
164private async Task<ImmutableArray<(ISymbol symbol, SymbolGroup group)>> ReportGroupsSeriallyAsync(
165ImmutableArray<ISymbol> symbols, Dictionary<ISymbol, SymbolGroup> symbolToGroup, CancellationToken cancellationToken)
206private Task<ImmutableArray<Project>> GetProjectsToSearchAsync(
207ImmutableArray<ISymbol> symbols, CancellationToken cancellationToken)
217Project project, ImmutableArray<(ISymbol symbol, SymbolGroup group)> allSymbols, Action<Reference> onReferenceFound, CancellationToken cancellationToken)
344ImmutableArray<(ISymbol symbol, SymbolGroup group)> allSymbols,
FindSymbols\FindReferences\FindReferencesSearchEngine_FindReferencesInDocuments.cs (5)
75async ValueTask PerformSearchInProjectSeriallyAsync(ImmutableArray<(ISymbol symbol, SymbolGroup group)> symbols, Project project)
100ImmutableArray<(ISymbol symbol, SymbolGroup group)> symbols,
157var converted = await ConvertLocationsAsync(@this, values, symbol, group, cancellationToken).ConfigureAwait(false);
164static async Task<ImmutableArray<(SymbolGroup group, ISymbol symbol, ReferenceLocation location)>> ConvertLocationsAsync(
180var tokens = AbstractReferenceFinder.FindMatchingIdentifierTokens(state, symbol.Name, cancellationToken);
FindSymbols\ReferenceLocation.cs (3)
55internal ImmutableArray<(string key, string value)> AdditionalProperties { get; }
72ImmutableArray<(string key, string value)> additionalProperties,
89internal ReferenceLocation(Document document, IAliasSymbol? alias, Location location, bool isImplicit, SymbolUsageInfo symbolUsageInfo, ImmutableArray<(string key, string value)> additionalProperties, CandidateReason candidateReason)
FindSymbols\SymbolTree\SymbolTreeInfo.cs (23)
40private readonly ImmutableArray<Node> _nodes;
75ImmutableArray<Node> sortedNodes,
87ImmutableArray<Node> sortedNodes,
102var sortedNodes = SortNodes(unsortedNodes);
118public Task<ImmutableArray<ISymbol>> FindAsync(
129public async Task<ImmutableArray<ISymbol>> FindAsync(
137var symbols = await FindCoreAsync(query, lazyAssembly, cancellationToken).ConfigureAwait(false);
142private Task<ImmutableArray<ISymbol>> FindCoreAsync(
167private async Task<ImmutableArray<ISymbol>> FuzzyFindAsync(
182var symbols = await FindAsync(lazyAssembly, similarName, ignoreCase: true, cancellationToken).ConfigureAwait(false);
213private async Task<ImmutableArray<ISymbol>> FindAsync(
245ImmutableArray<Node> nodes, string name)
270private static int BinarySearch(ImmutableArray<Node> nodes, string name)
299private static SpellChecker CreateSpellChecker(ImmutableArray<Node> sortedNodes)
302private static ImmutableArray<Node> SortNodes(ImmutableArray<BuilderNode> unsortedNodes)
350BuilderNode x, BuilderNode y, ImmutableArray<BuilderNode> nodeList)
409var members = rootContainer.GetMembers(node.Name);
422var members = nsOrType.GetMembers(node.Name);
459ImmutableArray<BuilderNode> unsortedNodes,
463var sortedNodes = SortNodes(unsortedNodes);
470ImmutableArray<Node> nodes,
497public ImmutableArray<INamedTypeSymbol> GetDerivedMetadataTypes(
Formatting\Formatter.cs (13)
34internal static ImmutableArray<AbstractFormattingRule> GetDefaultFormattingRules(Document document)
37internal static ImmutableArray<AbstractFormattingRule> GetDefaultFormattingRules(LanguageServices languageServices)
91internal static async Task<Document> FormatAsync(Document document, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
113internal static async Task<Document> FormatAsync(Document document, SyntaxAnnotation annotation, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
120internal static async Task<Document> FormatAsync(Document document, SyntaxAnnotation annotation, OptionSet? optionSet, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
157private static SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
177internal static SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
221private static SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
227internal static SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
230private static IFormattingResult? GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
254internal static IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
304private static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
312internal static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken = default)
Options\GlobalOptionService.cs (14)
27private readonly ImmutableArray<Lazy<IOptionPersisterProvider>> _optionPersisterProviders = optionPersisters.ToImmutableArray();
33private ImmutableArray<IOptionPersister> _lazyOptionPersisters;
40private ImmutableArray<IOptionPersister> GetOptionPersisters()
56static ImmutableArray<IOptionPersister> GetOptionPersistersSlow(
58ImmutableArray<Lazy<IOptionPersisterProvider>> persisterProviders,
71static async Task<ImmutableArray<IOptionPersister>> GetOptionPersistersAsync(
72ImmutableArray<Lazy<IOptionPersisterProvider>> persisterProviders,
81private static object? LoadOptionFromPersisterOrGetDefault(OptionKey2 optionKey, ImmutableArray<IOptionPersister> persisters)
126public ImmutableArray<object?> GetOptions(ImmutableArray<OptionKey2> optionKeys)
160private static object? GetOption_NoLock(ref ImmutableDictionary<OptionKey2, object?> currentValues, OptionKey2 optionKey, ImmutableArray<IOptionPersister> persisters)
186public bool SetGlobalOptions(ImmutableArray<KeyValuePair<OptionKey2, object?>> options)
226private static void PersistOption(ImmutableArray<IOptionPersister> persisters, OptionKey2 optionKey, object? value)
267private void RaiseOptionChangedEvent(ImmutableArray<(OptionKey2, object?)> changedOptions)
PatternMatching\PatternMatcher.cs (5)
464candidate, candidateHumps, patternChunk, out var matchedSpans);
481var camelCaseKindIgnoreCase = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.IgnoreCase, out var matchedSpansIgnoreCase);
484var camelCaseKind = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.None, out var matchedSpans);
506out ImmutableArray<TextSpan> matchedSpans)
517out ImmutableArray<TextSpan> matchedSpans)
Recommendations\AbstractRecommendationServiceRunner.cs (25)
49private ImmutableArray<ISymbol> GetMemberSymbolsForParameter(IParameterSymbol parameter, int position, bool useBaseReferenceAccessibility, bool unwrapNullable, bool isForDereference)
51var symbols = TryGetMemberSymbolsForLambdaParameter(parameter, position, unwrapNullable, isForDereference);
57private ImmutableArray<ISymbol> TryGetMemberSymbolsForLambdaParameter(
96var parameterTypeSymbols = ImmutableArray<ITypeSymbol>.Empty;
106var candidateSymbols = _context.SemanticModel.GetMemberGroup(expressionOfInvocationExpression, _cancellationToken);
134private ImmutableArray<ITypeSymbol> SubstituteTypeParameters(ImmutableArray<ITypeSymbol> parameterTypeSymbols, SyntaxNode invocationExpression)
141var invocationSymbols = _context.SemanticModel.GetSymbolInfo(invocationExpression).GetAllSymbols();
150var typeParameters = invocationSymbol.GetTypeParameters();
151var typeArguments = invocationSymbol.GetTypeArguments();
185private ImmutableArray<ITypeSymbol> GetTypeSymbols(
186ImmutableArray<ISymbol> candidateSymbols,
209var allTypeArguments = type.GetAllTypeArguments();
218var methods = type.GetMembers(WellKnownMemberNames.DelegateInvokeName);
222var parameters = methods[0].GetParameters();
271protected ImmutableArray<ISymbol> GetSymbolsForNamespaceDeclarationNameContext<TNamespaceDeclarationSyntax>()
282var symbols = semanticModel.LookupNamespacesAndTypes(declarationSyntax.SpanStart, containingNamespaceSymbol)
288protected ImmutableArray<ISymbol> GetSymbolsForEnumBaseList(INamespaceOrTypeSymbol container)
357protected ImmutableArray<ISymbol> GetMemberSymbols(
388protected ImmutableArray<ISymbol> LookupSymbolsInContainer(
394var containerMembers = SuppressDefaultTupleElements(
427static bool MatchesConstraints(ITypeSymbol originalContainerType, ImmutableArray<ITypeSymbol> constraintTypes)
528protected static ImmutableArray<ISymbol> SuppressDefaultTupleElements(INamespaceOrTypeSymbol container, ImmutableArray<ISymbol> symbols)
Rename\ConflictEngine\ConflictResolver.cs (9)
56ImmutableArray<SymbolKey> nonConflictSymbolKeys,
97ImmutableArray<SymbolKey> nonConflictSymbolKeys,
118ImmutableArray<SymbolKey> nonConflictSymbolKeys,
130private static ImmutableArray<ISymbol> SymbolsForEnclosingInvocationExpressionWorker(SyntaxNode invocationExpression, SemanticModel semanticModel, CancellationToken cancellationToken)
145private static bool LocalVariableConflictPerLanguage(SyntaxToken tokenOrNode, Document document, ImmutableArray<ISymbol> newReferencedSymbols)
188var implicitUsageConflicts = renameRewriterService.ComputePossibleImplicitUsageConflicts(renamedSymbol, semanticModel, originalDeclarationLocation, newDeclarationLocationStartingPosition, cancellationToken);
207var implicitConflicts = await renameRewriterService.ComputeImplicitReferenceConflictsAsync(
354var locations = symbol.Locations;
403var locations = symbol.Locations;
Rename\ConflictEngine\ConflictResolver.Session.cs (18)
40private readonly ImmutableArray<SymbolKey> _nonConflictSymbolKeys;
54ImmutableArray<SymbolKey> nonConflictSymbolKeys,
192var unresolvedLocations = conflictResolution.RelatedLocations
243var definitionLocations = _renameLocationSet.Symbol.Locations;
244var definitionDocuments = definitionLocations
374ImmutableArray<ISymbol> newReferencedSymbols = default;
458var referencedSymbols = _renameLocationSet.ReferencedSymbols;
483ImmutableArray<ISymbol> symbols, ImmutableHashSet<ISymbol>? nonConflictSymbols)
518ImmutableArray<ISymbol> newReferencedSymbols)
656private ImmutableArray<ISymbol> GetSymbolsInNewSolution(Document newDocument, SemanticModel newDocumentSemanticModel, RenameActionAnnotation conflictAnnotation, SyntaxNodeOrToken tokenOrNode)
658var newReferencedSymbols = RenameUtilities.GetSymbolsTouchingPosition(tokenOrNode.Span.Start, newDocumentSemanticModel, newDocument.Project.Solution.Services, _cancellationToken);
664var invocationReferencedSymbols = SymbolsForEnclosingInvocationExpressionWorker((SyntaxNode)tokenOrNode!, newDocumentSemanticModel, _cancellationToken);
703private async Task<(ImmutableHashSet<DocumentId> documentIds, ImmutableArray<string> possibleNameConflicts)> FindDocumentsAndPossibleNameConflictsAsync()
723var possibleNameConflicts = possibleNameConflictsList.ToImmutableArray();
736ImmutableArray<string> possibleNameConflicts)
782ImmutableArray<RenameLocation> renameLocations,
786ImmutableArray<string> possibleNameConflicts)
865private static bool ShouldIncludeLocation(ImmutableArray<RenameLocation> renameLocations, RenameLocation location)
Rename\ConflictResolution.cs (22)
45public readonly ImmutableArray<DocumentId> DocumentIds;
47public readonly ImmutableArray<RelatedLocation> RelatedLocations;
49private readonly ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> _documentToModifiedSpansMap;
50private readonly ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> _documentToComplexifiedSpansMap;
51private readonly ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> _documentToRelatedLocationsMap;
65_documentToModifiedSpansMap = ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>>.Empty;
66_documentToComplexifiedSpansMap = ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>>.Empty;
67_documentToRelatedLocationsMap = ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>>.Empty;
75ImmutableArray<DocumentId> documentIds, ImmutableArray<RelatedLocation> relatedLocations,
76ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> documentToModifiedSpansMap,
77ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> documentToComplexifiedSpansMap,
78ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> documentToRelatedLocationsMap)
98public ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)> GetComplexifiedSpans(DocumentId documentId)
99=> _documentToComplexifiedSpansMap.TryGetValue(documentId, out var complexifiedSpans)
101: ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>.Empty;
106if (_documentToModifiedSpansMap.TryGetValue(documentId, out var modifiedSpans))
112if (_documentToComplexifiedSpansMap.TryGetValue(documentId, out var complexifiedSpans))
124public ImmutableArray<RelatedLocation> GetRelatedLocationsForDocument(DocumentId documentId)
125=> _documentToRelatedLocationsMap.TryGetValue(documentId, out var result)
131if (_documentToModifiedSpansMap.TryGetValue(documentId, out var modifiedSpans))
138if (_documentToComplexifiedSpansMap.TryGetValue(documentId, out var complexifiedSpans))
Rename\IRemoteRenamerService.cs (23)
34ImmutableArray<SymbolKey> nonConflictSymbolKeys,
48ImmutableArray<SymbolKey> nonConflictSymbolKeys,
149ImmutableArray<SerializableRenameLocation> locations,
150ImmutableArray<SerializableReferenceLocation> implicitLocations,
151ImmutableArray<SerializableSymbolAndProjectId> referencedSymbols)
157public readonly ImmutableArray<SerializableRenameLocation> Locations = locations;
160public readonly ImmutableArray<SerializableReferenceLocation> ImplicitLocations = implicitLocations;
163public readonly ImmutableArray<SerializableSymbolAndProjectId> ReferencedSymbols = referencedSymbols;
165public async ValueTask<ImmutableArray<RenameLocation>> RehydrateLocationsAsync(
212ImmutableArray<DocumentId> documentIds,
213ImmutableArray<RelatedLocation> relatedLocations,
214ImmutableArray<(DocumentId, ImmutableArray<TextChange>)> documentTextChanges,
215ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> documentToModifiedSpansMap,
216ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> documentToComplexifiedSpansMap,
217ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> documentToRelatedLocationsMap)
226public readonly ImmutableArray<DocumentId> DocumentIds = documentIds;
229public readonly ImmutableArray<RelatedLocation> RelatedLocations = relatedLocations;
232public readonly ImmutableArray<(DocumentId, ImmutableArray<TextChange>)> DocumentTextChanges = documentTextChanges;
235public readonly ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> DocumentToModifiedSpansMap = documentToModifiedSpansMap;
238public readonly ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> DocumentToComplexifiedSpansMap = documentToComplexifiedSpansMap;
241public readonly ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> DocumentToRelatedLocationsMap = documentToRelatedLocationsMap;
Rename\IRenameRewriterLanguageService.cs (6)
52Task<ImmutableArray<Location>> ComputeDeclarationConflictsAsync(
70Task<ImmutableArray<Location>> ComputeImplicitReferenceConflictsAsync(
85ImmutableArray<Location> ComputePossibleImplicitUsageConflicts(
126public abstract Task<ImmutableArray<Location>> ComputeDeclarationConflictsAsync(string replacementText, ISymbol renamedSymbol, ISymbol renameSymbol, IEnumerable<ISymbol> referencedSymbols, Solution baseSolution, Solution newSolution, IDictionary<Location, Location> reverseMappedLocations, CancellationToken cancellationToken);
127public abstract Task<ImmutableArray<Location>> ComputeImplicitReferenceConflictsAsync(ISymbol renameSymbol, ISymbol renamedSymbol, IEnumerable<ReferenceLocation> implicitReferenceLocations, CancellationToken cancellationToken);
128public abstract ImmutableArray<Location> ComputePossibleImplicitUsageConflicts(ISymbol renamedSymbol, SemanticModel semanticModel, Location originalDeclarationLocation, int newDeclarationLocationStartingPosition, CancellationToken cancellationToken);
Rename\Renamer.RenameDocumentActionSet.cs (10)
19/// document metadata will still be updated by calling <see cref="UpdateSolutionAsync(Solution, ImmutableArray{RenameDocumentAction}, CancellationToken)"/>
22/// of the actions by calling <see cref="UpdateSolutionAsync(Solution, ImmutableArray{RenameDocumentAction}, CancellationToken)"/>.
30private readonly ImmutableArray<string> _documentFolders;
34ImmutableArray<RenameDocumentAction> actions,
37ImmutableArray<string> documentFolders,
49/// contents rather than metadata. Document metadata will still not be updated unless <see cref="UpdateSolutionAsync(Solution, ImmutableArray{RenameDocumentAction}, CancellationToken)" />
52public ImmutableArray<RenameDocumentAction> ApplicableActions { get; }
55/// Same as calling <see cref="UpdateSolutionAsync(Solution, ImmutableArray{RenameDocumentAction}, CancellationToken)"/> with
70/// immediately call <see cref="UpdateSolutionAsync(Solution, ImmutableArray{RenameDocumentAction}, CancellationToken)"/> without
73public async Task<Solution> UpdateSolutionAsync(Solution solution, ImmutableArray<RenameDocumentAction> actions, CancellationToken cancellationToken)
Shared\Extensions\ISymbolExtensions.cs (19)
91var attributes = symbol.GetAttributes();
107ISymbol symbol, INamedTypeSymbol? hideModuleNameAttribute, ImmutableArray<AttributeData> attributes = default)
128ImmutableArray<AttributeData> attributes, bool hideAdvancedMembers, IMethodSymbol? constructor)
151ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> constructors)
160ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> constructors)
169ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> constructors)
182ImmutableArray<AttributeData> attributes, ImmutableArray<IMethodSymbol> attributeConstructors, int hiddenFlag)
426var typeParameterRefs = document.Descendants(DocumentationCommentXmlNames.TypeParameterReferenceElementName).ToImmutableArray();
434var typeArgs = symbol.GetAllTypeArguments();
645public static ImmutableArray<T> FilterToVisibleAndBrowsableSymbols<T>(
646this ImmutableArray<T> symbols, bool hideAdvancedMembers, Compilation compilation) where T : ISymbol
668private static ImmutableArray<T> RemoveOverriddenSymbolsWithinSet<T>(this ImmutableArray<T> symbols) where T : ISymbol
682public static ImmutableArray<T> FilterToVisibleAndBrowsableSymbolsAndNotUnsafeSymbols<T>(
683this ImmutableArray<T> symbols, bool hideAdvancedMembers, Compilation compilation) where T : ISymbol
src\Compilers\Core\Portable\Collections\ArrayBuilderExtensions.cs (8)
71public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ArrayBuilder<TItem> items, Func<TItem, TResult> map)
76return ImmutableArray<TResult>.Empty;
111public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ArrayBuilder<TItem> items, Func<TItem, TArg, TResult> map, TArg arg)
116return ImmutableArray<TResult>.Empty;
151public static ImmutableArray<TResult> SelectAsArrayWithIndex<TItem, TArg, TResult>(this ArrayBuilder<TItem> items, Func<TItem, int, TArg, TResult> map, TArg arg)
156return ImmutableArray<TResult>.Empty;
222public static ImmutableArray<T> ToImmutableOrEmptyAndFree<T>(this ArrayBuilder<T>? builder)
224return builder?.ToImmutableAndFree() ?? ImmutableArray<T>.Empty;
src\Compilers\Core\Portable\Collections\ImmutableArrayExtensions.cs (152)
27/// The collection of extension methods for the <see cref="ImmutableArray{T}"/> type
39public static ImmutableArray<T> AsImmutable<T>(this IEnumerable<T> items)
51public static ImmutableArray<T> AsImmutableOrEmpty<T>(this IEnumerable<T>? items)
55return ImmutableArray<T>.Empty;
68public static ImmutableArray<T> AsImmutableOrNull<T>(this IEnumerable<T>? items)
84public static ImmutableArray<T> AsImmutable<T>(this T[] items)
97public static ImmutableArray<T> AsImmutableOrNull<T>(this T[]? items)
113public static ImmutableArray<T> AsImmutableOrEmpty<T>(this T[]? items)
117return ImmutableArray<T>.Empty;
128public static ImmutableArray<byte> ToImmutable(this MemoryStream stream)
141public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ImmutableArray<TItem> items, Func<TItem, TResult> map)
156public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> items, Func<TItem, TArg, TResult> map, TArg arg)
171public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> items, Func<TItem, int, TArg, TResult> map, TArg arg)
176return ImmutableArray<TResult>.Empty;
210public static ImmutableArray<TResult> SelectAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, TResult> selector)
214return ImmutableArray<TResult>.Empty;
240public static ImmutableArray<TResult> SelectAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, bool> predicate, Func<TItem, TArg, TResult> selector, TArg arg)
244return ImmutableArray<TResult>.Empty;
267public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, IEnumerable<TResult>> selector)
270return ImmutableArray<TResult>.Empty;
287public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, ImmutableArray<TResult>> selector)
290return ImmutableArray<TResult>.Empty;
307public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, OneOrMany<TResult>> selector)
310return ImmutableArray<TResult>.Empty;
330public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, IEnumerable<TResult>> selector)
333return ImmutableArray<TResult>.Empty;
354public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, ImmutableArray<TResult>> selector)
357return ImmutableArray<TResult>.Empty;
378public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, OneOrMany<TResult>> selector)
381return ImmutableArray<TResult>.Empty;
403public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, bool> predicate, Func<TItem, TArg, OneOrMany<TResult>> selector, TArg arg)
406return ImmutableArray<TResult>.Empty;
421public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
424return ImmutableArray<TResult>.Empty;
439public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
442return ImmutableArray<TResult>.Empty;
454public static ValueTask<ImmutableArray<TResult>> SelectManyAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<ImmutableArray<TResult>>> selector, TArg arg, CancellationToken cancellationToken)
458return new ValueTask<ImmutableArray<TResult>>(ImmutableArray<TResult>.Empty);
468async ValueTask<ImmutableArray<TResult>> CreateTaskAsync()
485public static ImmutableArray<TResult> ZipAsArray<T1, T2, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, Func<T1, T2, TResult> map)
491return ImmutableArray<TResult>.Empty;
516public static ImmutableArray<TResult> ZipAsArray<T1, T2, TArg, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, TArg arg, Func<T1, T2, int, TArg, TResult> map)
521return ImmutableArray<TResult>.Empty;
537public static ImmutableArray<T> WhereAsArray<T>(this ImmutableArray<T> array, Func<T, bool> predicate)
545public static ImmutableArray<T> WhereAsArray<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
548private static ImmutableArray<T> WhereAsArrayImpl<T, TArg>(ImmutableArray<T> array, Func<T, bool>? predicateWithoutArg, Func<T, TArg, bool>? predicateWithArg, TArg arg)
613return ImmutableArray<T>.Empty;
617public static bool Any<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
633public static bool All<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
649public static async Task<bool> AnyAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
665public static async Task<bool> AnyAsync<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, Task<bool>> predicateAsync, TArg arg)
681public static async ValueTask<T?> FirstOrDefaultAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
697public static TValue? FirstOrDefault<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
710public static TValue? Single<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
740public static ImmutableArray<TBase> Cast<TDerived, TBase>(this ImmutableArray<TDerived> items)
743return ImmutableArray<TBase>.CastUp(items);
754public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer)
795public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T> array)
797return array.IsDefault ? ImmutableArray<T>.Empty : array;
803public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T>? array)
806null or { IsDefault: true } => ImmutableArray<T>.Empty,
814public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null)
833var result = (builder.Count == array.Length) ? array : builder.ToImmutable();
840internal static ImmutableArray<T> ConditionallyDeOrder<T>(this ImmutableArray<T> array)
856internal static ImmutableArray<TValue> Flatten<TKey, TValue>(
857this Dictionary<TKey, ImmutableArray<TValue>> dictionary,
863return ImmutableArray<TValue>.Empty;
882internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second)
887internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third)
910internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth)
938internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth)
971internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth, ImmutableArray<T> sixth)
1009internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, T second)
1014internal static ImmutableArray<T> AddRange<T>(this ImmutableArray<T> self, in TemporaryArray<T> items)
1047internal static bool HasDuplicates<T>(this ImmutableArray<T> array)
1083internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer)
1109public static int Count<T>(this ImmutableArray<T> items, Func<T, bool> predicate)
1128public static int Sum<T>(this ImmutableArray<T> items, Func<T, int> selector)
1137public static int Sum<T>(this ImmutableArray<T> items, Func<T, int, int> selector)
1174(Dictionary<TKey, object> dictionary, Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> result)
1185static ImmutableArray<TNamespaceOrTypeSymbol> createMembers(object value)
1196return ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(builder.ToDowncastedImmutableAndFree<TNamedTypeSymbol>());
1203: ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(ImmutableArray.Create((TNamedTypeSymbol)symbol));
1208internal static Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>> GetTypesFromMemberMap<TKey, TNamespaceOrTypeSymbol, TNamedTypeSymbol>
1209(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer)
1220var dictionary = new Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>>(capacity, comparer);
1224var namedTypes = getOrCreateNamedTypes(entry.Value);
1231static ImmutableArray<TNamedTypeSymbol> getOrCreateNamedTypes(ImmutableArray<TNamespaceOrTypeSymbol> members)
1238var membersAsNamedTypes = members.As<TNamedTypeSymbol>();
1251return ImmutableArray<TNamedTypeSymbol>.Empty;
1265internal static bool SequenceEqual<TElement, TArg>(this ImmutableArray<TElement> array1, ImmutableArray<TElement> array2, TArg arg, Func<TElement, TElement, TArg, bool> predicate)
1295internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
1298internal static bool IsSorted<T>(this ImmutableArray<T> array, IComparer<T>? comparer = null)
1314internal static int BinarySearch<TElement, TValue>(this ImmutableArray<TElement> array, TValue value, Func<TElement, TValue, int> comparer)
1373public static bool IsSubsetOf<TElement>(this ImmutableArray<TElement> array, ImmutableArray<TElement> other)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (28)
66public static ImmutableArray<T> ToImmutableArrayOrEmpty<T>(this IEnumerable<T>? items)
73if (items is ImmutableArray<T> array)
88if (items is ImmutableArray<T> array)
354public static ImmutableArray<TResult> SelectAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, TResult> selector)
358return ImmutableArray<TResult>.Empty;
367public static ImmutableArray<TResult> SelectAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, int, TResult> selector)
370return ImmutableArray<TResult>.Empty;
384public static ImmutableArray<TResult> SelectAsArray<TSource, TResult>(this IReadOnlyCollection<TSource>? source, Func<TSource, TResult> selector)
387return ImmutableArray<TResult>.Empty;
400public static ImmutableArray<TResult> SelectAsArray<TSource, TResult, TArg>(this IReadOnlyCollection<TSource>? source, Func<TSource, TArg, TResult> selector, TArg arg)
403return ImmutableArray<TResult>.Empty;
416public static ImmutableArray<TResult> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, IEnumerable<TResult>> selector)
419return ImmutableArray<TResult>.Empty;
428public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IEnumerable<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
431return ImmutableArray<TResult>.Empty;
440public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, IEnumerable<TResult>> selector)
443return ImmutableArray<TResult>.Empty;
453public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
456return ImmutableArray<TResult>.Empty;
466public static ImmutableArray<TResult> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, OneOrMany<TResult>> selector)
469return ImmutableArray<TResult>.Empty;
481public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, ValueTask<TResult>> selector)
496public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
511public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this IEnumerable<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
523public static async ValueTask<ImmutableArray<TResult>> SelectManyAsArrayAsync<TItem, TArg, TResult>(this IEnumerable<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<IEnumerable<TResult>>> selector, TArg arg, CancellationToken cancellationToken)
787internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
790var dictionary = new Dictionary<K, ImmutableArray<T>>(comparer);
794var items = grouping.AsImmutable();
src\Compilers\Core\Portable\InternalUtilities\InterlockedOperations.cs (14)
154public static ImmutableArray<T> Initialize<T>(ref ImmutableArray<T> target, ImmutableArray<T> initializedValue)
157var oldValue = ImmutableInterlocked.InterlockedCompareExchange(ref target, initializedValue, default(ImmutableArray<T>));
170public static ImmutableArray<T> Initialize<T>(ref ImmutableArray<T> target, Func<ImmutableArray<T>> createArray)
183public static ImmutableArray<T> Initialize<T, TArg>(ref ImmutableArray<T> target, Func<TArg, ImmutableArray<T>> createArray, TArg arg)
193private static ImmutableArray<T> Initialize_Slow<T, TArg>(ref ImmutableArray<T> target, Func<TArg, ImmutableArray<T>> createArray, TArg arg)
src\Dependencies\PooledObjects\ArrayBuilder.cs (23)
54private readonly ImmutableArray<T>.Builder _builder;
76public ImmutableArray<T> ToImmutable()
84public ImmutableArray<T> ToImmutableAndClear()
86ImmutableArray<T> result;
89result = ImmutableArray<T>.Empty;
353public ImmutableArray<T> ToImmutableOrNull()
366public ImmutableArray<U> ToDowncastedImmutable<U>()
371return ImmutableArray<U>.Empty;
383public ImmutableArray<U> ToDowncastedImmutableAndFree<U>() where U : T
385var result = ToDowncastedImmutable<U>();
393public ImmutableArray<T> ToImmutableAndFree()
397ImmutableArray<T> result;
400result = ImmutableArray<T>.Empty;
516internal Dictionary<K, ImmutableArray<T>> ToDictionary<K>(Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
521var dictionary1 = new Dictionary<K, ImmutableArray<T>>(1, comparer);
529return new Dictionary<K, ImmutableArray<T>>(comparer);
548var dictionary = new Dictionary<K, ImmutableArray<T>>(accumulator.Count, comparer);
587public void AddRange(ImmutableArray<T> items)
592public void AddRange(ImmutableArray<T> items, int length)
597public void AddRange(ImmutableArray<T> items, int start, int length)
607public void AddRange<S>(ImmutableArray<S> items) where S : class, T
609AddRange(ImmutableArray<T>.CastUp(items));
706public ImmutableArray<S> SelectDistinct<S>(Func<T, S> selector)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\INamedTypeSymbolExtensions.cs (23)
30public static ImmutableArray<ITypeParameterSymbol> GetAllTypeParameters(this INamedTypeSymbol? symbol)
176public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembers(
194static ImmutableArray<ISymbol> GetImplicitlyImplementableMembers(INamedTypeSymbol type, ISymbol within)
246public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
264public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
267Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
283public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedExplicitMembers(
297private static ImmutableArray<ISymbol> GetExplicitlyImplementableMembers(INamedTypeSymbol type, ISymbol within)
324private static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembers(
329Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
353var typesToImplement = GetTypesToImplement(classOrStructType, interfacesOrAbstractClasses, allowReimplementation, cancellationToken);
358private static ImmutableArray<INamedTypeSymbol> GetTypesToImplement(
369private static ImmutableArray<INamedTypeSymbol> GetAbstractClassesToImplement(
377private static ImmutableArray<INamedTypeSymbol> GetInterfacesToImplement(
401private static ImmutableArray<ISymbol> GetUnimplementedMembers(
406Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
516private static ImmutableArray<ISymbol> GetMembers(INamedTypeSymbol type, ISymbol within)
529public static ImmutableArray<ISymbol> GetOverridableMembers(
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ObjectWriterExtensions.cs (3)
14public static void WriteArray<T>(this ObjectWriter writer, ImmutableArray<T> values, Action<ObjectWriter, T> write)
24public static ImmutableArray<T> ReadArray<T>(this ObjectReader reader, Func<ObjectReader, T> read)
27public static ImmutableArray<T> ReadArray<T, TArg>(this ObjectReader reader, Func<ObjectReader, TArg, T> read, TArg arg)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\EditorConfig\EditorConfigNamingStyleParser_SymbolSpec.cs (17)
72(ImmutableArray<SymbolKindOrTypeKind> kinds, TData data),
73(ImmutableArray<Accessibility> accessibilities, TData data),
74(ImmutableArray<ModifierKind> modifiers, TData data),
108private static (ImmutableArray<SymbolKindOrTypeKind> kinds, TData data) GetSymbolsApplicableKinds<T, TData>(
117var kinds = ParseSymbolKindList(symbolSpecApplicableKinds ?? string.Empty);
138private static readonly ImmutableArray<SymbolKindOrTypeKind> _all =
141private static ImmutableArray<SymbolKindOrTypeKind> ParseSymbolKindList(string symbolSpecApplicableKinds)
208private static (ImmutableArray<Accessibility> accessibilities, TData data) GetSymbolsApplicableAccessibilities<T, TData>(
223private static readonly ImmutableArray<Accessibility> s_allAccessibility =
234private static ImmutableArray<Accessibility> ParseAccessibilityKindList(string symbolSpecApplicableAccessibilities)
282private static (ImmutableArray<ModifierKind> modifiers, TData data) GetSymbolsRequiredModifiers<T, TData>(
294return (ImmutableArray<ModifierKind>.Empty, defaultValue());
302private static readonly ImmutableArray<ModifierKind> _allModifierKind = [s_abstractModifierKind, s_asyncModifierKind, s_constModifierKind, s_readonlyModifierKind, s_staticModifierKind];
304private static ImmutableArray<ModifierKind> ParseModifiers(string symbolSpecRequiredModifiers)
346public static string ToEditorConfigString(this ImmutableArray<SymbolKindOrTypeKind> symbols)
444public static string ToEditorConfigString(this ImmutableArray<Accessibility> accessibilities, string languageName)
503public static string ToEditorConfigString(this ImmutableArray<ModifierKind> modifiers, string languageName)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Serialization\NamingStylePreferencesEditorConfigSerializer.cs (9)
30ImmutableArray<SymbolSpecification> symbolSpecifications,
31ImmutableArray<NamingStyle> namingStyles,
32ImmutableArray<SerializableNamingRule> serializableNamingRules,
47ImmutableArray<SymbolSpecification> symbolSpecifications,
48ImmutableArray<NamingStyle> namingStyles,
49ImmutableArray<SerializableNamingRule> rules,
120ImmutableArray<SymbolSpecification> symbolSpecifications,
121ImmutableArray<NamingStyle> namingStyles)
171private static ImmutableDictionary<SerializableNamingRule, string> AssignNamesToNamingStyleRules(ImmutableArray<SerializableNamingRule> namingRules, ImmutableDictionary<Guid, string> serializedNameMap)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (10)
114SemanticModel model, TForEachStatementSyntax forEach, out IMethodSymbol getEnumeratorMethod, out ITypeSymbol elementType, out ImmutableArray<ILocalSymbol> localVariables);
122protected abstract ImmutableArray<TArgumentSyntax> GetArguments(TExpressionSyntax expression);
780GetForEachSymbols(this.OriginalSemanticModel, forEachStatement, out var originalGetEnumerator, out var originalElementType, out var originalLocalVariables);
781GetForEachSymbols(this.SpeculativeSemanticModel, newForEachStatement, out var newGetEnumerator, out var newElementType, out var newLocalVariables);
1068var specifiedArguments = GetArguments(originalInvocation);
1071var symbolParameters = originalSymbol.GetParameters();
1072var newSymbolParameters = newSymbol.GetParameters();
1081ImmutableArray<TArgumentSyntax> specifiedArguments,
1082ImmutableArray<IParameterSymbol> signature1Parameters,
1083ImmutableArray<IParameterSymbol> signature2Parameters)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
119public static void MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableArray<TValue>> dictionary, TKey key, TValue value)
123if (!dictionary.TryGetValue(key, out var existingArray))
131public static void MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableArray<TValue>> dictionary, TKey key, TValue value, ImmutableArray<TValue> defaultArray)
135if (!dictionary.TryGetValue(key, out var existingArray))
212public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableArray<TValue>> dictionary, TKey key, TValue value)
215if (dictionary.TryGetValue(key, out var collection))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ProducerConsumer.cs (6)
42Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
66Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
144Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
158Func<ImmutableArray<TItem>, TArgs, CancellationToken, Task> consumeItems,
208public static Task<ImmutableArray<TItem>> RunParallelAsync<TSource, TArgs>(
221public static async Task<ImmutableArray<TItem>> RunParallelAsync<TSource, TArgs>(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (72)
34ImmutableArray<AttributeData> attributes, Accessibility accessibility,
36ImmutableArray<IEventSymbol> explicitInterfaceImplementations,
49ImmutableArray<AttributeData> attributes,
54ImmutableArray<IPropertySymbol> explicitInterfaceImplementations,
56ImmutableArray<IParameterSymbol> parameters,
83ImmutableArray<AttributeData> attributes, Accessibility accessibility, DeclarationModifiers modifiers,
84ITypeSymbol type, RefKind refKind, ImmutableArray<IPropertySymbol> explicitInterfaceImplementations, string name,
85ImmutableArray<IParameterSymbol> parameters, IMethodSymbol? getMethod, IMethodSymbol? setMethod,
108ImmutableArray<AttributeData> attributes,
125ImmutableArray<AttributeData> attributes,
129ImmutableArray<IParameterSymbol> parameters,
130ImmutableArray<SyntaxNode> statements = default,
131ImmutableArray<SyntaxNode> baseConstructorArguments = default,
132ImmutableArray<SyntaxNode> thisConstructorArguments = default,
144ImmutableArray<AttributeData> attributes, string typeName,
145ImmutableArray<SyntaxNode> statements = default)
154ImmutableArray<AttributeData> attributes,
159ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
161ImmutableArray<ITypeParameterSymbol> typeParameters,
162ImmutableArray<IParameterSymbol> parameters,
163ImmutableArray<SyntaxNode> statements = default,
164ImmutableArray<SyntaxNode> handlesExpressions = default,
165ImmutableArray<AttributeData> returnTypeAttributes = default,
178ImmutableArray<AttributeData> attributes, Accessibility accessibility, DeclarationModifiers modifiers,
181ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
182string name, ImmutableArray<ITypeParameterSymbol> typeParameters,
183ImmutableArray<IParameterSymbol> parameters,
184ImmutableArray<SyntaxNode> statements = default,
185ImmutableArray<SyntaxNode> handlesExpressions = default,
186ImmutableArray<AttributeData> returnTypeAttributes = default,
197ImmutableArray<AttributeData> attributes,
202ImmutableArray<IParameterSymbol> parameters,
203ImmutableArray<SyntaxNode> statements = default,
204ImmutableArray<AttributeData> returnTypeAttributes = default,
229ImmutableArray<SyntaxNode> statements = default,
230ImmutableArray<AttributeData> toTypeAttributes = default,
250ImmutableArray<AttributeData> attributes,
257ImmutableArray<SyntaxNode> statements = default,
258ImmutableArray<AttributeData> toTypeAttributes = default,
282ImmutableArray<AttributeData> attributes, RefKind refKind, bool isParams, ITypeSymbol type, string name, bool isOptional = false, bool hasDefaultValue = false, object? defaultValue = null)
292ImmutableArray<AttributeData>? attributes = null,
334ImmutableArray<AttributeData> attributes,
336ImmutableArray<ITypeSymbol> constraintTypes,
363ImmutableArray<AttributeData> attributes = default,
365ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
366ImmutableArray<SyntaxNode> statements = default)
388ImmutableArray<AttributeData> attributes,
390ImmutableArray<SyntaxNode> statements)
410ImmutableArray<TypedConstant> constructorArguments = default,
411ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments = default)
420ImmutableArray<AttributeData> attributes,
424ImmutableArray<ITypeParameterSymbol> typeParameters = default,
426ImmutableArray<INamedTypeSymbol> interfaces = default,
428ImmutableArray<ISymbol> members = default,
439ImmutableArray<AttributeData> attributes,
443ImmutableArray<ITypeParameterSymbol> typeParameters = default,
445ImmutableArray<INamedTypeSymbol> interfaces = default,
447ImmutableArray<ISymbol> members = default,
465ImmutableArray<AttributeData> attributes,
471ImmutableArray<ITypeParameterSymbol> typeParameters = default,
472ImmutableArray<IParameterSymbol> parameters = default,
517ImmutableArray<AttributeData> attributes = default,
520ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
522ImmutableArray<IParameterSymbol>? parameters = null,
523ImmutableArray<SyntaxNode> statements = default,
526Optional<ImmutableArray<AttributeData>> returnTypeAttributes = default)
547ImmutableArray<AttributeData> attributes = default,
548ImmutableArray<IParameterSymbol>? parameters = null,
551ImmutableArray<IPropertySymbol> explicitInterfaceImplementations = default,
575ImmutableArray<AttributeData> attributes = default,
578ImmutableArray<IEventSymbol> explicitInterfaceImplementations = default,
596ImmutableArray<AttributeData> attributes = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (9)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken)
18public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, int position, CancellationToken cancellationToken)
21public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, int position, CancellationToken cancellationToken)
24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken)
33var types = typeInferenceService.InferTypes(semanticModel, expression, cancellationToken);
43var types = typeInferenceService.InferTypes(semanticModel, position, cancellationToken);
47private static INamedTypeSymbol? GetFirstDelegateType(SemanticModel semanticModel, ImmutableArray<ITypeSymbol> types)
73var types = typeInferenceService.InferTypes(semanticModel, expression, name, cancellationToken);
103var types = typeInferenceService.InferTypes(semanticModel, position, name, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (4)
29ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string nameOpt, CancellationToken cancellationToken);
30ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, int position, string nameOpt, CancellationToken cancellationToken);
32ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, int position, string nameOpt, CancellationToken cancellationToken);
33ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string nameOpt, CancellationToken cancellationToken);
Tags\WellKnownTags.cs (74)
64internal static readonly ImmutableArray<string> Assembly = [WellKnownTags.Assembly];
65internal static readonly ImmutableArray<string> ClassPublic = [WellKnownTags.Class, WellKnownTags.Public];
66internal static readonly ImmutableArray<string> ClassProtected = [WellKnownTags.Class, WellKnownTags.Protected];
67internal static readonly ImmutableArray<string> ClassPrivate = [WellKnownTags.Class, WellKnownTags.Private];
68internal static readonly ImmutableArray<string> ClassInternal = [WellKnownTags.Class, WellKnownTags.Internal];
69internal static readonly ImmutableArray<string> ConstantPublic = [WellKnownTags.Constant, WellKnownTags.Public];
70internal static readonly ImmutableArray<string> ConstantProtected = [WellKnownTags.Constant, WellKnownTags.Protected];
71internal static readonly ImmutableArray<string> ConstantPrivate = [WellKnownTags.Constant, WellKnownTags.Private];
72internal static readonly ImmutableArray<string> ConstantInternal = [WellKnownTags.Constant, WellKnownTags.Internal];
73internal static readonly ImmutableArray<string> DelegatePublic = [WellKnownTags.Delegate, WellKnownTags.Public];
74internal static readonly ImmutableArray<string> DelegateProtected = [WellKnownTags.Delegate, WellKnownTags.Protected];
75internal static readonly ImmutableArray<string> DelegatePrivate = [WellKnownTags.Delegate, WellKnownTags.Private];
76internal static readonly ImmutableArray<string> DelegateInternal = [WellKnownTags.Delegate, WellKnownTags.Internal];
77internal static readonly ImmutableArray<string> EnumPublic = [WellKnownTags.Enum, WellKnownTags.Public];
78internal static readonly ImmutableArray<string> EnumProtected = [WellKnownTags.Enum, WellKnownTags.Protected];
79internal static readonly ImmutableArray<string> EnumPrivate = [WellKnownTags.Enum, WellKnownTags.Private];
80internal static readonly ImmutableArray<string> EnumInternal = [WellKnownTags.Enum, WellKnownTags.Internal];
81internal static readonly ImmutableArray<string> EnumMemberPublic = [WellKnownTags.EnumMember, WellKnownTags.Public];
82internal static readonly ImmutableArray<string> EnumMemberProtected = [WellKnownTags.EnumMember, WellKnownTags.Protected];
83internal static readonly ImmutableArray<string> EnumMemberPrivate = [WellKnownTags.EnumMember, WellKnownTags.Private];
84internal static readonly ImmutableArray<string> EnumMemberInternal = [WellKnownTags.EnumMember, WellKnownTags.Internal];
85internal static readonly ImmutableArray<string> EventPublic = [WellKnownTags.Event, WellKnownTags.Public];
86internal static readonly ImmutableArray<string> EventProtected = [WellKnownTags.Event, WellKnownTags.Protected];
87internal static readonly ImmutableArray<string> EventPrivate = [WellKnownTags.Event, WellKnownTags.Private];
88internal static readonly ImmutableArray<string> EventInternal = [WellKnownTags.Event, WellKnownTags.Internal];
89internal static readonly ImmutableArray<string> ExtensionMethodPublic = [WellKnownTags.ExtensionMethod, WellKnownTags.Public];
90internal static readonly ImmutableArray<string> ExtensionMethodProtected = [WellKnownTags.ExtensionMethod, WellKnownTags.Protected];
91internal static readonly ImmutableArray<string> ExtensionMethodPrivate = [WellKnownTags.ExtensionMethod, WellKnownTags.Private];
92internal static readonly ImmutableArray<string> ExtensionMethodInternal = [WellKnownTags.ExtensionMethod, WellKnownTags.Internal];
93internal static readonly ImmutableArray<string> FieldPublic = [WellKnownTags.Field, WellKnownTags.Public];
94internal static readonly ImmutableArray<string> FieldProtected = [WellKnownTags.Field, WellKnownTags.Protected];
95internal static readonly ImmutableArray<string> FieldPrivate = [WellKnownTags.Field, WellKnownTags.Private];
96internal static readonly ImmutableArray<string> FieldInternal = [WellKnownTags.Field, WellKnownTags.Internal];
97internal static readonly ImmutableArray<string> InterfacePublic = [WellKnownTags.Interface, WellKnownTags.Public];
98internal static readonly ImmutableArray<string> InterfaceProtected = [WellKnownTags.Interface, WellKnownTags.Protected];
99internal static readonly ImmutableArray<string> InterfacePrivate = [WellKnownTags.Interface, WellKnownTags.Private];
100internal static readonly ImmutableArray<string> InterfaceInternal = [WellKnownTags.Interface, WellKnownTags.Internal];
101internal static readonly ImmutableArray<string> Intrinsic = [WellKnownTags.Intrinsic];
102internal static readonly ImmutableArray<string> Keyword = [WellKnownTags.Keyword];
103internal static readonly ImmutableArray<string> Label = [WellKnownTags.Label];
104internal static readonly ImmutableArray<string> Local = [WellKnownTags.Local];
105internal static readonly ImmutableArray<string> Namespace = [WellKnownTags.Namespace];
106internal static readonly ImmutableArray<string> MethodPublic = [WellKnownTags.Method, WellKnownTags.Public];
107internal static readonly ImmutableArray<string> MethodProtected = [WellKnownTags.Method, WellKnownTags.Protected];
108internal static readonly ImmutableArray<string> MethodPrivate = [WellKnownTags.Method, WellKnownTags.Private];
109internal static readonly ImmutableArray<string> MethodInternal = [WellKnownTags.Method, WellKnownTags.Internal];
110internal static readonly ImmutableArray<string> ModulePublic = [WellKnownTags.Module, WellKnownTags.Public];
111internal static readonly ImmutableArray<string> ModuleProtected = [WellKnownTags.Module, WellKnownTags.Protected];
112internal static readonly ImmutableArray<string> ModulePrivate = [WellKnownTags.Module, WellKnownTags.Private];
113internal static readonly ImmutableArray<string> ModuleInternal = [WellKnownTags.Module, WellKnownTags.Internal];
114internal static readonly ImmutableArray<string> Folder = [WellKnownTags.Folder];
115internal static readonly ImmutableArray<string> Operator = [WellKnownTags.Operator];
116internal static readonly ImmutableArray<string> Parameter = [WellKnownTags.Parameter];
117internal static readonly ImmutableArray<string> PropertyPublic = [WellKnownTags.Property, WellKnownTags.Public];
118internal static readonly ImmutableArray<string> PropertyProtected = [WellKnownTags.Property, WellKnownTags.Protected];
119internal static readonly ImmutableArray<string> PropertyPrivate = [WellKnownTags.Property, WellKnownTags.Private];
120internal static readonly ImmutableArray<string> PropertyInternal = [WellKnownTags.Property, WellKnownTags.Internal];
121internal static readonly ImmutableArray<string> RangeVariable = [WellKnownTags.RangeVariable];
122internal static readonly ImmutableArray<string> Reference = [WellKnownTags.Reference];
123internal static readonly ImmutableArray<string> StructurePublic = [WellKnownTags.Structure, WellKnownTags.Public];
124internal static readonly ImmutableArray<string> StructureProtected = [WellKnownTags.Structure, WellKnownTags.Protected];
125internal static readonly ImmutableArray<string> StructurePrivate = [WellKnownTags.Structure, WellKnownTags.Private];
126internal static readonly ImmutableArray<string> StructureInternal = [WellKnownTags.Structure, WellKnownTags.Internal];
127internal static readonly ImmutableArray<string> TypeParameter = [WellKnownTags.TypeParameter];
128internal static readonly ImmutableArray<string> Snippet = [WellKnownTags.Snippet];
130internal static readonly ImmutableArray<string> Error = [WellKnownTags.Error];
131internal static readonly ImmutableArray<string> Warning = [WellKnownTags.Warning];
132internal static readonly ImmutableArray<string> StatusInformation = [WellKnownTags.StatusInformation];
134internal static readonly ImmutableArray<string> AddReference = [WellKnownTags.AddReference];
135internal static readonly ImmutableArray<string> TargetTypeMatch = [WellKnownTags.TargetTypeMatch];
137internal static readonly ImmutableArray<string> CSharpFile = [WellKnownTags.File, LanguageNames.CSharp];
138internal static readonly ImmutableArray<string> VisualBasicFile = [WellKnownTags.File, LanguageNames.VisualBasic];
140internal static readonly ImmutableArray<string> CSharpProject = [WellKnownTags.Project, LanguageNames.CSharp];
141internal static readonly ImmutableArray<string> VisualBasicProject = [WellKnownTags.Project, LanguageNames.VisualBasic];
Workspace\ProjectSystem\ProjectSystemProject.BatchingDocumentCollection.cs (16)
54private readonly ImmutableArray<DocumentInfo>.Builder _documentsAddedInBatch = ImmutableArray.CreateBuilder<DocumentInfo>();
87public DocumentId AddFile(string fullPath, SourceCodeKind sourceCodeKind, ImmutableArray<string> folders)
135ImmutableArray<string> folders,
193public void AddDynamicFile_NoLock(IDynamicFileInfoProvider fileInfoProvider, DynamicFileInfo fileInfo, ImmutableArray<string> folders)
494public void ReorderFiles(ImmutableArray<string> filePaths)
538internal ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> UpdateSolutionForBatch(
540ImmutableArray<string>.Builder documentFileNamesAdded,
541Func<Solution, ImmutableArray<DocumentInfo>, Solution> addDocuments,
543Func<Solution, ImmutableArray<DocumentId>, Solution> removeDocuments,
553static ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> UpdateSolutionForBatch(
555ImmutableArray<string>.Builder documentFileNamesAdded,
556Func<Solution, ImmutableArray<DocumentInfo>, Solution> addDocuments,
558Func<Solution, ImmutableArray<DocumentId>, Solution> removeDocuments,
561ImmutableArray<DocumentInfo> documentsAddedInBatch,
562ImmutableArray<DocumentId> documentsRemovedInBatch,
610private DocumentInfo CreateDocumentInfoFromFileInfo(DynamicFileInfo fileInfo, ImmutableArray<string> folders)
Workspace\ProjectSystem\ProjectSystemProject.cs (23)
33private static readonly ImmutableArray<MetadataReferenceProperties> s_defaultMetadataReferenceProperties = [default(MetadataReferenceProperties)];
111private readonly Dictionary<string, ImmutableArray<MetadataReferenceProperties>> _allMetadataReferences = [];
134/// <see cref="AddDynamicSourceFile(string, ImmutableArray{string})"/>. The value of the map is a generated file that
210var watchedDirectories = GetWatchedDirectories(language, filePath);
214static ImmutableArray<WatchedDirectory> GetWatchedDirectories(string? language, string? filePath)
570ImmutableArray<string> documentFileNamesAdded = [];
571ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> documentsToOpen = [];
572ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> additionalDocumentsToOpen = [];
573ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> analyzerConfigDocumentsToOpen = [];
814var isolatedReferences = IsolatedAnalyzerReferenceSet.CreateIsolatedAnalyzerReferencesAsync(
816ImmutableArray<AnalyzerReference>.CastUp(initialReferenceList.ToImmutableAndClear()),
830public void AddSourceFile(string fullPath, SourceCodeKind sourceCodeKind = SourceCodeKind.Regular, ImmutableArray<string> folders = default)
846ImmutableArray<string> folders = default,
867public void AddAdditionalFile(string fullPath, SourceCodeKind sourceCodeKind = SourceCodeKind.Regular, ImmutableArray<string> folders = default)
896public void AddDynamicSourceFile(string dynamicFilePath, ImmutableArray<string> folders)
1144private static readonly ImmutableArray<string> s_razorSourceGeneratorAssemblyNames =
1150private static readonly ImmutableArray<string> s_razorSourceGeneratorAssemblyRootedFileNames = s_razorSourceGeneratorAssemblyNames.SelectAsArray(
1157var vsixRazorAnalyzers = _hostInfo.HostDiagnosticAnalyzerProvider.GetAnalyzerReferencesInExtensions().SelectAsArray(
1227return _allMetadataReferences.TryGetValue(fullPath, out var propertiesList) && propertiesList.Contains(properties);
1234public ImmutableArray<MetadataReferenceProperties> GetPropertiesForMetadataReference(string fullPath)
1238return _allMetadataReferences.TryGetValue(fullPath, out var list) ? list : [];
1405public void ReorderSourceFiles(ImmutableArray<string> filePaths)
1422private static void ClearAndZeroCapacity<T>(ImmutableArray<T>.Builder list)
Workspace\ProjectSystem\ProjectSystemProjectFactory.ProjectUpdateState.cs (14)
53ImmutableDictionary<string, ImmutableArray<ProjectId>> ProjectsByOutputPath,
55ImmutableArray<PortableExecutableReference> RemovedMetadataReferences,
56ImmutableArray<PortableExecutableReference> AddedMetadataReferences,
57ImmutableArray<string> RemovedAnalyzerReferences,
58ImmutableArray<string> AddedAnalyzerReferences)
61ImmutableDictionary<string, ImmutableArray<ProjectId>>.Empty.WithComparers(StringComparer.OrdinalIgnoreCase),
79static ImmutableDictionary<string, ImmutableArray<ProjectId>> AddProject(string path, ProjectId projectId, ImmutableDictionary<string, ImmutableArray<ProjectId>> map)
81if (!map.TryGetValue(path, out var projects))
99static ImmutableDictionary<string, ImmutableArray<ProjectId>> RemoveProject(string path, ProjectId projectId, ImmutableDictionary<string, ImmutableArray<ProjectId>> map)
101if (map.TryGetValue(path, out var projects))
149public record struct ProjectReferenceInformation(ImmutableArray<string> OutputPaths, ImmutableArray<(string path, ProjectReference ProjectReference)> ConvertedProjectReferences)
Workspace\Solution\ProjectState.cs (24)
54private AsyncLazy<Dictionary<ImmutableArray<byte>, DocumentId>>? _lazyContentHashToDocumentId;
61private ImmutableArray<AdditionalText> _lazyAdditionalFiles;
137private async Task<Dictionary<ImmutableArray<byte>, DocumentId>> ComputeContentHashToDocumentIdAsync(CancellationToken cancellationToken)
139var result = new Dictionary<ImmutableArray<byte>, DocumentId>(ImmutableArrayComparer<byte>.Instance);
143var contentHash = text.GetContentHash();
170private AsyncLazy<Dictionary<ImmutableArray<byte>, DocumentId>> LazyContentHashToDocumentId
194public async ValueTask<DocumentId?> GetDocumentIdAsync(ImmutableArray<byte> contentHash, CancellationToken cancellationToken)
250ImmutableArray<TextDocumentState> newDocuments,
269VersionStamp oldVersion, ImmutableArray<TextDocumentState> newDocuments, CancellationToken cancellationToken)
324private ImmutableArray<AdditionalText> AdditionalFiles
884public ProjectState AddDocuments(ImmutableArray<DocumentState> documents)
896public ProjectState AddAdditionalDocuments(ImmutableArray<AdditionalDocumentState> documents)
908public ProjectState AddAnalyzerConfigDocuments(ImmutableArray<AnalyzerConfigDocumentState> documents)
939public ProjectState RemoveDocuments(ImmutableArray<DocumentId> documentIds)
952public ProjectState RemoveAdditionalDocuments(ImmutableArray<DocumentId> documentIds)
962public ProjectState RemoveAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds)
988public ProjectState UpdateDocuments(ImmutableArray<DocumentState> oldDocuments, ImmutableArray<DocumentState> newDocuments)
1014public ProjectState UpdateAdditionalDocuments(ImmutableArray<AdditionalDocumentState> oldDocuments, ImmutableArray<AdditionalDocumentState> newDocuments)
1039public ProjectState UpdateAnalyzerConfigDocuments(ImmutableArray<AnalyzerConfigDocumentState> oldDocuments, ImmutableArray<AnalyzerConfigDocumentState> newDocuments)
1061ImmutableArray<TextDocumentState> oldDocuments,
1062ImmutableArray<TextDocumentState> newDocuments,
Workspace\Solution\SolutionCompilationState.cs (37)
243ImmutableArray<ProjectId> changedProjectIds,
252static bool CanReuse(ProjectId id, (ImmutableArray<ProjectId> changedProjectIds, ProjectDependencyGraph dependencyGraph) arg)
781internal SolutionCompilationState WithDocumentTexts(ImmutableArray<(DocumentId documentId, SourceText text)> texts, PreservationMode mode)
796ImmutableArray<(DocumentId documentId, TDocumentData documentData)> documentsToUpdate,
831IEnumerable<(ProjectId projectId, ImmutableArray<TDocumentState> updatedDocumentState)> updatedDocumentStatesPerProject,
832Func<ProjectState, ImmutableArray<TDocumentState>, TranslationAction> getTranslationAction)
866private static TranslationAction GetUpdateDocumentsTranslationAction<TDocumentState>(ProjectState oldProjectState, ImmutableArray<TDocumentState> newDocumentStates)
871ImmutableArray<DocumentState> ordinaryNewDocumentStates => GetUpdateOrdinaryDocumentsTranslationAction(oldProjectState, ordinaryNewDocumentStates),
872ImmutableArray<AdditionalDocumentState> additionalNewDocumentStates => GetUpdateAdditionalDocumentsTranslationAction(oldProjectState, additionalNewDocumentStates),
873ImmutableArray<AnalyzerConfigDocumentState> analyzerConfigNewDocumentStates => GetUpdateAnalyzerConfigDocumentsTranslationAction(oldProjectState, analyzerConfigNewDocumentStates),
877TranslationAction GetUpdateOrdinaryDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<DocumentState> newDocumentStates)
879var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.DocumentStates.GetRequiredState(s.Id), oldProjectState);
884TranslationAction GetUpdateAdditionalDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AdditionalDocumentState> newDocumentStates)
886var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.AdditionalDocumentStates.GetRequiredState(s.Id), oldProjectState);
891TranslationAction GetUpdateAnalyzerConfigDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AnalyzerConfigDocumentState> newDocumentStates)
893var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.AnalyzerConfigDocumentStates.GetRequiredState(s.Id), oldProjectState);
949/// <inheritdoc cref="Solution.WithDocumentSyntaxRoots(ImmutableArray{ValueTuple{DocumentId, SyntaxNode}}, PreservationMode)"/>
950public SolutionCompilationState WithDocumentSyntaxRoots(ImmutableArray<(DocumentId documentId, SyntaxNode root)> syntaxRoots, PreservationMode mode)
962ImmutableArray<(DocumentId documentId, DocumentState documentState)> documentIdsAndStates, bool forceEvenIfTreesWouldDiffer)
1178public ValueTask<ImmutableArray<Diagnostic>> GetSourceGeneratorDiagnosticsAsync(
1274var projectIdsToUnfreeze = FrozenSourceGeneratedDocumentStates.States.Values
1315ImmutableArray<(SourceGeneratedDocumentIdentity documentIdentity, DateTime generationDateTime, SourceText sourceText)> documents)
1520var updatedIdToTrackerMap = updatedIdToTrackerMapBuilder.ToImmutable();
1593var allDocumentIds = @this.SolutionState.GetRelatedDocumentIds(documentId, includeDifferentLanguages);
1659ImmutableArray<DocumentInfo> documentInfos)
1681public SolutionCompilationState RemoveDocumentsFromMultipleProjects<T>(ImmutableArray<DocumentId> documentIds)
1703private SolutionCompilationState RemoveDocumentsFromSingleProject<T>(ProjectId projectId, ImmutableArray<DocumentId> documentIds)
1716var removedDocumentStatesForProject = removedDocumentStates.ToImmutable();
1732private static TranslationAction GetRemoveDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<DocumentId> documentIds, ImmutableArray<TDocumentState> states)
1735ImmutableArray<DocumentState> documentStates => new TranslationAction.RemoveDocumentsAction(oldProject, oldProject.RemoveDocuments(documentIds), documentStates),
1736ImmutableArray<AdditionalDocumentState> additionalDocumentStates => new TranslationAction.RemoveAdditionalDocumentsAction(oldProject, oldProject.RemoveAdditionalDocuments(documentIds), additionalDocumentStates),
1737ImmutableArray<AnalyzerConfigDocumentState> _ => new TranslationAction.TouchAnalyzerConfigDocumentsAction(oldProject, oldProject.RemoveAnalyzerConfigDocuments(documentIds)),
1741private static TranslationAction GetAddDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<TDocumentState> states)
1744ImmutableArray<DocumentState> documentStates => new TranslationAction.AddDocumentsAction(oldProject, oldProject.AddDocuments(documentStates), documentStates),
1745ImmutableArray<AdditionalDocumentState> additionalDocumentStates => new TranslationAction.AddAdditionalDocumentsAction(oldProject, oldProject.AddAdditionalDocuments(additionalDocumentStates), additionalDocumentStates),
1746ImmutableArray<AnalyzerConfigDocumentState> analyzerConfigDocumentStates => new TranslationAction.TouchAnalyzerConfigDocumentsAction(oldProject, oldProject.AddAnalyzerConfigDocuments(analyzerConfigDocumentStates)),
CodeLens\RemoteCodeLensReferencesService.cs (8)
67public async Task<ImmutableArray<ReferenceLocationDescriptor>?> FindReferenceLocationsAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode,
88public async Task<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode,
101var result = await client.TryInvokeAsync<IRemoteCodeLensReferencesService, ImmutableArray<ReferenceMethodDescriptor>?>(
138private async Task<ImmutableArray<ReferenceLocationDescriptor>> FixUpDescriptorsAsync(
139Solution solution, ImmutableArray<ReferenceLocationDescriptor> descriptors, CancellationToken cancellationToken)
253private static async Task<ImmutableArray<ReferenceLocationDescriptor>?> FindReferenceLocationsWorkerAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode,
258return ImmutableArray<ReferenceLocationDescriptor>.Empty;
264var result = await client.TryInvokeAsync<IRemoteCodeLensReferencesService, ImmutableArray<ReferenceLocationDescriptor>?>(
Library\ObjectBrowser\AbstractListItemFactory.cs (35)
167private static ImmutableArray<ObjectListItem> CreateListItemsFromSymbols<TSymbol>(
168ImmutableArray<TSymbol> symbols,
186ImmutableArray<ObjectListItem>.Builder builder)
205private ImmutableArray<ObjectListItem> GetBaseTypeListItems(INamedTypeSymbol namedTypeSymbol, Compilation compilation, ProjectId projectId)
210return ImmutableArray<ObjectListItem>.Empty;
229public ImmutableArray<ObjectListItem> GetBaseTypeListItems(ObjectListItem parentListItem, Compilation compilation)
237return ImmutableArray<ObjectListItem>.Empty;
245public ImmutableArray<ObjectListItem> GetFolderListItems(ObjectListItem parentListItem, Compilation compilation)
290private ImmutableArray<ObjectListItem> GetMemberListItems(
298var immediateMembers = GetMemberSymbols(namedTypeSymbol, compilation);
308var inheritedMembers = GetInheritedMemberSymbols(namedTypeSymbol, compilation);
316private static ImmutableArray<ISymbol> GetMemberSymbols(INamedTypeSymbol namedTypeSymbol, Compilation compilation)
318var members = namedTypeSymbol.GetMembers();
332private static ImmutableArray<ISymbol> GetInheritedMemberSymbols(INamedTypeSymbol namedTypeSymbol, Compilation compilation)
389public ImmutableArray<ObjectListItem> GetMemberListItems(ObjectListItem parentListItem, Compilation compilation)
397return ImmutableArray<ObjectListItem>.Empty;
405public void CollectNamespaceListItems(IAssemblySymbol assemblySymbol, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
438public ImmutableArray<ObjectListItem> GetNamespaceListItems(ObjectListItem parentListItem, Compilation compilation)
548private static ImmutableArray<INamedTypeSymbol> GetAccessibleTypeMembers(INamespaceOrTypeSymbol namespaceOrTypeSymbol, IAssemblySymbol assemblySymbol)
550var typeMembers = namespaceOrTypeSymbol.GetTypeMembers();
584public ImmutableArray<ObjectListItem> GetProjectListItems(Solution solution, string languageName, uint listFlags)
589return ImmutableArray<ObjectListItem>.Empty;
638public ImmutableArray<ObjectListItem> GetReferenceListItems(ObjectListItem parentListItem, Compilation compilation)
646return ImmutableArray<ObjectListItem>.Empty;
663private static ImmutableArray<INamedTypeSymbol> GetAccessibleTypes(INamespaceSymbol namespaceSymbol, Compilation compilation)
665var typeMembers = GetAccessibleTypeMembers(namespaceSymbol, compilation.Assembly);
687private ImmutableArray<ObjectListItem> GetTypeListItems(
694var types = GetAccessibleTypes(namespaceSymbol, compilation);
696var listItems = fullyQualified
718public ImmutableArray<ObjectListItem> GetTypeListItems(ObjectListItem parentListItem, Compilation compilation)
743public void CollectTypeListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
753var typeListItems = GetTypeListItems(namespaceSymbol, compilation, projectId, searchString, fullyQualified: true);
775public void CollectMemberListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
785var types = GetAccessibleTypes(namespaceSymbol, compilation);
789var memberListItems = GetMemberListItems(type, compilation, projectId, fullyQualified: true);
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager_ListItems.cs (10)
17internal void CollectMemberListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
20internal void CollectNamespaceListItems(IAssemblySymbol assemblySymbol, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
23internal void CollectTypeListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
32internal ImmutableArray<ObjectListItem> GetBaseTypeListItems(ObjectListItem parentListItem, Compilation compilation)
35internal ImmutableArray<ObjectListItem> GetFolderListItems(ObjectListItem parentListItem, Compilation compilation)
38internal ImmutableArray<ObjectListItem> GetMemberListItems(ObjectListItem parentListItem, Compilation compilation)
41internal ImmutableArray<ObjectListItem> GetNamespaceListItems(ObjectListItem parentListItem, Compilation compilation)
44internal ImmutableArray<ObjectListItem> GetProjectListItems(Solution solution, string languageName, uint listFlags)
47internal ImmutableArray<ObjectListItem> GetReferenceListItems(ObjectListItem parentListItem, Compilation compilation)
50internal ImmutableArray<ObjectListItem> GetTypeListItems(ObjectListItem parentListItem, Compilation compilation)
ProjectSystem\FileChangeWatcher.cs (12)
87public IFileChangeContext CreateContext(ImmutableArray<WatchedDirectory> watchedDirectories)
105private readonly ImmutableArray<string> _filters;
143private WatcherOperation(Kind kind, string directory, ImmutableArray<string> filters, IVsFreeThreadedFileChangeEvents2 sink, List<uint> cookies)
169_filters = ImmutableArray<string>.Empty;
181_filters = ImmutableArray<string>.Empty;
196_filters = ImmutableArray<string>.Empty;
211public static WatcherOperation WatchDirectory(string directory, ImmutableArray<string> filters, IVsFreeThreadedFileChangeEvents2 sink, List<uint> cookies)
217public static WatcherOperation WatchFiles(ImmutableArray<string> files, _VSFILECHANGEFLAGS fileChangeFlags, IVsFreeThreadedFileChangeEvents2 sink, ImmutableArray<Context.RegularWatchedFile> tokens)
223public static WatcherOperation UnwatchFiles(ImmutableArray<Context.RegularWatchedFile> tokens)
341private readonly ImmutableArray<WatchedDirectory> _watchedDirectories;
359public Context(FileChangeWatcher fileChangeWatcher, ImmutableArray<WatchedDirectory> watchedDirectories)
Snippets\SnippetExpansionClient.cs (8)
72private readonly ImmutableArray<Lazy<ArgumentProvider, OrderableLanguageMetadata>> _allArgumentProviders;
73private ImmutableArray<ArgumentProvider> _argumentProviders;
99ImmutableArray<Lazy<ArgumentProvider, OrderableLanguageMetadata>> argumentProviders,
119public ImmutableArray<ArgumentProvider> GetArgumentProviders(Workspace workspace)
555var snippet = CreateMethodCallSnippet(methodName, includeMethod: true, ImmutableArray<IParameterSymbol>.Empty, ImmutableDictionary<string, string>.Empty);
633private static XDocument CreateMethodCallSnippet(string methodName, bool includeMethod, ImmutableArray<IParameterSymbol> parameters, ImmutableDictionary<string, string> parameterValues)
760private static async Task<ImmutableArray<ISymbol>> GetReferencedSymbolsToLeftOfCaretAsync(
771return ImmutableArray<ISymbol>.Empty;
TableDataSource\Suppression\VisualStudioSuppressionFixService.cs (18)
233? ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Empty
341var operations = ImmutableArray.Create<CodeActionOperation>(new ApplyChangesOperation(newSolution));
408private static ImmutableDictionary<Document, ImmutableArray<Diagnostic>> GetDocumentDiagnosticsMappedToNewSolution(ImmutableDictionary<Document, ImmutableArray<Diagnostic>> documentDiagnosticsToFixMap, Solution newSolution, string language)
410ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Builder? builder = null;
419builder ??= ImmutableDictionary.CreateBuilder<Document, ImmutableArray<Diagnostic>>();
424return builder != null ? builder.ToImmutable() : ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Empty;
427private static ImmutableDictionary<Project, ImmutableArray<Diagnostic>> GetProjectDiagnosticsMappedToNewSolution(ImmutableDictionary<Project, ImmutableArray<Diagnostic>> projectDiagnosticsToFixMap, Solution newSolution, string language)
429ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Builder? projectDiagsBuilder = null;
438projectDiagsBuilder ??= ImmutableDictionary.CreateBuilder<Project, ImmutableArray<Diagnostic>>();
443return projectDiagsBuilder != null ? projectDiagsBuilder.ToImmutable() : ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Empty;
452private async Task<ImmutableDictionary<Document, ImmutableArray<Diagnostic>>> GetDocumentDiagnosticsToFixAsync(IEnumerable<DiagnosticData> diagnosticsToFix, Func<Project, bool> shouldFixInProject, bool filterStaleDiagnostics, CancellationToken cancellationToken)
470return ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Empty;
473var finalBuilder = ImmutableDictionary.CreateBuilder<Document, ImmutableArray<Diagnostic>>();
544private async Task<ImmutableDictionary<Project, ImmutableArray<Diagnostic>>> GetProjectDiagnosticsToFixAsync(IEnumerable<DiagnosticData> diagnosticsToFix, Func<Project, bool> shouldFixInProject, bool filterStaleDiagnostics, CancellationToken cancellationToken)
562return ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Empty;
565var finalBuilder = ImmutableDictionary.CreateBuilder<Project, ImmutableArray<Diagnostic>>();
UnusedReferences\RemoveUnusedReferencesCommandHandler.cs (7)
114ImmutableArray<ReferenceUpdate> referenceUpdates = default;
167private (Solution?, string?, ImmutableArray<ReferenceUpdate>) GetUnusedReferencesForProjectHierarchy(
173return (null, null, ImmutableArray<ReferenceUpdate>.Empty);
179return (null, null, ImmutableArray<ReferenceUpdate>.Empty);
184var unusedReferences = GetUnusedReferencesForProject(solution, projectFilePath!, projectAssetsFile, cancellationToken);
189private ImmutableArray<ReferenceUpdate> GetUnusedReferencesForProject(Solution solution, string projectFilePath, string projectAssetsFile, CancellationToken cancellationToken)
205private static void ApplyUnusedReferenceUpdates(JoinableTaskFactory joinableTaskFactory, Solution solution, string projectFilePath, ImmutableArray<ReferenceUpdate> referenceUpdates, CancellationToken cancellationToken)
ValueTracking\ValueTrackingCommandHandler.cs (3)
115private async Task ShowToolWindowAsync(ITextView textView, Document document, ImmutableArray<ValueTrackedItem> items, CancellationToken cancellationToken)
137solution, child, children: ImmutableArray<TreeItemViewModel>.Empty, toolWindow.ViewModel, _glyphService, valueTrackingService, _globalOptions, _threadingContext, _listener, _threadOperationExecutor, cancellationToken).ConfigureAwait(false);
147solution, child, children: ImmutableArray<TreeItemViewModel>.Empty, toolWindow.ViewModel, _glyphService, valueTrackingService, _globalOptions, _threadingContext, _listener, _threadOperationExecutor, cancellationToken).ConfigureAwait(false);