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 (143)
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;
308public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, IEnumerable<TResult>> selector)
311return ImmutableArray<TResult>.Empty;
332public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, ImmutableArray<TResult>> selector)
335return ImmutableArray<TResult>.Empty;
350public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
353return ImmutableArray<TResult>.Empty;
368public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
371return ImmutableArray<TResult>.Empty;
383public static ValueTask<ImmutableArray<TResult>> SelectManyAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<ImmutableArray<TResult>>> selector, TArg arg, CancellationToken cancellationToken)
387return new ValueTask<ImmutableArray<TResult>>(ImmutableArray<TResult>.Empty);
397async ValueTask<ImmutableArray<TResult>> CreateTaskAsync()
414public static ImmutableArray<TResult> ZipAsArray<T1, T2, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, Func<T1, T2, TResult> map)
420return ImmutableArray<TResult>.Empty;
445public static ImmutableArray<TResult> ZipAsArray<T1, T2, TArg, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, TArg arg, Func<T1, T2, int, TArg, TResult> map)
450return ImmutableArray<TResult>.Empty;
466public static ImmutableArray<T> WhereAsArray<T>(this ImmutableArray<T> array, Func<T, bool> predicate)
474public static ImmutableArray<T> WhereAsArray<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
477private static ImmutableArray<T> WhereAsArrayImpl<T, TArg>(ImmutableArray<T> array, Func<T, bool>? predicateWithoutArg, Func<T, TArg, bool>? predicateWithArg, TArg arg)
542return ImmutableArray<T>.Empty;
546public static bool Any<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
562public static bool All<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
578public static async Task<bool> AnyAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
594public static async Task<bool> AnyAsync<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, Task<bool>> predicateAsync, TArg arg)
610public static async ValueTask<T?> FirstOrDefaultAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
626public static TValue? FirstOrDefault<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
639public static TValue? Single<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
669public static ImmutableArray<TBase> Cast<TDerived, TBase>(this ImmutableArray<TDerived> items)
672return ImmutableArray<TBase>.CastUp(items);
683public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer)
724public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T> array)
726return array.IsDefault ? ImmutableArray<T>.Empty : array;
732public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T>? array)
735null or { IsDefault: true } => ImmutableArray<T>.Empty,
743public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null)
762var result = (builder.Count == array.Length) ? array : builder.ToImmutable();
769internal static ImmutableArray<T> ConditionallyDeOrder<T>(this ImmutableArray<T> array)
785internal static ImmutableArray<TValue> Flatten<TKey, TValue>(
786this Dictionary<TKey, ImmutableArray<TValue>> dictionary,
792return ImmutableArray<TValue>.Empty;
811internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second)
816internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third)
839internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth)
867internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth)
900internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth, ImmutableArray<T> sixth)
938internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, T second)
943internal static ImmutableArray<T> AddRange<T>(this ImmutableArray<T> self, in TemporaryArray<T> items)
976internal static bool HasDuplicates<T>(this ImmutableArray<T> array)
1012internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer)
1038public static int Count<T>(this ImmutableArray<T> items, Func<T, bool> predicate)
1057public static int Sum<T>(this ImmutableArray<T> items, Func<T, int> selector)
1066public static int Sum<T>(this ImmutableArray<T> items, Func<T, int, int> selector)
1103(Dictionary<TKey, object> dictionary, Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> result)
1114static ImmutableArray<TNamespaceOrTypeSymbol> createMembers(object value)
1125return ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(builder.ToDowncastedImmutableAndFree<TNamedTypeSymbol>());
1132: ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(ImmutableArray.Create((TNamedTypeSymbol)symbol));
1137internal static Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>> GetTypesFromMemberMap<TKey, TNamespaceOrTypeSymbol, TNamedTypeSymbol>
1138(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer)
1149var dictionary = new Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>>(capacity, comparer);
1153var namedTypes = getOrCreateNamedTypes(entry.Value);
1160static ImmutableArray<TNamedTypeSymbol> getOrCreateNamedTypes(ImmutableArray<TNamespaceOrTypeSymbol> members)
1167var membersAsNamedTypes = members.As<TNamedTypeSymbol>();
1180return ImmutableArray<TNamedTypeSymbol>.Empty;
1194internal static bool SequenceEqual<TElement, TArg>(this ImmutableArray<TElement> array1, ImmutableArray<TElement> array2, TArg arg, Func<TElement, TElement, TArg, bool> predicate)
1224internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
1227internal static bool IsSorted<T>(this ImmutableArray<T> array, IComparer<T>? comparer = null)
1243internal static int BinarySearch<TElement, TValue>(this ImmutableArray<TElement> array, TValue value, Func<TElement, TValue, int> comparer)
1302public static bool IsSubsetOf<TElement>(this ImmutableArray<TElement> array, ImmutableArray<TElement> other)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (24)
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> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, IEnumerable<TResult>> selector)
403return ImmutableArray<TResult>.Empty;
412public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IEnumerable<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
415return ImmutableArray<TResult>.Empty;
424public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, IEnumerable<TResult>> selector)
427return ImmutableArray<TResult>.Empty;
437public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
440return ImmutableArray<TResult>.Empty;
453public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, ValueTask<TResult>> selector)
468public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
483public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this IEnumerable<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
495public 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)
759internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
762var dictionary = new Dictionary<K, ImmutableArray<T>>(comparer);
766var 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)
244public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
262public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
265Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
281public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedExplicitMembers(
295private static ImmutableArray<ISymbol> GetExplicitlyImplementableMembers(INamedTypeSymbol type, ISymbol within)
322private static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembers(
327Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
351var typesToImplement = GetTypesToImplement(classOrStructType, interfacesOrAbstractClasses, allowReimplementation, cancellationToken);
356private static ImmutableArray<INamedTypeSymbol> GetTypesToImplement(
367private static ImmutableArray<INamedTypeSymbol> GetAbstractClassesToImplement(
375private static ImmutableArray<INamedTypeSymbol> GetInterfacesToImplement(
399private static ImmutableArray<ISymbol> GetUnimplementedMembers(
404Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
514private static ImmutableArray<ISymbol> GetMembers(INamedTypeSymbol type, ISymbol within)
527public 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,
46ImmutableArray<SymbolSpecification> symbolSpecifications,
47ImmutableArray<NamingStyle> namingStyles,
48ImmutableArray<SerializableNamingRule> serializableNamingRules,
108ImmutableArray<SymbolSpecification> symbolSpecifications,
109ImmutableArray<NamingStyle> namingStyles)
159private 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> arguments, out INamedTypeSymbol typeToGenerateIn);
34protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument> arguments, out INamedTypeSymbol typeToGenerateIn);
35protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument> arguments, out INamedTypeSymbol typeToGenerateIn);
36protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument> 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 (28)
43private ImmutableArray<Argument> _arguments;
48private ImmutableArray<RefKind> _parameterRefKinds;
49public ImmutableArray<ITypeSymbol> ParameterTypes;
56private ImmutableArray<IParameterSymbol> _parameters;
138var parameterNames = GetParameterNames(_arguments, typeParametersNames, cancellationToken);
143private ImmutableArray<ParameterName> GetParameterNames(
144ImmutableArray<Argument> arguments, ImmutableArray<string> typeParametersNames, CancellationToken cancellationToken)
151var parameters = ParameterTypes.Zip(_parameterRefKinds,
165var remainingArguments = _arguments.Skip(argumentCount).ToImmutableArray();
166var remainingParameterNames = _service.GenerateParameterNames(
177var remainingParameterTypes = ParameterTypes.Skip(argumentCount).ToImmutableArray();
185ImmutableArray<IParameterSymbol> allParameters,
186ImmutableArray<TExpressionSyntax?> allExpressions,
206ImmutableArray<IParameterSymbol> parameters,
207ImmutableArray<TExpressionSyntax?> expressions,
208ImmutableArray<IMethodSymbol> constructors,
280internal ImmutableArray<ITypeSymbol> GetParameterTypes(CancellationToken cancellationToken)
302out var token, out var arguments, out var typeToGenerateIn))
320out var token, out var arguments, out var typeToGenerateIn))
339out var token, out var arguments, out var typeToGenerateIn))
409ImmutableArray<Argument> arguments,
410ImmutableArray<ITypeSymbol> parameterTypes,
411ImmutableArray<ParameterName> parameterNames,
465var unavailableMemberNames = GetUnavailableMemberNames().ToImmutableArray();
589var delegatingArguments = this.GetRequiredLanguageService<SyntaxGenerator>(TypeToGenerateIn.Language).CreateArguments(_delegatedConstructor.Parameters);
615private 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,
107ImmutableArray<AttributeData> attributes,
124ImmutableArray<AttributeData> attributes,
128ImmutableArray<IParameterSymbol> parameters,
129ImmutableArray<SyntaxNode> statements = default,
130ImmutableArray<SyntaxNode> baseConstructorArguments = default,
131ImmutableArray<SyntaxNode> thisConstructorArguments = default,
143ImmutableArray<AttributeData> attributes, string typeName,
144ImmutableArray<SyntaxNode> statements = default)
153ImmutableArray<AttributeData> attributes,
158ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
160ImmutableArray<ITypeParameterSymbol> typeParameters,
161ImmutableArray<IParameterSymbol> parameters,
162ImmutableArray<SyntaxNode> statements = default,
163ImmutableArray<SyntaxNode> handlesExpressions = default,
164ImmutableArray<AttributeData> returnTypeAttributes = default,
177ImmutableArray<AttributeData> attributes, Accessibility accessibility, DeclarationModifiers modifiers,
180ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
181string name, ImmutableArray<ITypeParameterSymbol> typeParameters,
182ImmutableArray<IParameterSymbol> parameters,
183ImmutableArray<SyntaxNode> statements = default,
184ImmutableArray<SyntaxNode> handlesExpressions = default,
185ImmutableArray<AttributeData> returnTypeAttributes = default,
196ImmutableArray<AttributeData> attributes,
201ImmutableArray<IParameterSymbol> parameters,
202ImmutableArray<SyntaxNode> statements = default,
203ImmutableArray<AttributeData> returnTypeAttributes = default,
228ImmutableArray<SyntaxNode> statements = default,
229ImmutableArray<AttributeData> toTypeAttributes = default,
249ImmutableArray<AttributeData> attributes,
256ImmutableArray<SyntaxNode> statements = default,
257ImmutableArray<AttributeData> toTypeAttributes = default,
281ImmutableArray<AttributeData> attributes, RefKind refKind, bool isParams, ITypeSymbol type, string name, bool isOptional = false, bool hasDefaultValue = false, object? defaultValue = null)
291ImmutableArray<AttributeData>? attributes = null,
333ImmutableArray<AttributeData> attributes,
335ImmutableArray<ITypeSymbol> constraintTypes,
362ImmutableArray<AttributeData> attributes = default,
364ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
365ImmutableArray<SyntaxNode> statements = default)
387ImmutableArray<AttributeData> attributes,
389ImmutableArray<SyntaxNode> statements)
409ImmutableArray<TypedConstant> constructorArguments = default,
410ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments = default)
419ImmutableArray<AttributeData> attributes,
423ImmutableArray<ITypeParameterSymbol> typeParameters = default,
425ImmutableArray<INamedTypeSymbol> interfaces = default,
427ImmutableArray<ISymbol> members = default,
438ImmutableArray<AttributeData> attributes,
442ImmutableArray<ITypeParameterSymbol> typeParameters = default,
444ImmutableArray<INamedTypeSymbol> interfaces = default,
446ImmutableArray<ISymbol> members = default,
464ImmutableArray<AttributeData> attributes,
470ImmutableArray<ITypeParameterSymbol> typeParameters = default,
471ImmutableArray<IParameterSymbol> parameters = default,
516ImmutableArray<AttributeData> attributes = default,
519ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
521ImmutableArray<IParameterSymbol>? parameters = null,
522ImmutableArray<SyntaxNode> statements = default,
525Optional<ImmutableArray<AttributeData>> returnTypeAttributes = default)
546ImmutableArray<AttributeData> attributes = default,
547ImmutableArray<IParameterSymbol>? parameters = null,
550ImmutableArray<IPropertySymbol> explicitInterfaceImplementations = default,
572ImmutableArray<AttributeData> attributes = default,
575ImmutableArray<IEventSymbol> explicitInterfaceImplementations = default,
593ImmutableArray<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)
428var argsToParams = indexerAccess.ArgsToParamsOpt;
432var parameters = accessorForDefaultArguments.Parameters;
441ImmutableArray<string?> argumentNamesOpt = indexerAccess.ArgumentNamesOpt;
653(object)otherSymbol == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(otherSymbol),
654receiver == null ? ImmutableArray<BoundExpression>.Empty : ImmutableArray.Create(receiver),
977bool checkArrayAccessValueKind(SyntaxNode node, BindValueKind valueKind, ImmutableArray<BoundExpression> indices, BindingDiagnosticBag diagnostics)
1984ImmutableArray<ParameterSymbol> parameters,
1985ImmutableArray<BoundExpression> argsOpt,
1986ImmutableArray<RefKind> argRefKindsOpt,
1987ImmutableArray<int> argsToParamsOpt,
2073ImmutableArray<ParameterSymbol> parameters,
2074ImmutableArray<BoundExpression> argsOpt,
2075ImmutableArray<RefKind> argRefKindsOpt,
2076ImmutableArray<int> argsToParamsOpt,
2138ImmutableArray<ParameterSymbol> parameters,
2139ImmutableArray<BoundExpression> argsOpt,
2140ImmutableArray<RefKind> argRefKindsOpt,
2141ImmutableArray<int> argsToParamsOpt,
2231ImmutableArray<ParameterSymbol> parameters,
2232ImmutableArray<BoundExpression> argsOpt,
2233ImmutableArray<RefKind> argRefKindsOpt,
2234ImmutableArray<int> argsToParamsOpt,
2304ImmutableArray<ParameterSymbol> parameters,
2305ImmutableArray<BoundExpression> argsOpt,
2306ImmutableArray<RefKind> argRefKindsOpt,
2307ImmutableArray<int> argsToParamsOpt,
2452ImmutableArray<BoundExpression> argsOpt,
2453ImmutableArray<RefKind> argRefKindsOpt,
2481ImmutableArray<ParameterSymbol> parameters,
2482ImmutableArray<BoundExpression> argsOpt,
2483ImmutableArray<RefKind> argRefKindsOpt,
2484ImmutableArray<int> argsToParamsOpt,
2551ImmutableArray<ParameterSymbol> parameters,
2552ImmutableArray<BoundExpression> argsOpt,
2553ImmutableArray<RefKind> argRefKindsOpt,
2554ImmutableArray<int> argsToParamsOpt,
2606ImmutableArray<ParameterSymbol> parameters,
2607ImmutableArray<BoundExpression> argsOpt,
2608ImmutableArray<RefKind> argRefKindsOpt,
2609ImmutableArray<int> argsToParamsOpt,
2682ImmutableArray<ParameterSymbol> parameters,
2683ImmutableArray<BoundExpression> argsOpt,
2684ImmutableArray<RefKind> argRefKindsOpt,
2685ImmutableArray<int> argsToParamsOpt,
2796ImmutableArray<ParameterSymbol> parameters,
2797ImmutableArray<BoundExpression> argsOpt,
2798ImmutableArray<RefKind> argRefKindsOpt,
2799ImmutableArray<int> argsToParamsOpt,
2896ImmutableArray<ParameterSymbol> parameters,
2897ImmutableArray<BoundExpression> argsOpt,
2898ImmutableArray<RefKind> argRefKindsOpt,
2899ImmutableArray<int> argsToParamsOpt,
2984ImmutableArray<BoundExpression> argsOpt,
2985ImmutableArray<ParameterSymbol> parameters,
2986ImmutableArray<int> argsToParamsOpt)
3050public override ImmutableArray<Location> Locations
3565ImmutableArray<BoundExpression> arguments;
3566ImmutableArray<RefKind> refKinds;
3886ImmutableArray<BoundExpression> arguments;
3887ImmutableArray<RefKind> refKinds;
4254ImmutableArray<BoundExpression> arguments;
4255ImmutableArray<RefKind> refKinds;
4367ImmutableArray<BoundExpression> arguments;
4368ImmutableArray<RefKind> refKinds;
4592private uint GetTupleValEscape(ImmutableArray<BoundExpression> elements, uint scopeOfTheContainingExpression)
4716private uint GetValEscape(ImmutableArray<BoundExpression> expressions, uint scopeOfTheContainingExpression)
4987ImmutableArray<BoundExpression> arguments;
4988ImmutableArray<RefKind> refKinds;
5141ImmutableArray<BoundExpression> arguments;
5142ImmutableArray<RefKind> refKinds;
5462private SignatureOnlyMethodSymbol GetInlineArrayAccessEquivalentSignatureMethod(BoundInlineArrayAccess elementAccess, out ImmutableArray<BoundExpression> arguments, out ImmutableArray<RefKind> refKinds)
5503ImmutableArray<TypeParameterSymbol>.Empty,
5506ImmutableArray<CustomModifier>.Empty,
5515ImmutableArray<CustomModifier>.Empty,
5516ImmutableArray<MethodSymbol>.Empty);
5524private SignatureOnlyMethodSymbol GetInlineArrayConversionEquivalentSignatureMethod(BoundConversion conversion, out ImmutableArray<BoundExpression> arguments, out ImmutableArray<RefKind> refKinds)
5530private SignatureOnlyMethodSymbol GetInlineArrayConversionEquivalentSignatureMethod(BoundExpression inlineArray, TypeSymbol resultType, out ImmutableArray<BoundExpression> arguments, out ImmutableArray<RefKind> refKinds)
5543ImmutableArray<TypeParameterSymbol>.Empty,
5546ImmutableArray<CustomModifier>.Empty,
5555ImmutableArray<CustomModifier>.Empty,
5556ImmutableArray<MethodSymbol>.Empty);
5564private bool CheckTupleValEscape(ImmutableArray<BoundExpression> elements, uint escapeFrom, uint escapeTo, BindingDiagnosticBag diagnostics)
5595private bool CheckValEscape(ImmutableArray<BoundExpression> expressions, uint escapeFrom, uint 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>));
1587var typeArgumentsWithAnnotations = hasTypeArguments ?
1589default(ImmutableArray<TypeWithAnnotations>);
2755ImmutableArray<MethodSymbol> originalUserDefinedConversions = conversion.OriginalUserDefinedConversions;
2786var targetElementTypesWithAnnotations = default(ImmutableArray<TypeWithAnnotations>);
2845ImmutableArray<BoundExpression> tupleArguments,
2846ImmutableArray<TypeWithAnnotations> targetElementTypesWithAnnotations)
3259foreach (Symbol member in ContainingType?.GetMembers(identifier) ?? ImmutableArray<Symbol>.Empty)
3379out ImmutableArray<int> argsToParamsOpt)
3389var parameters = methodResult.LeastOverriddenMember.GetParameters();
3502ImmutableArray<ParameterSymbol> parameters,
3558ImmutableArray<ParameterSymbol> parameters,
3591ImmutableArray<ParameterSymbol> parameters,
3595ref ImmutableArray<int> argsToParamsOpt,
3620ImmutableArray<BoundExpression> collectionArgs = paramsArgsBuilder.ToImmutableAndFree();
3674static ParameterSymbol getCorrespondingParameter(in MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, int arg)
3684ImmutableArray<ParameterSymbol> parameters,
3696var handlerParameterIndexes = correspondingParameter.InterpolatedStringHandlerArgumentIndexes;
3749ImmutableArray<int> handlerArgumentIndexes;
4025ImmutableArray<BoundExpression> arraySizes = sizes.ToImmutableAndFree();
4065ImmutableArray<BoundExpression> boundInitializerExpressions = BindArrayInitializerExpressions(initializer, diagnostics, dimension: 1, rank: rank);
4086sizes: ImmutableArray<BoundExpression>.Empty, boundInitExprOpt: boundInitializerExpressions);
4092ImmutableArray<BoundExpression> boundInitializerExpressions = BindArrayInitializerExpressions(initializer, diagnostics, dimension: 1, rank: 1);
4124private ImmutableArray<BoundExpression> BindArrayInitializerExpressions(InitializerExpressionSyntax initializer, BindingDiagnosticBag diagnostics, int dimension, int rank)
4212ImmutableArray<BoundExpression> boundInitExpr,
4293ImmutableArray<BoundExpression> boundInitExprOpt = default(ImmutableArray<BoundExpression>))
4360ImmutableArray<BoundExpression> sizes,
4361ImmutableArray<BoundExpression> boundInitExprOpt = default(ImmutableArray<BoundExpression>),
4451ImmutableArray<Symbol>.Empty,
4452ImmutableArray<BoundExpression>.Empty,
4490ImmutableArray<Symbol>.Empty,
4609ImmutableArray<BoundExpression> boundInitExprOpt = default)
4822symbols: ImmutableArray<Symbol>.Empty,
4833symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType
4876symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType
4882ImmutableArray<MethodSymbol> candidateConstructors;
4916ImmutableArray<MethodSymbol> candidateConstructors,
4922ImmutableArray<int> argsToParamsOpt;
5008var arguments = analyzedArguments.Arguments.ToImmutable();
5009var refKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
5044typeArgumentsWithAnnotations: ImmutableArray<TypeWithAnnotations>.Empty,
5197return new BoundBadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType());
5452var childNodes = BuildArgumentsForErrorRecovery(analyzedArguments);
5857ImmutableArray<BoundExpression> arguments = ImmutableArray<BoundExpression>.Empty;
5858ImmutableArray<string> argumentNamesOpt = default;
5859ImmutableArray<int> argsToParamsOpt = default;
5860ImmutableArray<RefKind> argumentRefKindsOpt = default;
5913var handlerPlaceholders = operand.GetInterpolatedStringHandlerData().ArgumentPlaceholders;
6092ImmutableArray<BoundExpression> initializers,
6358ImmutableArray<BoundExpression> boundElementInitializerExpressions,
6386return BadExpression(elementInitializer, LookupResultKind.NotInvocable, ImmutableArray<Symbol>.Empty, boundElementInitializerExpressions);
6410ImmutableArray<BoundExpression> boundElementInitializerExpressions,
6426applicableMethods: ImmutableArray<MethodSymbol>.Empty,
6550internal ImmutableArray<MethodSymbol> FilterInaccessibleConstructors(ImmutableArray<MethodSymbol> constructors, bool allowProtectedConstructorsOfBaseType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
6646ImmutableArray<MethodSymbol> accessibleConstructors = GetAccessibleConstructorsForOverloadResolution(type, ref useSiteInfo);
6651var finalApplicableCandidates = GetCandidatesPassingFinalValidation(node, overloadResolutionResult, receiverOpt: null, default(ImmutableArray<TypeWithAnnotations>), invokedAsExtensionMethod: false, diagnostics);
6659var argArray = BuildArgumentsForDynamicInvocation(analyzedArguments, diagnostics);
6660var refKindsArray = analyzedArguments.RefKinds.ToImmutableOrNull();
6696out ImmutableArray<MethodSymbol> candidateConstructors,
6716ImmutableArray<MethodSymbol> candidateConstructors,
6731ImmutableArray<int> argToParams;
6767var arguments = analyzedArguments.Arguments.ToImmutable();
6768var refKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
6800ImmutableArray<MethodSymbol> candidateConstructors,
7010var children = BuildArgumentsForErrorRecovery(analyzedArguments);
7017return new BoundBadExpression(node, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol>.Empty, children, interfaceType);
7100out ImmutableArray<MethodSymbol> candidateConstructors,
7106ImmutableArray<MethodSymbol> allInstanceConstructors;
7222private ImmutableArray<MethodSymbol> GetAccessibleConstructorsForOverloadResolution(NamedTypeSymbol type, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
7224ImmutableArray<MethodSymbol> allInstanceConstructors;
7228private ImmutableArray<MethodSymbol> GetAccessibleConstructorsForOverloadResolution(NamedTypeSymbol type, bool allowProtectedConstructorsOfBaseType, out ImmutableArray<MethodSymbol> allInstanceConstructors, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
7541ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations = rightHasTypeArguments ?
7543default(ImmutableArray<TypeWithAnnotations>);
7661var typeArguments = typeArgumentsSyntax.Count > 0 ? BindTypeArguments(typeArgumentsSyntax, diagnostics) : default(ImmutableArray<TypeWithAnnotations>);
7757ImmutableArray<TypeWithAnnotations> typeArguments,
7831ImmutableArray<TypeWithAnnotations> typeArguments,
7927ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
7979lookupResult.Symbols.All(s => s.Kind == SymbolKind.Method) ? lookupResult.Symbols.SelectAsArray(s_toMethodSymbolFunc) : ImmutableArray<MethodSymbol>.Empty,
8049ReportQueryLookupFailed(node, boundLeft, plainName, ImmutableArray<Symbol>.Empty, diagnostics);
8123ImmutableArray<Symbol> symbols,
8134var methods = builder.ToImmutableAndFree();
8143default(ImmutableArray<TypeWithAnnotations>),
8159(object)symbolOpt == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(symbolOpt),
8160boundLeft == null ? ImmutableArray<BoundExpression>.Empty : ImmutableArray.Create(BindToTypeForErrorRecovery(boundLeft)),
8225ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
8301boundDimensionsOpt: ImmutableArray<BoundExpression>.Empty,
8341ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
8462ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
9266var childBoundNodes = BuildArgumentsForErrorRecovery(analyzedArguments).Add(expr);
9267return new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes, CreateErrorType(), hasErrors: true);
9288return BindDynamicIndexer(node, expr, arguments, ImmutableArray<PropertySymbol>.Empty, diagnostics);
9372var argumentPlaceholders = ImmutableArray.Create(new BoundImplicitIndexerValuePlaceholder(convertedArguments[0].Syntax, int32) { WasCompilerGenerated = true });
9380indexerOrSliceAccess: new BoundArrayAccess(node, receiverPlaceholder, ImmutableArray<BoundExpression>.CastUp(argumentPlaceholders), resultType) { WasCompilerGenerated = true },
9653var properties = propertyGroup.Properties;
9665ImmutableArray<BoundExpression>.Empty,
9666default(ImmutableArray<string>),
9667default(ImmutableArray<RefKind>),
9678private BoundExpression BindIndexedPropertyAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<PropertySymbol> propertyGroup, AnalyzedArguments arguments, BindingDiagnosticBag diagnostics)
9695ImmutableArray<PropertySymbol> applicableProperties,
9719var argArray = BuildArgumentsForDynamicInvocation(arguments, diagnostics);
9720var refKindsArray = arguments.RefKinds.ToImmutableOrNull();
9760var finalApplicableCandidates = GetCandidatesPassingFinalValidation(syntax, overloadResolutionResult, receiver, default(ImmutableArray<TypeWithAnnotations>), invokedAsExtensionMethod: false, diagnostics);
9784ImmutableArray<string> argumentNames = analyzedArguments.GetNames();
9785ImmutableArray<RefKind> argumentRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
9791ImmutableArray<PropertySymbol> candidates = propertyGroup.ToImmutable();
9822ImmutableArray<BoundExpression> arguments = BuildArgumentsForErrorRecovery(analyzedArguments, candidates);
9849ImmutableArray<int> argsToParams;
9857var arguments = analyzedArguments.Arguments.ToImmutable();
9918out var lengthOrCountAccess, out var indexerOrSliceAccess, out var argumentPlaceholders, diagnostics))
9973out ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders,
10005out ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders,
10107out BoundExpression indexerOrSliceAccess, out ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders)
10214private ErrorPropertySymbol CreateErrorPropertySymbol(ImmutableArray<PropertySymbol> propertyGroup)
10392var methods = node.Methods;
10624var typeArguments = node.TypeArgumentsOpt;
10793ImmutableArray<ScopedKind>? parameterScopesOverride = null,
10794ImmutableArray<bool>? parameterHasUnscopedRefAttributesOverride = null,
10798var parameters = methodSymbol.Parameters;
10799var parameterRefKinds = methodSymbol.ParameterRefKinds;
10800var parameterTypes = methodSymbol.ParameterTypesWithAnnotations;
10818var typeArguments = returnsVoid ? parameterTypes : parameterTypes.Add(returnType);
10881static bool checkConstraints(CSharpCompilation compilation, ConversionsBase conversions, NamedTypeSymbol delegateType, ImmutableArray<TypeWithAnnotations> typeArguments)
10884var typeParameters = delegateType.TypeParameters;
Binder\Binder_InterpolatedString.cs (47)
263BoundInterpolatedString constructWithData(ImmutableArray<BoundExpression> parts, InterpolatedStringHandlerData? data)
297private static bool AllInterpolatedStringPartsAreStrings(ImmutableArray<BoundExpression> parts)
327var partsArrayBuilder = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance();
331static (BoundUnconvertedInterpolatedString unconvertedInterpolatedString, ArrayBuilder<ImmutableArray<BoundExpression>> partsArrayBuilder) =>
377private BoundBinaryOperator UpdateBinaryOperatorWithInterpolatedContents(BoundBinaryOperator originalOperator, ImmutableArray<ImmutableArray<BoundExpression>> appendCalls, InterpolatedStringHandlerData data, SyntaxNode rootSyntax, BindingDiagnosticBag diagnostics)
381Func<BoundUnconvertedInterpolatedString, int, (ImmutableArray<ImmutableArray<BoundExpression>>, TypeSymbol), BoundExpression> interpolationFactory =
383Func<BoundBinaryOperator, BoundExpression, BoundExpression, (ImmutableArray<ImmutableArray<BoundExpression>>, TypeSymbol), BoundExpression> binaryOperatorFactory =
390static BoundInterpolatedString createInterpolation(BoundUnconvertedInterpolatedString expression, int i, (ImmutableArray<ImmutableArray<BoundExpression>> AppendCalls, TypeSymbol _) arg)
402static BoundBinaryOperator createBinaryOperator(BoundBinaryOperator original, BoundExpression left, BoundExpression right, (ImmutableArray<ImmutableArray<BoundExpression>> _, TypeSymbol @string) arg)
421ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments = default,
422ImmutableArray<RefKind> additionalConstructorRefKinds = default)
441ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments = default,
442ImmutableArray<RefKind> additionalConstructorRefKinds = default)
467ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments,
468ImmutableArray<RefKind> additionalConstructorRefKinds)
472var partsArrayBuilder = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance();
475static (BoundUnconvertedInterpolatedString unconvertedInterpolatedString, ArrayBuilder<ImmutableArray<BoundExpression>> partsArrayBuilder) =>
494private (ImmutableArray<ImmutableArray<BoundExpression>> AppendCalls, InterpolatedStringHandlerData Data) BindUnconvertedInterpolatedPartsToHandlerType(
496ImmutableArray<ImmutableArray<BoundExpression>> partsArray,
500ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments,
501ImmutableArray<RefKind> additionalConstructorRefKinds)
538foreach (var parts in partsArray)
588var outConstructorAdditionalArguments = additionalConstructorArguments.Add(trailingConstructorValidityPlaceholder);
679static void populateArguments(SyntaxNode syntax, ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments, int baseStringLength, int numFormatHoles, NamedTypeSymbol intType, ArrayBuilder<BoundExpression> argumentsBuilder)
712private ImmutableArray<BoundExpression> BindInterpolatedStringParts(BoundUnconvertedInterpolatedString unconvertedInterpolatedString, BindingDiagnosticBag diagnostics)
757private (ImmutableArray<ImmutableArray<BoundExpression>> AppendFormatCalls, bool UsesBoolReturn, ImmutableArray<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>, int BaseStringLength, int NumFormatHoles) BindInterpolatedStringAppendCalls(
758ImmutableArray<ImmutableArray<BoundExpression>> partsArray,
764return (ImmutableArray<ImmutableArray<BoundExpression>>.Empty, false, ImmutableArray<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>.Empty, 0, 0);
769var builderAppendCallsArray = ArrayBuilder<ImmutableArray<BoundExpression>>.GetInstance(partsArray.Length);
771var positionInfoArray = ArrayBuilder<ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>>.GetInstance(partsArray.Length);
778foreach (var parts in partsArray)
824var arguments = argumentsBuilder.ToImmutableAndClear();
825ImmutableArray<(string, Location)?> parameterNamesAndLocations;
Binder\Binder_Invocation.cs (67)
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 };
1775emptyCollection ??= new BoundUnconvertedCollectionExpression(node, ImmutableArray<BoundNode>.CastUp(ImmutableArray<BoundExpression>.Empty)) { WasCompilerGenerated = true, IsParamsArrayOrCollection = true };
1968ImmutableArray<MethodSymbol> methods,
1970ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations,
1976ImmutableArray<BoundExpression> args;
2002var argNames = analyzedArguments.GetNames();
2003var argRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
2018private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, ImmutableArray<MethodSymbol> methods)
2020var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2033var result = BuildArgumentsForErrorRecovery(analyzedArguments, parameterListList);
2038private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, ImmutableArray<PropertySymbol> properties)
2040var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2053var result = BuildArgumentsForErrorRecovery(analyzedArguments, parameterListList);
2058private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, IEnumerable<ImmutableArray<ParameterSymbol>> parameterListList)
2087foreach (var parameterList in parameterListList)
2162foreach (var parameterList in parameterListList)
2192private static TypeSymbol GetCorrespondingParameterType(AnalyzedArguments analyzedArguments, int i, ImmutableArray<ParameterSymbol> parameterList)
2213private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments)
2215return BuildArgumentsForErrorRecovery(analyzedArguments, Enumerable.Empty<ImmutableArray<ParameterSymbol>>());
2228var args = BuildArgumentsForErrorRecovery(analyzedArguments);
2229var argNames = analyzedArguments.GetNames();
2230var argRefKinds = analyzedArguments.RefKinds.ToImmutableOrNull();
2231var originalMethods = (expr.Kind == BoundKind.MethodGroup) ? ((BoundMethodGroup)expr).Methods : ImmutableArray<MethodSymbol>.Empty;
2236private static TypeSymbol GetCommonTypeOrReturnType<TMember>(ImmutableArray<TMember> members)
2415ImmutableArray<FunctionPointerMethodSymbol> methods = methodsBuilder.ToImmutableAndFree();
2445var args = analyzedArguments.Arguments.ToImmutable();
2446var 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>);
1838ImmutableArray<BoundExpression>.Empty);
1892private BoundBlock FinishBindBlockParts(CSharpSyntaxNode node, ImmutableArray<BoundStatement> boundStatements)
1894ImmutableArray<LocalSymbol> locals = GetDeclaredLocalsForScope(node);
2122var delegateParameters = delegateType.DelegateParameters();
2254ImmutableArray<MethodSymbol> originalUserDefinedConversions = conversion.OriginalUserDefinedConversions;
2318var targetElementTypes = default(ImmutableArray<TypeWithAnnotations>);
2491ImmutableArray<BoundExpression> tupleArguments,
2492ImmutableArray<TypeWithAnnotations> targetElementTypes)
2678var best = this.UnaryOperatorOverloadResolution(UnaryOperatorKind.True, expr, node, diagnostics, out LookupResultKind resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators);
2766internal BoundStatement BindForOrUsingOrFixedDeclarations(VariableDeclarationSyntax nodeOpt, LocalDeclarationKind localKind, BindingDiagnosticBag diagnostics, out ImmutableArray<BoundLocalDeclaration> declarations)
2770declarations = ImmutableArray<BoundLocalDeclaration>.Empty;
2877return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
2888return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
3177var catchBlocks = BindCatchBlocks(node.Catches, diagnostics);
3182private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics)
3187return ImmutableArray<BoundCatchBlock>.Empty;
3302ImmutableArray<LocalSymbol> locals = binder.GetDeclaredLocalsForScope(node);
3418internal BoundBlock CreateBlockFromExpression(CSharpSyntaxNode node, ImmutableArray<LocalSymbol> locals, RefKind refKind, BoundExpression expression, ExpressionSyntax expressionSyntax, BindingDiagnosticBag diagnostics)
3655ImmutableArray<LocalSymbol> constructorLocals;
3666constructorLocals = ImmutableArray<LocalSymbol>.Empty;
3672blockBody: new BoundBlock(typeDecl, ImmutableArray<LocalSymbol>.Empty, ImmutableArray<BoundStatement>.Empty).MakeCompilerGenerated(),
3932arguments: ImmutableArray<BoundExpression>.Empty,
3933argumentNamesOpt: ImmutableArray<string?>.Empty,
3934argumentRefKindsOpt: ImmutableArray<RefKind>.Empty,
3938argsToParamsOpt: ImmutableArray<int>.Empty,
4010internal virtual ImmutableArray<LocalSymbol> Locals
4014return ImmutableArray<LocalSymbol>.Empty;
4018internal virtual ImmutableArray<LocalFunctionSymbol> LocalFunctions
4022return ImmutableArray<LocalFunctionSymbol>.Empty;
4026internal virtual ImmutableArray<LabelSymbol> Labels
4030return ImmutableArray<LabelSymbol>.Empty;
4038internal virtual ImmutableArray<AliasAndExternAliasDirective> ExternAliases
4052internal 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)
1400ImmutableArray<TypeWithAnnotations> typeArguments,
1451receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.Ambiguous, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(receiver), receiver.Type, hasErrors: true).MakeCompilerGenerated();
1554ImmutableArray<TypeWithAnnotations> typeArguments,
1937var 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();
355private TypeSymbol MostSpecificSourceTypeForImplicitUserDefinedConversion(ImmutableArray<UserDefinedConversionAnalysis> u, TypeSymbol source, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
371private TypeSymbol MostSpecificTargetTypeForImplicitUserDefinedConversion(ImmutableArray<UserDefinedConversionAnalysis> u, TypeSymbol target, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
418private static int? MostSpecificConversionOperator(TypeSymbol sx, TypeSymbol tx, ImmutableArray<UserDefinedConversionAnalysis> u)
426private static int? MostSpecificConversionOperator(Func<UserDefinedConversionAnalysis, bool> constraint, ImmutableArray<UserDefinedConversionAnalysis> u)
537private static BestIndex UniqueIndex<T>(ImmutableArray<T> items, Func<T, bool> predicate)
677ImmutableArray<T> items,
685ImmutableArray<T> items,
739ImmutableArray<T> items,
747ImmutableArray<T> items,
791private static int? UniqueBestValidIndex<T>(ImmutableArray<T> items, Func<T, bool> valid, Func<T, T, BetterResult> better)
957ImmutableArray<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();
1754ImmutableArray<TypeWithAnnotations> sourceTypes;
1755ImmutableArray<TypeWithAnnotations> targetTypes;
2190ImmutableArray<NamedTypeSymbol> allInterfaces;
2222internal static ImmutableArray<NamedTypeSymbol> ModuloReferenceTypeNullabilityDifferences(ImmutableArray<NamedTypeSymbol> interfaces, VarianceKind variance)
2579ImmutableArray<NamedTypeSymbol> allInterfaces = target.AllInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo);
2890var constraintTypes = typeParameter.ConstraintTypesNoUseSiteDiagnostics;
2975var originalDelegateParameters = target.DelegateParameters();
2988var fixedDelegateParameters = fixedDelegate.DelegateParameters();
3026private static NamedTypeSymbol GetInterfaceInferenceBound(ImmutableArray<NamedTypeSymbol> interfaces, NamedTypeSymbol target)
3072public static ImmutableArray<TypeWithAnnotations> InferTypeArgumentsFromFirstArgument(
3076ImmutableArray<BoundExpression> arguments,
3091ImmutableArray<BoundExpression> arguments,
3168private 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;
1469private bool TypeArgumentsAccessible(ImmutableArray<TypeSymbol> typeArguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1721ImmutableArray<MethodSymbol> constructors,
2060private static ParameterSymbol GetParameter(int argIndex, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters)
2138var m1LeastOverriddenParameters = m1.LeastOverriddenMember.GetParameters();
2139var m2LeastOverriddenParameters = m2.LeastOverriddenMember.GetParameters();
2445var m1DefinitionParameters = m1.LeastOverriddenMember.OriginalDefinition.GetParameters();
2446var m2DefinitionParameters = m2.LeastOverriddenMember.OriginalDefinition.GetParameters();
2547static TypeSymbol getParameterTypeAndRefKind(int i, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, TypeWithAnnotations paramsElementTypeOpt, out RefKind parameter1RefKind)
2581var conversionsOpt = m.Result.ConversionsOpt;
2593ImmutableArray<ParameterSymbol> parameters1,
2595ImmutableArray<ParameterSymbol> parameters2)
2663ImmutableArray<int> argsToParamsOpt = m.Result.ArgsToParamsOpt;
3009ImmutableArray<BoundNode> collectionExpressionElements,
3010TypeSymbol t1, CollectionExpressionTypeKind kind1, TypeSymbol elementType1, ImmutableArray<Conversion> underlyingElementConversions1,
3011TypeSymbol t2, CollectionExpressionTypeKind kind2, TypeSymbol elementType2, ImmutableArray<Conversion> underlyingElementConversions2,
3317var sourceArguments = tupleSource.Arguments;
3325var destTypes = destination.TupleElementTypesWithAnnotations;
3666private static bool IdenticalParameters(ImmutableArray<ParameterSymbol> p1, ImmutableArray<ParameterSymbol> p2)
3743ImmutableArray<int> argToParamMap,
3749out ImmutableArray<TypeWithAnnotations> parameterTypes,
3750out ImmutableArray<RefKind> parameterRefKinds)
3765internal readonly ImmutableArray<TypeWithAnnotations> ParameterTypes;
3766internal readonly ImmutableArray<RefKind> ParameterRefKinds;
3769internal EffectiveParameters(ImmutableArray<TypeWithAnnotations> types, ImmutableArray<RefKind> refKinds, int firstParamsElementIndex)
3782ImmutableArray<int> argToParamMap,
3791ImmutableArray<ParameterSymbol> parameters = member.GetParameters();
3798ImmutableArray<RefKind> parameterRefKinds = member.GetParameterRefKinds();
3837var refKinds = refs != null ? refs.ToImmutableAndFree() : default(ImmutableArray<RefKind>);
3923ImmutableArray<int> argToParamMap,
3934ImmutableArray<int> argToParamMap,
3945var parameters = member.GetParameters();
3983var refKinds = anyRef ? refs.ToImmutable() : default(ImmutableArray<RefKind>);
4135ImmutableArray<int> argsToParamsMap,
4153ImmutableArray<TypeWithAnnotations> typeArguments;
4224var parameterTypes = leastOverriddenMember.GetParameterTypes();
4265private ImmutableArray<TypeWithAnnotations> InferMethodTypeArguments(
4267ImmutableArray<TypeParameterSymbol> originalTypeParameters,
4274var args = arguments.Arguments.ToImmutable();
4311return default(ImmutableArray<TypeWithAnnotations>);
4317return default(ImmutableArray<TypeWithAnnotations>);
4326ImmutableArray<int> argsToParameters,
4495var 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);
139ImmutableArray<Symbol> candidates = Binder.GetCandidateMembers(typeOrNamespace.NamespaceOrType, name, options, originalBinder: originalBinder);
262internal static WithUsingNamespacesAndTypesBinder Create(ImmutableArray<NamespaceOrTypeAndUsingDirective> namespacesOrTypes, Binder next, bool withImportChainEntry = false)
271private ImmutableArray<NamespaceOrTypeAndUsingDirective> _lazyUsings;
281internal override ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved)
311internal override ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved)
336private readonly ImmutableArray<NamespaceOrTypeAndUsingDirective> _usings;
338internal FromNamespacesOrTypes(ImmutableArray<NamespaceOrTypeAndUsingDirective> namespacesOrTypes, Binder next, bool withImportChainEntry)
345internal override ImmutableArray<NamespaceOrTypeAndUsingDirective> GetUsings(ConsList<TypeSymbol>? basesBeingResolved)
352return 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 (57)
55private ImmutableArray<NamespaceOrTypeAndUsingDirective> _lazyGlobalImports;
70private ConcurrentDictionary<ImportInfo, ImmutableArray<AssemblySymbol>>? _lazyImportInfos;
74private ImmutableArray<Diagnostic> _lazyClsComplianceDiagnostics;
75private ImmutableArray<AssemblySymbol> _lazyClsComplianceDependencies;
407var validatedReferences = ValidateReferences<CSharpCompilationReference>(references);
429ImmutableArray<SyntaxTree>.Empty,
449ImmutableArray<MetadataReference> references,
466ImmutableArray<MetadataReference> references,
529private static LanguageVersion CommonLanguageVersion(ImmutableArray<SyntaxTree> syntaxTrees)
815public new ImmutableArray<SyntaxTree> SyntaxTrees
971syntaxAndDeclarations: syntaxAndDeclarations.WithExternalSyntaxTrees(ImmutableArray<SyntaxTree>.Empty));
1156public override ImmutableArray<MetadataReference> DirectiveReferences
1284public override CompilationReference ToMetadataReference(ImmutableArray<string> aliases = default, bool embedInteropTypes = false)
1562internal ImmutableArray<NamespaceOrTypeAndUsingDirective> GlobalImports
1565private ImmutableArray<NamespaceOrTypeAndUsingDirective> BindGlobalImports()
1569var previousSubmissionImports = previousSubmission is object ? Imports.ExpandPreviousSubmissionImports(previousSubmission.GlobalImports, this) : ImmutableArray<NamespaceOrTypeAndUsingDirective>.Empty;
1773ImmutableArray<Symbol>.Empty,
1774ImmutableArray<Location>.Empty
2649ImmutableArray<AssemblySymbol> dependencies = pair.Value;
2755internal void RecordImportDependencies(UsingDirectiveSyntax syntax, ImmutableArray<AssemblySymbol> dependencies)
2860public override ImmutableArray<Diagnostic> GetParseDiagnostics(CancellationToken cancellationToken = default)
2869public override ImmutableArray<Diagnostic> GetDeclarationDiagnostics(CancellationToken cancellationToken = default)
2877public override ImmutableArray<Diagnostic> GetMethodBodyDiagnostics(CancellationToken cancellationToken = default)
2886public override ImmutableArray<Diagnostic> GetDiagnostics(CancellationToken cancellationToken = default)
2891internal ImmutableArray<Diagnostic> GetDiagnostics(CompilationStage stage, bool includeEarlierStages, Predicate<ISymbolInternal>? symbolFilter, CancellationToken cancellationToken)
2920var syntaxTrees = this.SyntaxTrees;
3002ImmutableArray<LoadDirective> loadDirectives;
3062private ImmutableArray<Diagnostic> GetDiagnosticsForMethodBodiesInTree(SyntaxTree tree, TextSpan? span, CancellationToken cancellationToken)
3239return new ReadOnlyBindingDiagnostic<AssemblySymbol>(result.AsImmutable(), ImmutableArray<AssemblySymbol>.Empty);
3277internal ImmutableArray<Diagnostic> GetDiagnosticsForSyntaxTree(
3546public bool CheckDuplicateFilePathsAndFree(ImmutableArray<SyntaxTree> syntaxTrees, NamespaceSymbol globalNamespace)
3702ImmutableArray<ModuleSymbol> modules = SourceAssembly.Modules;
3707ImmutableArray<EmbeddedResource> resources;
3836private static bool ChecksumMatches(string bytesText, ImmutableArray<byte> bytes)
3858private static ImmutableArray<byte> MakeChecksumBytes(string bytesText)
3926protected internal override ImmutableArray<SyntaxTree> CommonSyntaxTrees
4017ImmutableArray<ITypeSymbol> parameterTypes,
4018ImmutableArray<RefKind> parameterRefKinds,
4020ImmutableArray<INamedTypeSymbol> callingConventionTypes)
4073: ImmutableArray<CustomModifier>.Empty;
4112ImmutableArray<ITypeSymbol> elementTypes,
4113ImmutableArray<string?> elementNames,
4114ImmutableArray<Location?> elementLocations,
4115ImmutableArray<CodeAnalysis.NullableAnnotation> elementNullableAnnotations)
4139ImmutableArray<string?> elementNames,
4140ImmutableArray<Location?> elementLocations,
4141ImmutableArray<CodeAnalysis.NullableAnnotation> elementNullableAnnotations)
4167ImmutableArray<ITypeSymbol> memberTypes,
4168ImmutableArray<string> memberNames,
4169ImmutableArray<Location> memberLocations,
4170ImmutableArray<bool> memberIsReadOnly,
4171ImmutableArray<CodeAnalysis.NullableAnnotation> memberNullableAnnotations)
4728internal override AnalyzerDriver CreateAnalyzerDriver(ImmutableArray<DiagnosticAnalyzer> analyzers, AnalyzerManager analyzerManager, SeverityFilter severityFilter)
4761var preprocessorSymbols = GetPreprocessorSymbols();
4776private ImmutableArray<string> GetPreprocessorSymbols()
4782return 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)
4325ImmutableArray<Symbol> myMethodGroup = methodGroup;
4383out ImmutableArray<Symbol> propertyGroup)
4426ImmutableArray<Symbol> myPropertyGroup = propertyGroup;
4543private static ParameterSymbol FindNamedParameter(ImmutableArray<ParameterSymbol> parameters, string argumentName)
4554internal static ImmutableArray<MethodSymbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
4559var typeArguments = node.TypeArgumentsOpt;
4567ImmutableArray<MethodSymbol> nonHiddenMethods = FilterOverriddenOrHiddenMethods(node.Methods);
4659ImmutableArray<TypeWithAnnotations> typeArguments,
4698ImmutableArray<TypeWithAnnotations> typeArguments,
4742var methods = call.OriginalMethodsOpt;
4766AddReducedAndFilteredMethodGroupSymbol(methodBuilder, filteredMethodBuilder, method, default(ImmutableArray<TypeWithAnnotations>), extensionThisType, compilation);
4991private ImmutableArray<ISymbol> GetMemberGroupFromNode(SyntaxNode node, CancellationToken cancellationToken)
5005return ImmutableArray<ISymbol>.Empty;
5008protected sealed override ImmutableArray<ISymbol> GetMemberGroupCore(SyntaxNode node, CancellationToken cancellationToken)
5010var methodGroup = this.GetMemberGroupFromNode(node, cancellationToken);
5157protected sealed override ImmutableArray<ISymbol> GetDeclaredSymbolsCore(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken))
5183: ImmutableArray<ISymbol>.Empty;
5219var checksum = text.GetContentHash();
5272protected sealed override ImmutableArray<ISymbol> LookupSymbolsCore(int position, INamespaceOrTypeSymbol container, string name, bool includeReducedExtensionMethods)
5277protected sealed override ImmutableArray<ISymbol> LookupBaseMembersCore(int position, string name)
5282protected sealed override ImmutableArray<ISymbol> LookupStaticMembersCore(int position, INamespaceOrTypeSymbol container, string name)
5287protected sealed override ImmutableArray<ISymbol> LookupNamespacesAndTypesCore(int position, INamespaceOrTypeSymbol container, string name)
5292protected sealed override ImmutableArray<ISymbol> LookupLabelsCore(int position, string name)
5398private protected sealed override ImmutableArray<IImportScope> GetImportScopesCore(int position, CancellationToken cancellationToken)
5416xmlNamespaces: 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)
1556protected static RefKind GetRefKind(ImmutableArray<RefKind> refKindsOpt, int index)
2070private void VisitCollectionExpression(ImmutableArray<BoundNode> elements)
3143var sideEffects = node.SideEffects;
3519VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), node.Constructor);
3558private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers)
3570var arguments = node.Arguments;
3603VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), node.AddMethod);
3609VisitArguments(node.Arguments, default(ImmutableArray<RefKind>), node.AddMethod);
3617VisitArguments(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,
578protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion)
600ImmutableArray<PendingBranch> pendingReturns = base.Scan(ref badRegion);
656: ImmutableArray<string>.Empty;
681checkMemberStateOnConstructorExit(method, member, state, thisSlot, exitLocation, membersWithStateEnforcedByRequiredMembers: ImmutableArray<string>.Empty, forcePropertyAnalysis: true);
703void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member, LocalState state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis)
789var info = new CSDiagnosticInfo(errorCode, new object[] { symbol.Kind.Localize(), symbol.Name }, ImmutableArray<Symbol>.Empty, additionalLocations: symbol.Locations);
840void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members, LocalState state, LocalState otherState)
856var notNullMembers = sense ? method.NotNullWhenTrueMembers : method.NotNullWhenFalseMembers;
968ImmutableArray<Symbol> getMembersNeedingDefaultInitialState()
972return ImmutableArray<Symbol>.Empty;
1012static ImmutableArray<Symbol> membersToBeInitialized(NamedTypeSymbol containingType, bool includeAllMembers, bool includeCurrentTypeRequiredMembers, bool includeBaseRequiredMembers)
1017=> ImmutableArray<Symbol>.Empty,
1035static ImmutableArray<Symbol> getAllTypeAndRequiredMembers(TypeSymbol containingType)
1037var members = containingType.GetMembersUnordered();
1086void makeMembersMaybeNull(MethodSymbol method, ImmutableArray<string> members)
1146var parameters = this.MethodParameters;
1222private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen)
1282private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1779ImmutableArray<PendingBranch> returns = walker.Analyze(ref badRegion, initialState);
2164private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2793var methodParameters = methodSymbol.Parameters;
2794var signatureParameters = (_useDelegateInvokeParameterTypes ? _delegateInvokeMethod! : methodSymbol).Parameters;
3274ImmutableArray<PendingBranch> pendingReturns = RemoveReturns();
3413private void DeclareLocals(ImmutableArray<LocalSymbol> locals)
3775var arguments = node.Arguments;
3777(_, ImmutableArray<VisitResult> argumentResults, _, ArgumentsCompletionDelegate? argumentsCompletion) =
3801ImmutableArray<VisitResult> argumentResults,
3830ImmutableArray<VisitResult> argumentResults,
3870ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
3940ImmutableArray<BoundExpression> arguments,
3941ImmutableArray<VisitResult> argumentResults)
4031ImmutableArray<VisitResult> argumentResults = default;
4067ImmutableArray<VisitResult> argumentResults,
4089ImmutableArray<VisitResult> argumentResults,
4220ImmutableArray<VisitResult> argumentResults = default;
4255ImmutableArray<VisitResult> argumentResults,
4280ImmutableArray<VisitResult> argumentResults,
4293static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4359var members = ((NamedTypeSymbol)type).GetMembersUnordered();
4407var arguments = node.Arguments;
4529var placeholders = placeholderBuilder.ToImmutableAndFree();
4648var placeholders = placeholdersBuilder.ToImmutableAndFree();
5020var parameters = method.Parameters;
5433static ImmutableArray<NamedTypeSymbol> inheritedInterfaces(TypeSymbol type) => type switch
5437_ => ImmutableArray<NamedTypeSymbol>.Empty,
6195ImmutableArray<RefKind> refKindsOpt = node.ArgumentRefKindsOpt;
6202ImmutableArray<VisitResult> results;
6222private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
6226var arguments = node.Arguments;
6400public readonly ImmutableArray<BoundExpression> Arguments;
6401public readonly ImmutableArray<VisitResult> Results;
6402public readonly ImmutableArray<int> ArgsToParamsOpt;
6404public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
6437var argsToParamsOpt = compareExchangeInfo.ArgsToParamsOpt;
6625protected override void VisitArguments(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKindsOpt, MethodSymbol method)
6631private (MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull) VisitArguments(
6633ImmutableArray<BoundExpression> arguments,
6634ImmutableArray<RefKind> refKindsOpt,
6636ImmutableArray<int> argsToParamsOpt,
6644private ImmutableArray<VisitResult> VisitArguments(
6646ImmutableArray<BoundExpression> arguments,
6647ImmutableArray<RefKind> refKindsOpt,
6649ImmutableArray<int> argsToParamsOpt,
6659private (MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull) VisitArguments(
6661ImmutableArray<BoundExpression> arguments,
6662ImmutableArray<RefKind> refKindsOpt,
6663ImmutableArray<ParameterSymbol> parametersOpt,
6664ImmutableArray<int> argsToParamsOpt,
6677private delegate (MethodSymbol? method, bool returnNotNull) ArgumentsCompletionDelegate(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, MethodSymbol? method);
6679private (MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull, ArgumentsCompletionDelegate? completion)
6682ImmutableArray<BoundExpression> arguments,
6683ImmutableArray<RefKind> refKindsOpt,
6684ImmutableArray<ParameterSymbol> parametersOpt,
6685ImmutableArray<int> argsToParamsOpt,
6707(ImmutableArray<BoundExpression> argumentsNoConversions, ImmutableArray<Conversion> conversions) = RemoveArgumentConversions(arguments, refKindsOpt);
6710ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
6717(MethodSymbol? method, ImmutableArray<VisitResult> results, bool returnNotNull, ArgumentsCompletionDelegate? completion)
6720ImmutableArray<BoundExpression> arguments,
6721ImmutableArray<BoundExpression> argumentsNoConversions,
6722ImmutableArray<Conversion> conversions,
6723ImmutableArray<VisitResult> results,
6724ImmutableArray<RefKind> refKindsOpt,
6725ImmutableArray<ParameterSymbol> parametersOpt,
6726ImmutableArray<int> argsToParamsOpt,
6891ImmutableArray<BoundExpression> arguments,
6892ImmutableArray<BoundExpression> argumentsNoConversions,
6893ImmutableArray<Conversion> conversions,
6894ImmutableArray<RefKind> refKindsOpt,
6895ImmutableArray<int> argsToParamsOpt,
6900return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, MethodSymbol? method) =>
6912static void expandParamsCollection(ref ImmutableArray<BoundExpression> arguments, ref ImmutableArray<RefKind> refKindsOpt, ImmutableArray<ParameterSymbol> parametersOpt, ref ImmutableArray<int> argsToParamsOpt, ref BitVector defaultArguments)
6926ImmutableArray<BoundExpression> elements;
7029var notNullMembers = method.NotNullMembers;
7030var notNullWhenTrueMembers = method.NotNullWhenTrueMembers;
7031var notNullWhenFalseMembers = method.NotNullWhenFalseMembers;
7055void applyMemberPostConditions(int receiverSlot, TypeSymbol type, ImmutableArray<string> members, ref LocalState state)
7095private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
7096ImmutableArray<BoundExpression> arguments,
7097ImmutableArray<RefKind> refKindsOpt,
7098ImmutableArray<FlowAnalysisAnnotations> parameterAnnotationsOpt,
7106return ImmutableArray<VisitResult>.Empty;
7130private ImmutableArray<FlowAnalysisAnnotations> GetParametersAnnotations(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parametersOpt, ImmutableArray<int> argsToParamsOpt, bool expanded)
7132ImmutableArray<FlowAnalysisAnnotations> parameterAnnotationsOpt = default;
7613private (ImmutableArray<BoundExpression> arguments, ImmutableArray<Conversion> conversions) RemoveArgumentConversions(
7614ImmutableArray<BoundExpression> arguments,
7615ImmutableArray<RefKind> refKindsOpt)
7618var conversions = default(ImmutableArray<Conversion>);
7662ImmutableArray<ParameterSymbol> parametersOpt,
7663ImmutableArray<int> argsToParamsOpt,
7696ImmutableArray<BoundExpression> arguments,
7697ImmutableArray<RefKind> argumentRefKindsOpt,
7698ImmutableArray<int> argsToParamsOpt,
7726parameterTypes: out ImmutableArray<TypeWithAnnotations> parameterTypes,
7727parameterRefKinds: out ImmutableArray<RefKind> parameterRefKinds);
7805private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8297var arguments = node.Arguments;
8298ImmutableArray<TypeWithState> elementTypes = arguments.SelectAsArray((a, w) => w.VisitRvalueWithState(a), this);
8299ImmutableArray<TypeWithAnnotations> elementTypesWithAnnotations = elementTypes.SelectAsArray(a => a.ToTypeWithAnnotations(compilation));
8340ImmutableArray<BoundExpression> values,
8341ImmutableArray<TypeWithState> types,
8342ImmutableArray<int> argsToParamsOpt,
8351var tupleElements = tupleType.TupleElements;
8420var conversions = conversion.UnderlyingConversions;
8421var targetElements = ((NamedTypeSymbol)targetType).TupleElements;
8422var valueElements = valueTuple.TupleElements;
8738static (MethodSymbol invokeSignature, ImmutableArray<ParameterSymbol>) getDelegateOrFunctionPointerInfo(TypeSymbol targetType)
8743_ => (null, ImmutableArray<ParameterSymbol>.Empty),
9672private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod)
10063var parameters = deconstructMethod.Parameters;
10110private void VisitTupleDeconstructionArguments(ArrayBuilder<DeconstructionVariable> variables, ImmutableArray<(BoundValuePlaceholder? placeholder, BoundExpression? conversion)> deconstructConversionInfo, BoundExpression right, TypeWithState? rightResultOpt)
10113var rightParts = GetDeconstructionRightParts(right, rightResultOpt);
10217var arguments = tuple.Arguments;
10243private ImmutableArray<BoundExpression> GetDeconstructionRightParts(BoundExpression expr, TypeWithState? rightResultOpt)
10272var fields = tupleType.TupleElements;
11872VisitArguments(node, node.ConstructorArguments, ImmutableArray<RefKind>.Empty, node.Constructor, argsToParamsOpt: node.ConstructorArgumentsToParamsOpt, defaultArguments: node.ConstructorDefaultArguments,
Generated\BoundNodes.xml.Generated.cs (485)
291protected BoundEqualsValue(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
302public ImmutableArray<LocalSymbol> Locals { get; }
308public BoundFieldEqualsValue(SyntaxNode syntax, FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
324public BoundFieldEqualsValue Update(FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value)
338public BoundPropertyEqualsValue(SyntaxNode syntax, PropertySymbol property, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
354public BoundPropertyEqualsValue Update(PropertySymbol property, ImmutableArray<LocalSymbol> locals, BoundExpression value)
368public BoundParameterEqualsValue(SyntaxNode syntax, ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
384public BoundParameterEqualsValue Update(ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value)
979public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false)
992public ImmutableArray<Symbol?> Symbols { get; }
993public ImmutableArray<BoundExpression> ChildBoundNodes { get; }
998public BoundBadExpression Update(LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type)
1012public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1021public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1026public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1068public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type, bool hasErrors = false)
1082public ImmutableArray<BoundExpression> BoundDimensionsOpt { get; }
1089public BoundTypeExpression Update(AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type)
1182public BoundUnaryOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1205public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1210public BoundUnaryOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
1224public 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)
1253public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1258public 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)
1445public BoundFunctionPointerInvocation(SyntaxNode syntax, BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false)
1461public ImmutableArray<BoundExpression> Arguments { get; }
1462public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
1468public BoundFunctionPointerInvocation Update(BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, LookupResultKind resultKind, TypeSymbol type)
1732public 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)
1758public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1763public BoundUserDefinedConditionalLogicalOperator Update(BinaryOperatorKind operatorKind, MethodSymbol logicalOperator, MethodSymbol trueOperator, MethodSymbol falseOperator, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, BoundExpression left, BoundExpression right, TypeSymbol type)
1777public 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)
1805public ImmutableArray<MethodSymbol> OriginalUserDefinedOperatorsOpt { get; }
1810public BoundCompoundAssignmentOperator Update(BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
2048public BoundArrayAccess(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type, bool hasErrors = false)
2062public ImmutableArray<BoundExpression> Indices { get; }
2067public BoundArrayAccess Update(BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type)
2951public 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)
2976public ImmutableArray<MethodSymbol> OriginalUserDefinedConversionsOpt { get; }
2981public BoundConversion Update(BoundExpression operand, Conversion conversion, bool isBaseConversion, bool @checked, bool explicitCastInCode, ConstantValue? constantValueOpt, ConversionGroup? conversionGroupOpt, ImmutableArray<MethodSymbol> originalUserDefinedConversionsOpt, TypeSymbol type)
3063public BoundArgListOperator(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, TypeSymbol? type, bool hasErrors = false)
3074public ImmutableArray<BoundExpression> Arguments { get; }
3075public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
3080public BoundArgListOperator Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, TypeSymbol? type)
3304public BoundBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, bool hasUnsafeModifier, BoundBlockInstrumentation? instrumentation, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
3318public ImmutableArray<LocalSymbol> Locals { get; }
3319public ImmutableArray<LocalFunctionSymbol> LocalFunctions { get; }
3326public BoundBlock Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, bool hasUnsafeModifier, BoundBlockInstrumentation? instrumentation, ImmutableArray<BoundStatement> statements)
3340public BoundScope(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
3350public ImmutableArray<LocalSymbol> Locals { get; }
3355public BoundScope Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements)
3369public BoundStateMachineScope(SyntaxNode syntax, ImmutableArray<StateMachineFieldSymbol> fields, BoundStatement statement, bool hasErrors = false)
3380public ImmutableArray<StateMachineFieldSymbol> Fields { get; }
3386public BoundStateMachineScope Update(ImmutableArray<StateMachineFieldSymbol> fields, BoundStatement statement)
3400public BoundLocalDeclaration(SyntaxNode syntax, LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType, bool hasErrors = false)
3416public ImmutableArray<BoundExpression> ArgumentsOpt { get; }
3422public BoundLocalDeclaration Update(LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType)
3436protected BoundMultipleLocalDeclarationsBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3445public ImmutableArray<BoundLocalDeclaration> LocalDeclarations { get; }
3450public BoundMultipleLocalDeclarations(SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3462public BoundMultipleLocalDeclarations Update(ImmutableArray<BoundLocalDeclaration> localDeclarations)
3476public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3492public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations)
3770public BoundSwitchStatement(SyntaxNode syntax, BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel, bool hasErrors = false)
3791public ImmutableArray<LocalSymbol> InnerLocals { get; }
3792public ImmutableArray<LocalFunctionSymbol> InnerLocalFunctions { get; }
3793public ImmutableArray<BoundSwitchSection> SwitchSections { get; }
3801public BoundSwitchStatement Update(BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel)
3815public BoundSwitchDispatch(SyntaxNode syntax, BoundExpression expression, ImmutableArray<(ConstantValue value, LabelSymbol label)> cases, LabelSymbol defaultLabel, LengthBasedStringSwitchData? lengthBasedStringSwitchDataOpt, bool hasErrors = false)
3830public ImmutableArray<(ConstantValue value, LabelSymbol label)> Cases { get; }
3837public BoundSwitchDispatch Update(BoundExpression expression, ImmutableArray<(ConstantValue value, LabelSymbol label)> cases, LabelSymbol defaultLabel, LengthBasedStringSwitchData? lengthBasedStringSwitchDataOpt)
3912protected BoundConditionalLoopStatement(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
3927public ImmutableArray<LocalSymbol> Locals { get; }
3934public BoundDoStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
3950public BoundDoStatement Update(ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
3964public BoundWhileStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
3980public BoundWhileStatement Update(ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
3994public BoundForStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> outerLocals, BoundStatement? initializer, ImmutableArray<LocalSymbol> innerLocals, BoundExpression? condition, BoundStatement? increment, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false)
4012public ImmutableArray<LocalSymbol> OuterLocals { get; }
4014public ImmutableArray<LocalSymbol> InnerLocals { get; }
4022public BoundForStatement Update(ImmutableArray<LocalSymbol> outerLocals, BoundStatement? initializer, ImmutableArray<LocalSymbol> innerLocals, BoundExpression? condition, BoundStatement? increment, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel)
4036public 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)
4063public ImmutableArray<LocalSymbol> IterationVariables { get; }
4073public 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)
4118public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false)
4133public ImmutableArray<LocalSymbol> Locals { get; }
4143public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt)
4157public BoundFixedStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations declarations, BoundStatement body, bool hasErrors = false)
4170public ImmutableArray<LocalSymbol> Locals { get; }
4177public BoundFixedStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations declarations, BoundStatement body)
4222public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false)
4237public ImmutableArray<BoundCatchBlock> CatchBlocks { get; }
4245public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler)
4259public BoundCatchBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll, bool hasErrors = false)
4275public ImmutableArray<LocalSymbol> Locals { get; }
4286public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll)
4809protected BoundStatementList(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
4818public BoundStatementList(SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
4827public ImmutableArray<BoundStatement> Statements { get; }
4832public BoundStatementList Update(ImmutableArray<BoundStatement> statements)
4879protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4895public ImmutableArray<BoundSwitchExpressionArm> SwitchArms { get; }
4903public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false)
4919public ImmutableArray<LocalSymbol> Locals { get; }
4928public BoundSwitchExpressionArm Update(ImmutableArray<LocalSymbol> locals, BoundPattern pattern, BoundExpression? whenClause, BoundExpression value, LabelSymbol label)
4942public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4956public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type)
4970public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false)
4990public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type)
5111public BoundWhenDecisionDagNode(SyntaxNode syntax, ImmutableArray<BoundPatternBinding> bindings, BoundExpression? whenExpression, BoundDecisionDagNode whenTrue, BoundDecisionDagNode? whenFalse, bool hasErrors = false)
5124public ImmutableArray<BoundPatternBinding> Bindings { get; }
5132public BoundWhenDecisionDagNode Update(ImmutableArray<BoundPatternBinding> bindings, BoundExpression? whenExpression, BoundDecisionDagNode whenTrue, BoundDecisionDagNode? whenFalse)
5658public BoundSwitchSection(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundSwitchLabel> switchLabels, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
5670public ImmutableArray<LocalSymbol> Locals { get; }
5671public ImmutableArray<BoundSwitchLabel> SwitchLabels { get; }
5676public BoundSwitchSection Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundSwitchLabel> switchLabels, ImmutableArray<BoundStatement> statements)
5765public BoundSequence(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression value, TypeSymbol type, bool hasErrors = false)
5780public ImmutableArray<LocalSymbol> Locals { get; }
5781public ImmutableArray<BoundExpression> SideEffects { get; }
5787public BoundSequence Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression value, TypeSymbol type)
5801public BoundSpillSequence(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression value, TypeSymbol type, bool hasErrors = false)
5816public ImmutableArray<LocalSymbol> Locals { get; }
5817public ImmutableArray<BoundStatement> SideEffects { get; }
5823public BoundSpillSequence Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression value, TypeSymbol type)
5837public BoundDynamicMemberAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, bool invoked, bool indexed, TypeSymbol type, bool hasErrors = false)
5854public ImmutableArray<TypeWithAnnotations> TypeArgumentsOpt { get; }
5862public BoundDynamicMemberAccess Update(BoundExpression receiver, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, bool invoked, bool indexed, TypeSymbol type)
5876protected BoundDynamicInvocableBase(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol? type, bool hasErrors = false)
5888public ImmutableArray<BoundExpression> Arguments { get; }
5893public BoundDynamicInvocation(SyntaxNode syntax, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type, bool hasErrors = false)
5908public ImmutableArray<string?> ArgumentNamesOpt { get; }
5909public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
5910public ImmutableArray<MethodSymbol> ApplicableMethods { get; }
5915public BoundDynamicInvocation Update(ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type)
6074public 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)
6090public ImmutableArray<TypeWithAnnotations> TypeArgumentsOpt { get; }
6092public ImmutableArray<MethodSymbol> Methods { get; }
6101public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind)
6115public BoundPropertyGroup(SyntaxNode syntax, ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false)
6124public ImmutableArray<PropertySymbol> Properties { get; }
6129public BoundPropertyGroup Update(ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt, LookupResultKind resultKind)
6143public 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)
6170public ImmutableArray<BoundExpression> Arguments { get; }
6171public ImmutableArray<string?> ArgumentNamesOpt { get; }
6172public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6176public ImmutableArray<int> ArgsToParamsOpt { get; }
6179public ImmutableArray<MethodSymbol> OriginalMethodsOpt { get; }
6184public 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)
6237public 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)
6257public ImmutableArray<BoundExpression> ConstructorArguments { get; }
6258public ImmutableArray<string?> ConstructorArgumentNamesOpt { get; }
6259public ImmutableArray<int> ConstructorArgumentsToParamsOpt { get; }
6262public ImmutableArray<BoundAssignmentOperator> NamedArguments { get; }
6268public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type)
6282public BoundUnconvertedObjectCreationExpression(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder, bool hasErrors = false)
6297public ImmutableArray<BoundExpression> Arguments { get; }
6298public ImmutableArray<(string Name, Location Location)?> ArgumentNamesOpt { get; }
6299public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6306public BoundUnconvertedObjectCreationExpression Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder)
6341public 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)
6364public ImmutableArray<MethodSymbol> ConstructorsGroup { get; }
6365public override ImmutableArray<BoundExpression> Arguments { get; }
6366public override ImmutableArray<string?> ArgumentNamesOpt { get; }
6367public override ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6369public override ImmutableArray<int> ArgsToParamsOpt { get; }
6378public 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)
6392protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6401public ImmutableArray<BoundNode> Elements { get; }
6406public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6419public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements)
6433public 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)
6464public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6546protected BoundTupleExpression(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6557public ImmutableArray<BoundExpression> Arguments { get; }
6558public ImmutableArray<string?> ArgumentNamesOpt { get; }
6559public ImmutableArray<bool> InferredNamesOpt { get; }
6564public BoundTupleLiteral(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6577public BoundTupleLiteral Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type)
6591public BoundConvertedTupleLiteral(SyntaxNode syntax, BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6607public BoundConvertedTupleLiteral Update(BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type)
6621public 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)
6640public override ImmutableArray<BoundExpression> Arguments { get; }
6641public override ImmutableArray<string?> ArgumentNamesOpt { get; }
6642public override ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6644public ImmutableArray<MethodSymbol> ApplicableMethods { get; }
6650public BoundDynamicObjectCreationExpression Update(string name, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, ImmutableArray<MethodSymbol> applicableMethods, bool wasTargetTyped, TypeSymbol type)
6696protected BoundObjectInitializerExpressionBase(BoundKind kind, SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6710public ImmutableArray<BoundExpression> Initializers { get; }
6715public BoundObjectInitializerExpression(SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6729public BoundObjectInitializerExpression Update(BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type)
6743public 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)
6765public ImmutableArray<BoundExpression> Arguments { get; }
6766public ImmutableArray<string?> ArgumentNamesOpt { get; }
6767public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
6769public ImmutableArray<int> ArgsToParamsOpt { get; }
6778public 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)
6837public BoundCollectionInitializerExpression(SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6851public BoundCollectionInitializerExpression Update(BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type)
6865public 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)
6885public ImmutableArray<BoundExpression> Arguments { get; }
6888public ImmutableArray<int> ArgsToParamsOpt { get; }
6896public BoundCollectionElementInitializer Update(MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod, LookupResultKind resultKind, TypeSymbol type)
6910public BoundDynamicCollectionElementInitializer(SyntaxNode syntax, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type, bool hasErrors = false)
6923public ImmutableArray<MethodSymbol> ApplicableMethods { get; }
6928public BoundDynamicCollectionElementInitializer Update(ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type)
6977public BoundAnonymousObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<BoundAnonymousPropertyDeclaration> declarations, TypeSymbol type, bool hasErrors = false)
6993public ImmutableArray<BoundExpression> Arguments { get; }
6994public ImmutableArray<BoundAnonymousPropertyDeclaration> Declarations { get; }
6999public BoundAnonymousObjectCreationExpression Update(MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<BoundAnonymousPropertyDeclaration> declarations, TypeSymbol type)
7119public BoundArrayCreation(SyntaxNode syntax, ImmutableArray<BoundExpression> bounds, BoundArrayInitialization? initializerOpt, TypeSymbol type, bool hasErrors = false)
7131public ImmutableArray<BoundExpression> Bounds { get; }
7137public BoundArrayCreation Update(ImmutableArray<BoundExpression> bounds, BoundArrayInitialization? initializerOpt, TypeSymbol type)
7151public BoundArrayInitialization(SyntaxNode syntax, bool isInferred, ImmutableArray<BoundExpression> initializers, bool hasErrors = false)
7163public ImmutableArray<BoundExpression> Initializers { get; }
7168public BoundArrayInitialization Update(bool isInferred, ImmutableArray<BoundExpression> initializers)
7411public 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)
7436public ImmutableArray<BoundExpression> Arguments { get; }
7437public ImmutableArray<string?> ArgumentNamesOpt { get; }
7438public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
7441public ImmutableArray<int> ArgsToParamsOpt { get; }
7443public ImmutableArray<PropertySymbol> OriginalIndexersOpt { get; }
7448public 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)
7462public BoundImplicitIndexerAccess(SyntaxNode syntax, BoundExpression receiver, BoundExpression argument, BoundExpression lengthOrCountAccess, BoundImplicitIndexerReceiverPlaceholder receiverPlaceholder, BoundExpression indexerOrSliceAccess, ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders, TypeSymbol type, bool hasErrors = false)
7492public ImmutableArray<BoundImplicitIndexerValuePlaceholder> ArgumentPlaceholders { get; }
7497public BoundImplicitIndexerAccess Update(BoundExpression receiver, BoundExpression argument, BoundExpression lengthOrCountAccess, BoundImplicitIndexerReceiverPlaceholder receiverPlaceholder, BoundExpression indexerOrSliceAccess, ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders, TypeSymbol type)
7552public BoundDynamicIndexerAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<PropertySymbol> applicableIndexers, TypeSymbol type, bool hasErrors = false)
7570public ImmutableArray<BoundExpression> Arguments { get; }
7571public ImmutableArray<string?> ArgumentNamesOpt { get; }
7572public ImmutableArray<RefKind> ArgumentRefKindsOpt { get; }
7573public ImmutableArray<PropertySymbol> ApplicableIndexers { get; }
7578public BoundDynamicIndexerAccess Update(BoundExpression receiver, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<PropertySymbol> applicableIndexers, TypeSymbol type)
7717public BoundTypeOrInstanceInitializers(SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
7729public new BoundTypeOrInstanceInitializers Update(ImmutableArray<BoundStatement> statements)
7776protected BoundInterpolatedStringBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7786public ImmutableArray<BoundExpression> Parts { get; }
7792public BoundUnconvertedInterpolatedString(SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7804public BoundUnconvertedInterpolatedString Update(ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type)
7818public BoundInterpolatedString(SyntaxNode syntax, InterpolatedStringHandlerData? interpolationData, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7832public BoundInterpolatedString Update(InterpolatedStringHandlerData? interpolationData, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type)
8135public 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)
8151public ImmutableArray<BoundPositionalSubpattern> Deconstruction { get; }
8152public ImmutableArray<BoundPropertySubpattern> Properties { get; }
8158public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8172public 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)
8192public ImmutableArray<BoundPattern> Subpatterns { get; }
8202public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8255public BoundITuplePattern(SyntaxNode syntax, MethodSymbol getLengthMethod, MethodSymbol getItemMethod, ImmutableArray<BoundPositionalSubpattern> subpatterns, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8272public ImmutableArray<BoundPositionalSubpattern> Subpatterns { get; }
8277public BoundITuplePattern Update(MethodSymbol getLengthMethod, MethodSymbol getItemMethod, ImmutableArray<BoundPositionalSubpattern> subpatterns, TypeSymbol inputType, TypeSymbol narrowedType)
8730public BoundConstructorMethodBody(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false)
8740public ImmutableArray<LocalSymbol> Locals { get; }
8746public BoundConstructorMethodBody Update(ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody)
10898ImmutableArray<BoundExpression> childBoundNodes = this.VisitList(node.ChildBoundNodes);
10904ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes);
10915ImmutableArray<BoundExpression> boundDimensionsOpt = this.VisitList(node.BoundDimensionsOpt);
10981ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11099ImmutableArray<BoundExpression> indices = this.VisitList(node.Indices);
11257ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11286ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11291ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11303ImmutableArray<BoundExpression> argumentsOpt = this.VisitList(node.ArgumentsOpt);
11308ImmutableArray<BoundLocalDeclaration> localDeclarations = this.VisitList(node.LocalDeclarations);
11314ImmutableArray<BoundLocalDeclaration> localDeclarations = this.VisitList(node.LocalDeclarations);
11350ImmutableArray<BoundSwitchSection> switchSections = this.VisitList(node.SwitchSections);
11428ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks);
11511ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11529ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
11537ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
11655ImmutableArray<BoundSwitchLabel> switchLabels = this.VisitList(node.SwitchLabels);
11656ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
11673ImmutableArray<BoundExpression> sideEffects = this.VisitList(node.SideEffects);
11680ImmutableArray<BoundStatement> sideEffects = this.VisitList(node.SideEffects);
11694ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11740ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11753ImmutableArray<BoundExpression> constructorArguments = this.VisitList(node.ConstructorArguments);
11754ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
11760ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11766ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11773ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11784ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11805ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11812ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11818ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11832ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
11838ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11852ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
11858ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11866ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11877ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11878ImmutableArray<BoundAnonymousPropertyDeclaration> declarations = this.VisitList(node.Declarations);
11901ImmutableArray<BoundExpression> bounds = this.VisitList(node.Bounds);
11908ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
11954ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
11965ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders = node.ArgumentPlaceholders;
11979ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
12006ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
12017ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
12023ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
12077ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction);
12078ImmutableArray<BoundPropertySubpattern> properties = this.VisitList(node.Properties);
12086ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns);
12108ImmutableArray<BoundPositionalSubpattern> subpatterns = this.VisitList(node.Subpatterns);
12231ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
12239ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
12247ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
12449ImmutableArray<Symbol?> symbols = GetUpdatedArray(node, node.Symbols);
12450ImmutableArray<BoundExpression> childBoundNodes = this.VisitList(node.ChildBoundNodes);
12468ImmutableArray<BoundExpression> boundDimensionsOpt = this.VisitList(node.BoundDimensionsOpt);
12511ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt = GetUpdatedArray(node, node.OriginalUserDefinedOperatorsOpt);
12531ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt = GetUpdatedArray(node, node.OriginalUserDefinedOperatorsOpt);
12641ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
12765ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt = GetUpdatedArray(node, node.OriginalUserDefinedOperatorsOpt);
12902ImmutableArray<BoundExpression> indices = this.VisitList(node.Indices);
13267ImmutableArray<MethodSymbol> originalUserDefinedConversionsOpt = GetUpdatedArray(node, node.OriginalUserDefinedConversionsOpt);
13315ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
13353ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13354ImmutableArray<LocalFunctionSymbol> localFunctions = GetUpdatedArray(node, node.LocalFunctions);
13356ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
13362ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13363ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
13369ImmutableArray<StateMachineFieldSymbol> fields = GetUpdatedArray(node, node.Fields);
13379ImmutableArray<BoundExpression> argumentsOpt = this.VisitList(node.ArgumentsOpt);
13393ImmutableArray<LocalSymbol> innerLocals = GetUpdatedArray(node, node.InnerLocals);
13394ImmutableArray<LocalFunctionSymbol> innerLocalFunctions = GetUpdatedArray(node, node.InnerLocalFunctions);
13396ImmutableArray<BoundSwitchSection> switchSections = this.VisitList(node.SwitchSections);
13404ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13412ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13420ImmutableArray<LocalSymbol> outerLocals = GetUpdatedArray(node, node.OuterLocals);
13421ImmutableArray<LocalSymbol> innerLocals = GetUpdatedArray(node, node.InnerLocals);
13431ImmutableArray<LocalSymbol> iterationVariables = GetUpdatedArray(node, node.IterationVariables);
13445ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13455ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13463ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13627ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13637ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
13657ImmutableArray<BoundSwitchExpressionArm> switchArms = this.VisitList(node.SwitchArms);
13725ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13726ImmutableArray<BoundSwitchLabel> switchLabels = this.VisitList(node.SwitchLabels);
13727ImmutableArray<BoundStatement> statements = this.VisitList(node.Statements);
13750ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13751ImmutableArray<BoundExpression> sideEffects = this.VisitList(node.SideEffects);
13769ImmutableArray<LocalSymbol> locals = GetUpdatedArray(node, node.Locals);
13770ImmutableArray<BoundStatement> sideEffects = this.VisitList(node.SideEffects);
13805ImmutableArray<MethodSymbol> applicableMethods = GetUpdatedArray(node, node.ApplicableMethods);
13807ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
13892ImmutableArray<MethodSymbol> methods = GetUpdatedArray(node, node.Methods);
13912ImmutableArray<PropertySymbol> properties = GetUpdatedArray(node, node.Properties);
13931ImmutableArray<MethodSymbol> originalMethodsOpt = GetUpdatedArray(node, node.OriginalMethodsOpt);
13933ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
13970ImmutableArray<BoundExpression> constructorArguments = this.VisitList(node.ConstructorArguments);
13971ImmutableArray<BoundAssignmentOperator> namedArguments = this.VisitList(node.NamedArguments);
13988ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14006ImmutableArray<MethodSymbol> constructorsGroup = GetUpdatedArray(node, node.ConstructorsGroup);
14007ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14025ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14048ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14077ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14095ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14112ImmutableArray<MethodSymbol> applicableMethods = GetUpdatedArray(node, node.ApplicableMethods);
14113ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14149ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
14168ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14203ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
14221ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14239ImmutableArray<MethodSymbol> applicableMethods = GetUpdatedArray(node, node.ApplicableMethods);
14241ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14271ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14272ImmutableArray<BoundAnonymousPropertyDeclaration> declarations = this.VisitList(node.Declarations);
14341ImmutableArray<BoundExpression> bounds = this.VisitList(node.Bounds);
14359ImmutableArray<BoundExpression> initializers = this.VisitList(node.Initializers);
14486ImmutableArray<PropertySymbol> originalIndexersOpt = GetUpdatedArray(node, node.OriginalIndexersOpt);
14488ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14523ImmutableArray<PropertySymbol> applicableIndexers = GetUpdatedArray(node, node.ApplicableIndexers);
14525ImmutableArray<BoundExpression> arguments = this.VisitList(node.Arguments);
14616ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
14633ImmutableArray<BoundExpression> parts = this.VisitList(node.Parts);
14742ImmutableArray<BoundPositionalSubpattern> deconstruction = this.VisitList(node.Deconstruction);
14743ImmutableArray<BoundPropertySubpattern> properties = this.VisitList(node.Properties);
14753ImmutableArray<BoundPattern> subpatterns = this.VisitList(node.Subpatterns);
14779ImmutableArray<BoundPositionalSubpattern> subpatterns = this.VisitList(node.Subpatterns);
14914ImmutableArray<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 (8)
312private BoundExpression Indices(ImmutableArray<BoundExpression> expressions)
328private BoundExpression Expressions(ImmutableArray<BoundExpression> expressions)
353return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType);
384return new BoundBadExpression(node.Syntax, 0, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType);
1007return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1014return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1046return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1100private BoundExpression ExprFactory(string name, ImmutableArray<TypeSymbol> typeArgs, params BoundExpression[] arguments)
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)
28var loweredArguments = VisitList(node.Arguments);
32ImmutableArray<TypeWithAnnotations> typeArguments;
98private void EmbedIfNeedTo(BoundExpression receiver, ImmutableArray<MethodSymbol> methods, SyntaxNode syntaxNode)
117private void EmbedIfNeedTo(BoundExpression receiver, ImmutableArray<PropertySymbol> properties, SyntaxNode syntaxNode)
139ref ImmutableArray<BoundExpression> arguments,
140ref ImmutableArray<RefKind> argumentRefKindsOpt,
385ImmutableArray<int> argsToParamsOpt = node.ArgsToParamsOpt;
386ImmutableArray<RefKind> argRefKindsOpt = node.ArgumentRefKindsOpt;
387ImmutableArray<BoundExpression> arguments = node.Arguments;
400var rewrittenArguments = VisitArgumentsAndCaptureReceiverIfNeeded(
443ImmutableArray<BoundExpression> rewrittenArguments,
444ImmutableArray<RefKind> argumentRefKinds,
446ImmutableArray<LocalSymbol> temps)
480argumentNamesOpt: default(ImmutableArray<string?>),
485argsToParamsOpt: default(ImmutableArray<int>),
497argumentNamesOpt: default(ImmutableArray<string?>),
502argsToParamsOpt: default(ImmutableArray<int>),
515sideEffects: ImmutableArray<BoundExpression>.Empty,
523private BoundExpression MakeCall(SyntaxNode syntax, BoundExpression? rewrittenReceiver, MethodSymbol method, ImmutableArray<BoundExpression> rewrittenArguments)
531argumentRefKinds: default(ImmutableArray<RefKind>),
654private ImmutableArray<BoundExpression> VisitArgumentsAndCaptureReceiverIfNeeded(
657ImmutableArray<BoundExpression> arguments,
659ImmutableArray<int> argsToParamsOpt,
660ImmutableArray<RefKind> argumentRefKindsOpt,
722ImmutableArray<BoundExpression> rewrittenArguments;
732var parameters = methodOrIndexer.GetParameters();
749ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> argumentPlaceholders = addInterpolationPlaceholderReplacements(
808ImmutableArray<LocalSymbol>.Empty,
826ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> addInterpolationPlaceholderReplacements(
827ImmutableArray<ParameterSymbol> parameters,
885visitedArgumentsBuilder[argIndex] = _factory.Sequence(ImmutableArray<LocalSymbol>.Empty, ImmutableArray.Create<BoundExpression>(store), local);
904return ImmutableArray<BoundInterpolatedStringArgumentPlaceholder>.Empty;
998private ImmutableArray<BoundExpression> MakeArguments(
999ImmutableArray<BoundExpression> rewrittenArguments,
1002ImmutableArray<int> argsToParamsOpt,
1003ref ImmutableArray<RefKind> argumentRefKindsOpt,
1017ImmutableArray<ParameterSymbol> parameters = methodOrIndexer.GetParameters();
1156private static ImmutableArray<RefKind> GetEffectiveArgumentRefKinds(ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<ParameterSymbol> parameters)
1191static void fillRefKindsBuilder(ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<ParameterSymbol> parameters, [NotNull] ref ArrayBuilder<RefKind>? refKindsBuilder)
1211ImmutableArray<BoundExpression> rewrittenArguments,
1213ImmutableArray<int> argsToParamsOpt,
1244private static ImmutableArray<RefKind> GetRefKindsOrNull(ArrayBuilder<RefKind> refKinds)
1253return default(ImmutableArray<RefKind>);
1304ImmutableArray<int> argsToParamsOpt,
1305ImmutableArray<ParameterSymbol> parameters,
1306ImmutableArray<RefKind> argumentRefKinds,
1307ImmutableArray<BoundExpression> rewrittenArguments,
1441ImmutableArray<BoundExpression>.Empty,
1442default(ImmutableArray<string?>),
1443default(ImmutableArray<RefKind>),
1447argsToParamsOpt: default(ImmutableArray<int>),
1580ImmutableArray<LocalSymbol>.Empty,
1601ImmutableArray<ParameterSymbol> parameters,
1644locals: ImmutableArray<LocalSymbol>.Empty,
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (17)
101var elements = node.Elements;
251var elements = node.Elements;
329var elements = node.Elements;
399var elements = node.Elements;
418var typeArgs = ImmutableArray.Create(elementType);
528ImmutableArray<BoundNode> elements,
601locals: ImmutableArray<LocalSymbol>.Empty,
642var elements = node.Elements;
973private BoundExpression CreateAndPopulateList(BoundCollectionExpression node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements)
977var typeArguments = ImmutableArray.Create(elementType);
1035rewrittenReceiver = _factory.New(constructor, ImmutableArray<BoundExpression>.Empty);
1162ImmutableArray<BoundNode> elements,
1178ImmutableArray<BoundNode> elements,
1211new BoundBlock(iteratorBody.Syntax, locals: ImmutableArray<LocalSymbol>.Empty, statements);
1222private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions)
1296var iterationVariables = ImmutableArray.Create(iterationVariable);
1368ImmutableArray<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)
75private InterpolationHandlerResult RewriteToInterpolatedStringHandlerPattern(InterpolatedStringHandlerData data, ImmutableArray<BoundExpression> parts, SyntaxNode syntax)
368private BoundExpression LowerPartsToString(InterpolatedStringHandlerData data, ImmutableArray<BoundExpression> parts, SyntaxNode syntax, TypeSymbol type)
377: new BoundBadExpression(syntax, LookupResultKind.Empty, symbols: ImmutableArray<Symbol?>.Empty, childBoundNodes: ImmutableArray<BoundExpression>.Empty, type);
383private static void AssertNoImplicitInterpolatedStringHandlerConversions(ImmutableArray<BoundExpression> arguments, bool allowConversionsWithNoContext = false)
406private readonly ImmutableArray<BoundStatement> _statements;
407private readonly ImmutableArray<BoundExpression> _expressions;
413public InterpolationHandlerResult(ImmutableArray<BoundStatement> statements, BoundLocal handlerTemp, LocalSymbol outTemp, LocalRewriter rewriter)
422public InterpolationHandlerResult(ImmutableArray<BoundExpression> expressions, BoundLocal handlerTemp, LocalSymbol? outTemp, LocalRewriter rewriter)
434var 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 (68)
105ImmutableArray<BoundExpression> args,
107ImmutableArray<TypeSymbol> typeArgs = default(ImmutableArray<TypeSymbol>),
121typeArgs: typeArgs.IsDefault ? default(ImmutableArray<TypeWithAnnotations>) : typeArgs.SelectAsArray(t => TypeWithAnnotations.Create(t)),
284return new BoundBadExpression(Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, type, hasErrors: true);
496return Block(ImmutableArray<BoundStatement>.Empty);
499public BoundBlock Block(ImmutableArray<BoundStatement> statements)
501return Block(ImmutableArray<LocalSymbol>.Empty, statements);
509public BoundBlock Block(ImmutableArray<LocalSymbol> locals, params BoundStatement[] statements)
514public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements)
519public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, params BoundStatement[] statements)
524public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, ImmutableArray<BoundStatement> statements)
536return StatementList(ImmutableArray<BoundStatement>.Empty);
539public BoundStatementList StatementList(ImmutableArray<BoundStatement> statements)
584statements.Add(Try(Block(statement), ImmutableArray<BoundCatchBlock>.Empty, Block(instrumentation.Epilogue)));
791public BoundObjectCreationExpression New(NamedTypeSymbol type, ImmutableArray<BoundExpression> args)
797public BoundObjectCreationExpression New(MethodSymbol ctor, ImmutableArray<BoundExpression> args)
800public BoundObjectCreationExpression New(MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKinds)
815public BoundObjectCreationExpression New(WellKnownMember wm, ImmutableArray<BoundExpression> args)
841public BoundExpression StaticCall(TypeSymbol receiver, string name, bool disallowExpandedNonArrayParams, ImmutableArray<BoundExpression> args, bool ignoreNormalFormIfHasValidParamsParameter)
847public BoundExpression StaticCall(BinderFlags flags, TypeSymbol receiver, string name, bool disallowExpandedNonArrayParams, ImmutableArray<TypeSymbol> typeArgs, params BoundExpression[] args)
856return new BoundBadExpression(Syntax, default(LookupResultKind), ImmutableArray<Symbol?>.Empty, args.AsImmutable(), receiver);
862public BoundExpression StaticCall(MethodSymbol method, ImmutableArray<BoundExpression> args)
882return Call(receiver, method, ImmutableArray<BoundExpression>.Empty);
903public BoundCall Call(BoundExpression? receiver, MethodSymbol method, ImmutableArray<BoundExpression> args, bool useStrictArgumentRefKinds = false)
909argumentNamesOpt: default(ImmutableArray<string?>), argumentRefKindsOpt: getArgumentRefKinds(method, useStrictArgumentRefKinds), isDelegateCall: false, expanded: false,
910invokedAsExtensionMethod: false, argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector), resultKind: LookupResultKind.Viable,
914static ImmutableArray<RefKind> getArgumentRefKinds(MethodSymbol method, bool useStrictArgumentRefKinds)
916var result = method.ParameterRefKinds;
940public BoundCall Call(BoundExpression? receiver, MethodSymbol method, ImmutableArray<RefKind> refKinds, ImmutableArray<BoundExpression> args)
945argumentNamesOpt: default(ImmutableArray<String?>), argumentRefKindsOpt: refKinds, isDelegateCall: false, expanded: false, invokedAsExtensionMethod: false,
946argsToParamsOpt: ImmutableArray<int>.Empty, defaultArguments: default(BitVector), resultKind: LookupResultKind.Viable, type: method.ReturnType)
972return If(condition, ImmutableArray<LocalSymbol>.Empty, thenClause, elseClauseOpt);
980public BoundStatement If(BoundExpression condition, ImmutableArray<LocalSymbol> locals, BoundStatement thenClause, BoundStatement? elseClauseOpt = null)
1048return MakeSequence(ImmutableArray<LocalSymbol>.Empty, parts);
1051public BoundExpression MakeSequence(ImmutableArray<LocalSymbol> locals, params BoundExpression[] parts)
1077return new BoundSequence(Syntax, ImmutableArray<LocalSymbol>.Empty, sideEffects.AsImmutableOrNull(), result, resultType) { WasCompilerGenerated = true };
1080public BoundExpression Sequence(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression result)
1089public BoundSpillSequence SpillSequence(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression result)
1100public readonly ImmutableArray<int> Values;
1101public readonly ImmutableArray<BoundStatement> Statements;
1103public SyntheticSwitchSection(ImmutableArray<int> values, ImmutableArray<BoundStatement> statements)
1113public SyntheticSwitchSection SwitchSection(ImmutableArray<int> values, params BoundStatement[] statements)
1119public BoundStatement Switch(BoundExpression ex, ImmutableArray<SyntheticSwitchSection> sections)
1158private static void CheckSwitchSections(ImmutableArray<SyntheticSwitchSection> sections)
1224ImmutableArray<BoundExpression> firstElementIndices = ArrayBuilder<BoundExpression>.GetInstance(rank, Literal(0)).ToImmutableAndFree();
1233public BoundArrayAccess ArrayAccess(BoundExpression array, ImmutableArray<BoundExpression> indices)
1335public ImmutableArray<BoundExpression> TypeOfs(ImmutableArray<TypeWithAnnotations> typeArguments, TypeSymbol systemType)
1587public BoundExpression ArrayOrEmpty(TypeSymbol elementType, ImmutableArray<BoundExpression> elements)
1602public BoundExpression Array(TypeSymbol elementType, ImmutableArray<BoundExpression> elements)
1633ImmutableArray<BoundCatchBlock> catchBlocks,
1640internal ImmutableArray<BoundCatchBlock> CatchBlocks(
1658return new BoundCatchBlock(Syntax, ImmutableArray<LocalSymbol>.Empty, source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false);
1663return new BoundTryStatement(Syntax, tryBlock, ImmutableArray<BoundCatchBlock>.Empty, faultBlock, finallyLabelOpt: null, preferFaultHandler: true);
1782internal ImmutableArray<BoundExpression> MakeTempsForDiscardArguments(ImmutableArray<BoundExpression> arguments, ArrayBuilder<LocalSymbol> builder)
1900locals: 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)
2257ImmutableArray<IInterpolatedStringContentOperation> parts = CreateBoundInterpolatedStringContentOperation(boundInterpolatedString.Parts, positionInfo ?? boundInterpolatedString.InterpolationData?.PositionInfo[0]);
2265internal ImmutableArray<IInterpolatedStringContentOperation> CreateBoundInterpolatedStringContentOperation(ImmutableArray<BoundExpression> parts, ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)>? positionInfo)
2269ImmutableArray<IInterpolatedStringContentOperation> createNonHandlerInterpolatedStringContent()
2287ImmutableArray<IInterpolatedStringContentOperation> createHandlerInterpolatedStringContent(ImmutableArray<(bool IsLiteral, bool HasAlignment, bool HasFormat)> positionInfo)
2371static (BoundExpression Value, BoundExpression? Alignment, BoundExpression? Format) getCallInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, (bool IsLiteral, bool HasAlignment, bool HasFormat) currentPosition)
2483return new InvalidOperation(ImmutableArray<IOperation>.Empty, _semanticModel, syntax, type, placeholder.ConstantValueOpt, isImplicit);
2550ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundRecursivePattern.Deconstruction is { IsDefault: false } deconstructions
2552: ImmutableArray<IPatternOperation>.Empty;
2553ImmutableArray<IPropertySubpatternOperation> propertySubpatterns = boundRecursivePattern.Properties is { IsDefault: false } properties
2555: ImmutableArray<IPropertySubpatternOperation>.Empty;
2571ImmutableArray<IPatternOperation> deconstructionSubpatterns = boundITuplePattern.Subpatterns is { IsDefault: false } subpatterns
2573: ImmutableArray<IPatternOperation>.Empty;
2579propertySubpatterns: ImmutableArray<IPropertySubpatternOperation>.Empty,
2681ImmutableArray<ISwitchCaseOperation> cases = CreateFromArray<BoundSwitchSection, ISwitchCaseOperation>(boundSwitchStatement.SwitchSections);
2682ImmutableArray<ILocalSymbol> locals = boundSwitchStatement.InnerLocals.GetPublicSymbols();
2691ImmutableArray<ICaseClauseOperation> clauses = CreateFromArray<BoundSwitchLabel, ICaseClauseOperation>(boundSwitchSection.SwitchLabels);
2692ImmutableArray<IOperation> body = CreateFromArray<BoundStatement, IOperation>(boundSwitchSection.Statements);
2693ImmutableArray<ILocalSymbol> locals = boundSwitchSection.Locals.GetPublicSymbols();
2701ImmutableArray<ISwitchExpressionArmOperation> arms = CreateFromArray<BoundSwitchExpressionArm, ISwitchExpressionArmOperation>(boundSwitchExpression.SwitchArms);
2855var reference = OperationFactory.CreateInvalidOperation(_semanticModel, subpatternSyntax, ImmutableArray<IOperation>.Empty, isImplicit: true);
2877matchedType: previousType, deconstructSymbol: null, deconstructionSubpatterns: ImmutableArray<IPatternOperation>.Empty,
2901reference = new PropertyReferenceOperation(property.GetPublicSymbol(), constrainedToType: null, ImmutableArray<IArgumentOperation>.Empty,
2909reference = OperationFactory.CreateInvalidOperation(_semanticModel, nameSyntax, ImmutableArray<IOperation>.Empty, isImplicit: false);
2934private ImmutableArray<IArgumentOperation> CreateDisposeArguments(MethodArgumentInfo patternDisposeInfo)
2941return ImmutableArray<IArgumentOperation>.Empty;
2944var 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)
30private static readonly Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> s_emptyNestedTypes =
31new Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>>(EmptyReadOnlyMemoryOfCharComparer.Instance);
52private ImmutableArray<Symbol> _lazyMembersInDeclarationOrder;
58private Dictionary<string, ImmutableArray<Symbol>> _lazyMembersByName;
64private Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> _lazyNestedTypes;
74private ImmutableArray<NamedTypeSymbol> _lazyInterfaces = default(ImmutableArray<NamedTypeSymbol>);
76private ImmutableArray<NamedTypeSymbol> _lazyDeclaredInterfaces = default(ImmutableArray<NamedTypeSymbol>);
132internal ImmutableArray<PEFieldSymbol> lazyInstanceEnumFields;
136internal ImmutableArray<CSharpAttributeData> lazyCustomAttributes;
137internal ImmutableArray<string> lazyConditionalAttributeSymbols;
150internal ImmutableArray<byte> lazyFilePathChecksum = default;
483internal override ImmutableArray<NamedTypeSymbol> InterfacesNoUseSiteDiagnostics(ConsList<TypeSymbol> basesBeingResolved = null)
487ImmutableInterlocked.InterlockedCompareExchange(ref _lazyInterfaces, MakeAcyclicInterfaces(), default(ImmutableArray<NamedTypeSymbol>));
493internal override ImmutableArray<NamedTypeSymbol> GetInterfacesToEmit()
530internal override ImmutableArray<NamedTypeSymbol> GetDeclaredInterfaces(ConsList<TypeSymbol> basesBeingResolved)
534ImmutableInterlocked.InterlockedCompareExchange(ref _lazyDeclaredInterfaces, MakeDeclaredInterfaces(), default(ImmutableArray<NamedTypeSymbol>));
562private ImmutableArray<NamedTypeSymbol> MakeDeclaredInterfaces()
590return ImmutableArray<NamedTypeSymbol>.Empty;
694public override ImmutableArray<CSharpAttributeData> GetAttributes()
699return ImmutableArray<CSharpAttributeData>.Empty;
704var loadedCustomAttributes = ContainingPEModule.GetCustomAttributesForToken(
898public override ImmutableArray<Symbol> GetMembers()
952ImmutableArray<Symbol> staticFields = GetMembers();
1062ImmutableArray<Symbol> members = GetMembers();
1165internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers()
1170internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name)
1393foreach (var typeArray in _lazyNestedTypes.Values)
1422var peMembers = members.ToImmutableAndFree();
1429var membersInDeclarationOrder = members.ToImmutable();
1458Dictionary<string, ImmutableArray<Symbol>> membersDict = GroupByName(members);
1491internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name)
1495ImmutableArray<Symbol> m;
1498m = ImmutableArray<Symbol>.Empty;
1504public override ImmutableArray<Symbol> GetMembers(string name)
1508ImmutableArray<Symbol> m;
1511m = ImmutableArray<Symbol>.Empty;
1515ImmutableArray<PENamedTypeSymbol> t;
1533var candidates = this.GetMembers(FixedFieldImplementationType.FixedElementFieldName);
1543internal override ImmutableArray<NamedTypeSymbol> GetTypeMembersUnordered()
1548public override ImmutableArray<NamedTypeSymbol> GetTypeMembers()
1554private ImmutableArray<NamedTypeSymbol> GetMemberTypesPrivate()
1557foreach (var typeArray in _lazyNestedTypes.Values)
1585public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name)
1589ImmutableArray<PENamedTypeSymbol> t;
1596return ImmutableArray<NamedTypeSymbol>.Empty;
1599public override ImmutableArray<NamedTypeSymbol> GetTypeMembers(ReadOnlyMemory<char> name, int arity)
1604public override ImmutableArray<Location> Locations
1612public override ImmutableArray<SyntaxReference> DeclaringSyntaxReferences
1616return ImmutableArray<SyntaxReference>.Empty;
1636internal override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotationsNoUseSiteDiagnostics
1640return ImmutableArray<TypeWithAnnotations>.Empty;
1644public override ImmutableArray<TypeParameterSymbol> TypeParameters
1648return ImmutableArray<TypeParameterSymbol>.Empty;
1841private ImmutableArray<NamedTypeSymbol> MakeAcyclicInterfaces()
1843var declaredInterfaces = GetDeclaredInterfaces(null);
1864ImmutableArray<TypeDefinitionHandle> nestedTypeDefs;
2085private static Dictionary<string, ImmutableArray<Symbol>> GroupByName(ArrayBuilder<Symbol> symbols)
2090private static Dictionary<ReadOnlyMemory<char>, ImmutableArray<PENamedTypeSymbol>> GroupByName(ArrayBuilder<PENamedTypeSymbol> symbols)
2370internal override ImmutableArray<string> GetAppliedConditionalSymbols()
2375return ImmutableArray<string>.Empty;
2380ImmutableArray<string> conditionalSymbols = this.ContainingPEModule.Module.GetConditionalAttributeValues(_handle);
2382ImmutableInterlocked.InterlockedCompareExchange(ref uncommon.lazyConditionalAttributeSymbols, conditionalSymbols, default(ImmutableArray<string>));
2439private static int GetIndexOfFirstMember(ImmutableArray<Symbol> members, SymbolKind kind)
2456private static IEnumerable<TSymbol> GetMembers<TSymbol>(ImmutableArray<Symbol> members, SymbolKind kind, int offset = -1)
2613private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters;
2633_lazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty;
2667internal override ImmutableArray<TypeWithAnnotations> TypeArgumentsWithAnnotationsNoUseSiteDiagnostics
2676public override ImmutableArray<TypeParameterSymbol> TypeParameters
2743var containingTypeParameters = container.GetAllTypeParameters();
2757var 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
345ImmutableArray<LocalSymbol>.Empty,
473ImmutableArray<ParameterSymbol> implParameters = this.ContainingSymbol switch
494ImmutableArray<ParameterSymbol> defParameters = this.ContainingSymbol switch
616public ImmutableArray<(CSharpAttributeData, BoundAttribute)> BindParameterAttributes()
689var parameters = ContainingSymbol.GetParameters();
886var arguments = attribute.CommonConstructorArguments;
1263ImmutableArray<ParameterSymbol> containingSymbolParameters = ContainingSymbol.GetParameters();
1265ImmutableArray<int> parameterOrdinals;
1388internal override void PostDecodeWellKnownAttributes(ImmutableArray<CSharpAttributeData> boundAttributes, ImmutableArray<AttributeSyntax> allAttributeSyntaxNodes, BindingDiagnosticBag diagnostics, AttributeLocation symbolPart, WellKnownAttributeData decodedData)
1472var attributes = GetAttributes();
1515public abstract override ImmutableArray<CustomModifier> RefCustomModifiers { get; }
1588if (!binder.HasCollectionExpressionApplicableAddMethod(syntax, Type, out ImmutableArray<MethodSymbol> addMethods, diagnostics))
1709public override ImmutableArray<CustomModifier> RefCustomModifiers => ImmutableArray<CustomModifier>.Empty;
1714private readonly ImmutableArray<CustomModifier> _refCustomModifiers;
1722ImmutableArray<CustomModifier> refCustomModifiers,
1741public override ImmutableArray<CustomModifier> RefCustomModifiers => _refCustomModifiers;
Symbols\Source\SourceMemberContainerSymbol.cs (190)
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)
2426foreach (var valuesByName in GetMembersByName().Values)
2487ImmutableArray<MethodSymbol> ops1 = this.GetOperators(operatorName1);
2491var ops2 = this.GetOperators(operatorName2);
2497var ops2 = this.GetOperators(operatorName2);
2516ImmutableArray<MethodSymbol> ops1,
2517ImmutableArray<MethodSymbol> ops2,
2804private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> MakeAllMembers(BindingDiagnosticBag diagnostics)
2806Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName;
2830Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName,
2831Dictionary<ReadOnlyMemory<char>, ImmutableArray<NamedTypeSymbol>> typesByName)
2833foreach ((ReadOnlyMemory<char> name, ImmutableArray<NamedTypeSymbol> types) in typesByName)
2835ImmutableArray<Symbol> typesAsSymbols = StaticCast<Symbol>.From(types);
2837ImmutableArray<Symbol> membersForName;
2912public readonly ImmutableArray<Symbol> NonTypeMembers;
2913public readonly ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> StaticInitializers;
2914public readonly ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> InstanceInitializers;
2928ImmutableArray<Symbol> nonTypeMembers,
2929ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> staticInitializers,
2930ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> instanceInitializers,
2956public static void AssertInitializers(ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> initializers, CSharpCompilation compilation)
2964foreach (ImmutableArray<FieldOrPropertyInitializer> group in initializers)
3008var instanceInitializers = InstanceInitializersForPositionalMembers is null
3021ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> mergeInitializers()
3049ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>> groupsBuilder;
3056var declaredInitializers = declaredMembers.InstanceInitializers[insertAt];
3066groupsBuilder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(groupCount);
3076groupsBuilder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(groupCount + 1);
3083var result = groupsBuilder.ToImmutableAndFree();
3133internal static ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> ToReadOnlyAndFree(ArrayBuilder<ArrayBuilder<FieldOrPropertyInitializer>> initializers)
3138return ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>>.Empty;
3141var builder = ArrayBuilder<ImmutableArray<FieldOrPropertyInitializer>>.GetInstance(initializers.Count);
3251internal ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol> GetSimpleProgramEntryPoints()
3257var simpleProgramEntryPoints = buildSimpleProgramEntryPoint(diagnostics);
3270ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol> buildSimpleProgramEntryPoint(BindingDiagnosticBag diagnostics)
3275return ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol>.Empty;
3299return ImmutableArray<SynthesizedSimpleProgramEntryPointSymbol>.Empty;
3333ImmutableArray<Symbol> nonTypeMembersToCheck;
3379internal ImmutableArray<Symbol> GetMembersToMatchAgainstDeclarationSpan()
3395internal ImmutableArray<Symbol> GetCandidateMembersForLookup(string name)
3403ImmutableArray<Symbol> nonTypeMembersToCheck;
3426ImmutableArray<Symbol> types = GetTypeMembers(name).Cast<NamedTypeSymbol, Symbol>();
3573ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName,
3657void mergePartialMethods(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, ReadOnlyMemory<char> name, SourceOrdinaryMethodSymbol currentMethod, SourceOrdinaryMethodSymbol prevMethod, BindingDiagnosticBag diagnostics)
3678void mergePartialProperties(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, ReadOnlyMemory<char> name, SourcePropertySymbol currentProperty, SourcePropertySymbol prevProperty, BindingDiagnosticBag diagnostics)
3703void mergeAccessors(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, SourcePropertyAccessorSymbol? currentAccessor, SourcePropertyAccessorSymbol? prevAccessor)
3730private void DuplicateMembersByNameIfCached(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName)
3735membersByName = new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(membersByName, ReadOnlyMemoryOfCharComparer.Instance);
3740private static ImmutableArray<Symbol> FixPartialMethod(ImmutableArray<Symbol> symbols, SourceOrdinaryMethodSymbol part1, SourceOrdinaryMethodSymbol part2)
3762private static void FixPartialProperty(ref Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, ReadOnlyMemory<char> name, SourcePropertySymbol part1, SourcePropertySymbol part2)
3790private static ImmutableArray<Symbol> Remove(ImmutableArray<Symbol> symbols, Symbol symbol)
3909private static bool ParametersMatchPropertyAccessor(PropertySymbol propertySymbol, bool getNotSet, ImmutableArray<ParameterSymbol> methodParams)
3911var propertyParams = propertySymbol.Parameters;
3940private static bool ParametersMatchEventAccessor(EventSymbol eventSymbol, ImmutableArray<ParameterSymbol> methodParams)
4012private static void CheckInterfaceMembers(ImmutableArray<Symbol> nonTypeMembers, BindingDiagnosticBag diagnostics)
4127var simpleProgramEntryPoints = GetSimpleProgramEntryPoints();
4204var existingOrAddedMembers = addProperties(ctor.Parameters);
4255void addDeconstruct(SynthesizedPrimaryConstructor ctor, ImmutableArray<Symbol> positionalMembers)
4264ImmutableArray<TypeParameterSymbol>.Empty,
4266ImmutableArray<CustomModifier>.Empty,
4275ImmutableArray<CustomModifier>.Empty,
4276ImmutableArray<MethodSymbol>.Empty);
4311ImmutableArray<TypeParameterSymbol>.Empty,
4314ImmutableArray<CustomModifier>.Empty,
4323ImmutableArray<CustomModifier>.Empty,
4324ImmutableArray<MethodSymbol>.Empty);
4360ImmutableArray<TypeParameterSymbol>.Empty,
4363ImmutableArray<CustomModifier>.Empty,
4371refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
4372explicitInterfaceImplementations: ImmutableArray<MethodSymbol>.Empty);
4420ImmutableArray<TypeParameterSymbol>.Empty,
4421ImmutableArray<ParameterSymbol>.Empty,
4426refCustomModifiers: ImmutableArray<CustomModifier>.Empty,
4427explicitInterfaceImplementations: ImmutableArray<MethodSymbol>.Empty);
4489ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters)
4500ImmutableArray<ParameterSymbol>.Empty,
4503ImmutableArray<CustomModifier>.Empty,
4505ImmutableArray<PropertySymbol>.Empty);
4594ImmutableArray<TypeParameterSymbol>.Empty,
4595ImmutableArray<ParameterSymbol>.Empty,
4600ImmutableArray<CustomModifier>.Empty,
4601ImmutableArray<MethodSymbol>.Empty);
4626ImmutableArray<ParameterSymbol>.Empty,
4629ImmutableArray<CustomModifier>.Empty,
4631ImmutableArray<PropertySymbol>.Empty);
4687ImmutableArray<TypeParameterSymbol>.Empty,
4690ImmutableArray<CustomModifier>.Empty,
4699ImmutableArray<CustomModifier>.Empty,
4700ImmutableArray<MethodSymbol>.Empty);
4833static bool hasNonConstantInitializer(ImmutableArray<ImmutableArray<FieldOrPropertyInitializer>> initializers)
5401public static readonly SynthesizedExplicitImplementations Empty = new SynthesizedExplicitImplementations(ImmutableArray<SynthesizedExplicitImplementationForwardingMethod>.Empty,
5402ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)>.Empty);
5404public readonly ImmutableArray<SynthesizedExplicitImplementationForwardingMethod> ForwardingMethods;
5405public readonly ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)> MethodImpls;
5408ImmutableArray<SynthesizedExplicitImplementationForwardingMethod> forwardingMethods,
5409ImmutableArray<(MethodSymbol Body, MethodSymbol Implemented)> methodImpls)
5416ImmutableArray<SynthesizedExplicitImplementationForwardingMethod> forwardingMethods,
5417ImmutableArray<(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))
ChangeSignature\CSharpChangeSignatureService.cs (14)
41private static readonly ImmutableArray<SyntaxKind> _declarationKinds =
56private static readonly ImmutableArray<SyntaxKind> _declarationAndInvocableKinds =
69private static readonly ImmutableArray<SyntaxKind> _updatableAncestorKinds =
85private static readonly ImmutableArray<SyntaxKind> _updatableNodeKinds =
195var matchKinds = restrictToDeclarations
310var updatedLeadingTrivia = await UpdateParamTagsInLeadingTriviaAsync(document, updatedNode, declarationSymbol, signaturePermutation, cancellationToken).ConfigureAwait(false);
750private ImmutableArray<T> TransferLeadingWhitespaceTrivia<T, U>(IEnumerable<T> newArguments, SeparatedSyntaxList<U> oldArguments)
768private async ValueTask<ImmutableArray<SyntaxTrivia>> UpdateParamTagsInLeadingTriviaAsync(
781var permutedParamNodes = VerifyAndPermuteParamNodes(paramNodes, declarationSymbol, updatedSignature);
791private ImmutableArray<SyntaxNode> VerifyAndPermuteParamNodes(IEnumerable<XmlElementSyntax> paramNodes, ISymbol declarationSymbol, SignatureChange updatedSignature)
797var declaredParameters = GetParameters(declarationSymbol);
851public override async Task<ImmutableArray<ISymbol>> DetermineCascadedSymbolsFromDelegateInvokeAsync(
890protected override ImmutableArray<AbstractFormattingRule> GetFormattingRules(Document document)
925protected override ImmutableArray<IParameterSymbol> GetParameters(ISymbol declarationSymbol)
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)
22public ImmutableArray<ConstructorCandidate> ConstructorCandidates { get; private set; }
28ImmutableArray<ISymbol> selectedMembers,
43ImmutableArray<ISymbol> selectedMembers,
49var rules = await document.GetNamingRulesAsync(cancellationToken).ConfigureAwait(false);
50var parametersForSelectedMembers = DetermineParameters(selectedMembers, rules);
75private static async Task<ImmutableArray<ConstructorCandidate>> GetConstructorCandidatesInfoAsync(
77ImmutableArray<ISymbol> selectedMembers,
79ImmutableArray<IParameterSymbol> parametersForSelectedMembers,
96private static async Task<bool> IsApplicableConstructorAsync(IMethodSymbol constructor, Document document, ImmutableArray<string> parameterNamesForSelectedMembers, CancellationToken cancellationToken)
98var constructorParams = constructor.Parameters;
116private static bool SelectedMembersAlreadyExistAsParameters(ImmutableArray<string> parameterNamesForSelectedMembers, ImmutableArray<IParameterSymbol> constructorParams)
120private static ConstructorCandidate CreateConstructorCandidate(ImmutableArray<IParameterSymbol> parametersForSelectedMembers, ImmutableArray<ISymbol> selectedMembers, IMethodSymbol constructor)
AddImport\AbstractAddImportFeatureService.cs (32)
63public async Task<ImmutableArray<AddImportFixData>> GetFixesAsync(
66ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
71var result = await client.TryInvokeAsync<IRemoteMissingImportDiscoveryService, ImmutableArray<AddImportFixData>>(
87private async Task<ImmutableArray<AddImportFixData>> GetFixesInCurrentProcessAsync(
90ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
128private async Task<ImmutableArray<Reference>> FindResultsAsync(
130AddImportOptions options, ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
143var exactReferences = await FindResultsAsync(projectToAssembly, referenceToCompilation, project, maxResults, finder, exact: true, cancellationToken: cancellationToken).ConfigureAwait(false);
157var fuzzyReferences = await FindResultsAsync(projectToAssembly, referenceToCompilation, project, maxResults, finder, exact: false, cancellationToken: cancellationToken).ConfigureAwait(false);
164private async Task<ImmutableArray<Reference>> FindResultsAsync(
227await ProducerConsumer<ImmutableArray<SymbolReference>>.RunParallelAsync(
268var newReferences = GetUnreferencedMetadataReferences(project, seenReferences);
278await ProducerConsumer<ImmutableArray<SymbolReference>>.RunParallelAsync(
314private static ImmutableArray<(Project, PortableExecutableReference)> GetUnreferencedMetadataReferences(
344IAsyncEnumerable<ImmutableArray<SymbolReference>> reader,
347await foreach (var symbolReferences in reader)
467private static void AddRange(ConcurrentQueue<Reference> allSymbolReferences, ImmutableArray<SymbolReference> proposedReferences)
507public async Task<ImmutableArray<(Diagnostic Diagnostic, ImmutableArray<AddImportFixData> Fixes)>> GetFixesForDiagnosticsAsync(
508Document document, TextSpan span, ImmutableArray<Diagnostic> diagnostics, int maxResultsPerDiagnostic,
510ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
515var result = new FixedSizeArrayBuilder<(Diagnostic, ImmutableArray<AddImportFixData>)>(diagnostics.Length);
519var fixes = await GetFixesAsync(
530public async Task<ImmutableArray<AddImportFixData>> GetUniqueFixesAsync(
531Document document, TextSpan span, ImmutableArray<string> diagnosticIds,
533ImmutableArray<PackageSource> packageSources, CancellationToken cancellationToken)
538var result = await client.TryInvokeAsync<IRemoteMissingImportDiscoveryService, ImmutableArray<AddImportFixData>>(
554private async Task<ImmutableArray<AddImportFixData>> GetUniqueFixesAsyncInCurrentProcessAsync(
557ImmutableArray<string> diagnosticIds,
560ImmutableArray<PackageSource> packageSources,
596public ImmutableArray<CodeAction> GetCodeActionsForFixes(
597Document 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\AbstractAddImportFeatureService_Remote.cs (3)
38public ValueTask<ImmutableArray<PackageWithTypeResult>> FindPackagesWithTypeAsync(RemoteServiceCallbackId callbackId, string source, string name, int arity, CancellationToken cancellationToken)
41public ValueTask<ImmutableArray<PackageWithAssemblyResult>> FindPackagesWithAssemblyAsync(RemoteServiceCallbackId callbackId, string source, string name, CancellationToken cancellationToken)
44public ValueTask<ImmutableArray<ReferenceAssemblyWithTypeResult>> FindReferenceAssembliesWithTypeAsync(RemoteServiceCallbackId callbackId, string name, int arity, CancellationToken cancellationToken)
AddImport\Remote\IRemoteMissingImportDiscoveryService.cs (8)
21ValueTask<ImmutableArray<PackageWithTypeResult>> FindPackagesWithTypeAsync(RemoteServiceCallbackId callbackId, string source, string name, int arity, CancellationToken cancellationToken);
22ValueTask<ImmutableArray<PackageWithAssemblyResult>> FindPackagesWithAssemblyAsync(RemoteServiceCallbackId callbackId, string source, string name, CancellationToken cancellationToken);
23ValueTask<ImmutableArray<ReferenceAssemblyWithTypeResult>> FindReferenceAssembliesWithTypeAsync(RemoteServiceCallbackId callbackId, string name, int arity, 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\SymbolReferenceFinder.cs (44)
42private readonly ImmutableArray<PackageSource> _packageSources;
52ImmutableArray<PackageSource> packageSources,
89internal Task<ImmutableArray<SymbolReference>> FindInAllSymbolsInStartingProjectAsync(bool exact, CancellationToken cancellationToken)
92internal Task<ImmutableArray<SymbolReference>> FindInSourceSymbolsInProjectAsync(ConcurrentDictionary<Project, AsyncLazy<IAssemblySymbol>> projectToAssembly, Project project, bool exact, CancellationToken cancellationToken)
95internal Task<ImmutableArray<SymbolReference>> FindInMetadataSymbolsAsync(IAssemblySymbol assembly, Project assemblyProject, PortableExecutableReference metadataReference, bool exact, CancellationToken cancellationToken)
98private async Task<ImmutableArray<SymbolReference>> DoAsync(SearchScope searchScope, CancellationToken cancellationToken)
103using var _1 = ArrayBuilder<Task<ImmutableArray<SymbolReference>>>.GetInstance(out var tasks);
138private ImmutableArray<SymbolReference> DeDupeAndSortReferences(ImmutableArray<SymbolReference> allReferences)
164private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingTypesAsync(
184var symbols = await searchScope.FindDeclarationsAsync(name, nameNode, SymbolFilter.Type, cancellationToken).ConfigureAwait(false);
189var attributeSymbols = await searchScope.FindDeclarationsAsync(
196var typeSymbols = OfType<ITypeSymbol>(symbols);
213var namespaceReferences = GetNamespaceSymbolReferences(searchScope,
251private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingNamespacesAsync(
262var symbols = await searchScope.FindDeclarationsAsync(name, nameNode, SymbolFilter.Namespace, cancellationToken).ConfigureAwait(false);
263var namespaceSymbols = OfType<INamespaceSymbol>(symbols);
278private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingFieldsAndPropertiesAsync(
311var namedTypeSymbols = OfType<INamedTypeSymbol>(symbolResults);
340private async Task<ImmutableArray<SymbolReference>> GetReferencesForMatchingExtensionMethodsAsync(
355var symbols = await searchScope.FindDeclarationsAsync(name, nameNode, SymbolFilter.Member, cancellationToken).ConfigureAwait(false);
357var methodSymbols = OfType<IMethodSymbol>(symbols);
359var extensionMethodSymbols = GetViableExtensionMethods(
371private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethods(
372ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols,
379private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethods(
380ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols, ITypeSymbol typeSymbol)
386private ImmutableArray<SymbolResult<IMethodSymbol>> GetViableExtensionMethodsWorker(
387ImmutableArray<SymbolResult<IMethodSymbol>> methodSymbols)
399private async Task<ImmutableArray<SymbolReference>> GetReferencesForCollectionInitializerMethodsAsync(
407var symbols = await searchScope.FindDeclarationsAsync(
415var viableMethods = GetViableExtensionMethods(
430private async Task<ImmutableArray<SymbolReference>> GetReferencesForQueryPatternsAsync(
454private async Task<ImmutableArray<SymbolReference>> GetReferencesForGetAwaiterAsync(
479private async Task<ImmutableArray<SymbolReference>> GetReferencesForGetEnumeratorAsync(
504private async Task<ImmutableArray<SymbolReference>> GetReferencesForGetAsyncEnumeratorAsync(
529private async Task<ImmutableArray<SymbolReference>> GetReferencesForDeconstructAsync(
551private async Task<ImmutableArray<SymbolReference>> GetReferencesForExtensionMethodAsync(
554var symbols = await searchScope.FindDeclarationsAsync(
562var viableExtensionMethods = GetViableExtensionMethods(methodSymbols, type);
589private ImmutableArray<SymbolReference> GetNamespaceSymbolReferences(
590SearchScope scope, ImmutableArray<SymbolResult<INamespaceSymbol>> namespaces)
606private static ImmutableArray<SymbolResult<T>> OfType<T>(ImmutableArray<SymbolResult<ISymbol>> symbols) where T : ISymbol
ChangeSignature\AbstractChangeSignatureService.cs (20)
49public abstract Task<ImmutableArray<ISymbol>> DetermineCascadedSymbolsFromDelegateInvokeAsync(
60protected abstract ImmutableArray<AbstractFormattingRule> GetFormattingRules(Document document);
88protected abstract ImmutableArray<IParameterSymbol> GetParameters(ISymbol declarationSymbol);
93public async Task<ImmutableArray<ChangeSignatureCodeAction>> GetChangeSignatureCodeActionAsync(Document document, TextSpan span, CancellationToken cancellationToken)
99: ImmutableArray<ChangeSignatureCodeAction>.Empty;
226private static async Task<ImmutableArray<ReferencedSymbol>> FindChangeSignatureReferencesAsync(
468protected ImmutableArray<IUnifiedArgumentSyntax> PermuteArguments(
470ImmutableArray<IUnifiedArgumentSyntax> arguments,
475var declarationParameters = GetParameters(declarationSymbol);
476var declarationParametersToPermute = GetParametersToPermute(arguments, declarationParameters, isReducedExtensionMethod);
581var realParameters = GetParameters(declarationSymbol);
600private static ImmutableArray<IParameterSymbol> GetParametersToPermute(
601ImmutableArray<IUnifiedArgumentSyntax> arguments,
602ImmutableArray<IParameterSymbol> originalParameters,
678protected (ImmutableArray<T> parameters, ImmutableArray<SyntaxToken> separators) UpdateDeclarationBase<T>(
744protected ImmutableArray<SyntaxToken> GetSeparators<T>(SeparatedSyntaxList<T> arguments, int numSeparatorsToSkip) where T : SyntaxNode
791var parameters = GetParameters(declarationSymbol);
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;
680private static async Task<(Document, ImmutableArray<SyntaxNode>)> FixReferencesAsync(
685ImmutableArray<string> newNamespaceParts,
757ImmutableArray<DocumentId> ids,
758ImmutableArray<string> names,
812ImmutableArray<SyntaxNode> containers,
813ImmutableArray<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))
168var 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)
85var triggeredProviders = GetTriggeredProviders(document, providers, caretPosition, options, trigger, roles, text);
128ImmutableArray<CompletionProvider> GetTriggeredProviders(
151static async Task<ImmutableArray<CompletionProvider>> GetAugmentingProvidersAsync(
152Document document, ImmutableArray<CompletionProvider> triggeredProviders, int caretPosition, CompletionTrigger trigger, CompletionOptions options, CancellationToken cancellationToken)
232private static async Task<ImmutableArray<CompletionContext>> ComputeNonEmptyCompletionContextsAsync(
235ImmutableArray<CompletionProvider> providers,
254ImmutableArray<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)
34protected abstract Task<ImmutableArray<SymbolAndSelectionInfo>> GetSymbolsAsync(
46ImmutableArray<SymbolAndSelectionInfo> symbols,
54ImmutableArray<ITypeSymbol> inferredTypes,
101private ImmutableArray<CompletionItem> CreateItems(
103ImmutableArray<SymbolAndSelectionInfo> symbols,
186ImmutableArray<SymbolAndSelectionInfo> symbolList,
203ImmutableArray<SymbolAndSelectionInfo> symbols,
228ImmutableArray<SymbolAndSelectionInfo> symbols,
283var regularItems = await GetItemsAsync(completionContext, syntaxContext, document, position, options, cancellationToken).ConfigureAwait(false);
293private async Task<ImmutableArray<CompletionItem>> GetItemsAsync(
301var relatedDocumentIds = document.GetLinkedDocumentIds();
305var itemsForCurrentDocument = await GetSymbolsAsync(completionContext, syntaxContext, position, options, cancellationToken).ConfigureAwait(false);
337ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)> linkedContextSymbolLists)
353private async Task<ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)>> GetPerContextSymbolsAsync(
358return await ProducerConsumer<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)>.RunParallelAsync(
381protected async Task<ImmutableArray<SymbolAndSelectionInfo>> TryGetSymbolsForContextAsync(
398ImmutableArray<(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 (11)
40ImmutableArray<KeyValuePair<string, string>> properties = default,
41ImmutableArray<string> tags = default,
134public static async Task<ImmutableArray<ISymbol>> GetSymbolsAsync(CompletionItem item, Document document, CancellationToken cancellationToken)
147var linkedIds = document.GetLinkedDocumentIds();
189var symbols = await GetSymbolsAsync(item, document, cancellationToken).ConfigureAwait(false);
194CompletionItem item, Document document, ImmutableArray<ISymbol> symbols, SymbolDescriptionOptions options, CancellationToken cancellationToken)
281ImmutableArray<string> tags = default,
315ImmutableArray<KeyValuePair<string, string>> properties = default,
316ImmutableArray<string> tags = default,
339ImmutableArray<KeyValuePair<string, string>> properties = default,
340ImmutableArray<string> tags = default,
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)
103private ImmutableArray<ManagedHotReloadUpdate> _lastModuleUpdatesLog;
127nonRemappableRegions: ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>>.Empty,
210internal void RestartEditSession(ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>>? nonRemappableRegions, bool? inBreakState)
226private ImmutableArray<IDisposable> GetBaselineModuleReaders()
320out ImmutableArray<Diagnostic> diagnostics,
367out ImmutableArray<Diagnostic> diagnostics,
435private static ImmutableDictionary<K, ImmutableArray<V>> GroupToImmutableDictionary<K, V>(IEnumerable<IGrouping<K, V>> items)
438var builder = ImmutableDictionary.CreateBuilder<K, ImmutableArray<V>>();
448public async ValueTask<ImmutableArray<Diagnostic>> GetDocumentDiagnosticsAsync(Document document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
571ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>>? newNonRemappableRegions = null;
615public async ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken)
722using var _4 = ArrayBuilder<ImmutableArray<ActiveStatementSpan>>.GetInstance(out var spans);
766public async ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(TextDocument mappedDocument, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
794var newDocumentActiveStatementSpans = await activeStatementSpanProvider(mappedDocument.Id, mappedDocument.FilePath, cancellationToken).ConfigureAwait(false);
872public 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 (12)
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)
252public ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(DebuggingSessionId sessionId, Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken)
263public ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(DebuggingSessionId sessionId, TextDocument mappedDocument, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
268return ValueTaskFactory.FromResult(ImmutableArray<ActiveStatementSpan>.Empty);
287public ImmutableArray<DebuggingSession> GetActiveDebuggingSessions()
EditAndContinue\EditSession.cs (28)
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);
961if (!DebuggingSession.TryGetOrCreateEmitBaseline(oldProject, oldCompilation, out var createBaselineDiagnostics, out var projectBaseline, out var baselineAccessLock))
1065out var activeStatementsInUpdatedMethods,
1066out var moduleNonRemappableRegions,
1067out var exceptionRegionUpdates);
1181ImmutableArray<int> updatedMethodTokens,
1182ImmutableDictionary<ManagedMethodId, ImmutableArray<NonRemappableRegion>> previousNonRemappableRegions,
1183ImmutableArray<DocumentActiveStatementChanges> activeStatementsInChangedDocuments,
1184out ImmutableArray<ManagedActiveStatementUpdate> activeStatementsInUpdatedMethods,
1185out ImmutableArray<(ManagedModuleMethodId Method, NonRemappableRegion Region)> nonRemappableRegions,
1186out ImmutableArray<ManagedExceptionRegionUpdate> exceptionRegionUpdates)
1202var newActiveStatementExceptionRegions = newExceptionRegions[i];
EditAndContinue\IEditAndContinueService.cs (6)
21ValueTask<ImmutableArray<Diagnostic>> GetDocumentDiagnosticsAsync(Document document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken);
27ValueTask<DebuggingSessionId> StartDebuggingSessionAsync(Solution solution, IManagedHotReloadService debuggerService, IPdbMatchingSourceTextProvider sourceTextProvider, ImmutableArray<DocumentId> captureMatchingDocuments, bool captureAllMatchingDocuments, bool reportDiagnostics, CancellationToken cancellationToken);
31ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(DebuggingSessionId sessionId, Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken);
32ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(DebuggingSessionId sessionId, TextDocument document, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken);
EditAndContinue\Remote\IRemoteEditAndContinueService.cs (10)
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);
38ValueTask<DebuggingSessionId> StartDebuggingSessionAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, ImmutableArray<DocumentId> captureMatchingDocuments, bool captureAllMatchingDocuments, bool reportDiagnostics, CancellationToken cancellationToken);
49ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Checksum solutionChecksum, DebuggingSessionId sessionId, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken);
50ValueTask<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))
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;
274ImmutableArray<(string key, string value)> additionalProperties)
289public 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)
167public async Task<ImmutableArray<CodeAction>> GenerateEqualsAndGetHashCodeFromMembersAsync(
198private async Task<ImmutableArray<CodeAction>> CreateActionsAsync(
199Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> selectedMembers,
239Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members,
256Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members,
293Document 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);
374var overriddenSymbols = GetOverriddenSymbols(memberSymbol);
377var implementedSymbols = GetImplementedSymbolsForTypeMember(memberSymbol, overriddenSymbols);
402ImmutableArray<ISymbol> baseSymbols,
403ImmutableArray<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);
586private static ImmutableArray<ISymbol> GetImplementedSymbolsForTypeMember(
588ImmutableArray<ISymbol> overriddenSymbols)
618private static async Task<ImmutableArray<ISymbol>> GetImplementingSymbolsForTypeMemberAsync(
653private static ImmutableArray<ISymbol> GetOverriddenSymbols(ISymbol memberSymbol)
676private static async Task<ImmutableArray<INamedTypeSymbol>> GetDerivedTypesAndImplementationsAsync(
714var locations = symbol.Locations;
754private static ImmutableArray<InheritanceTargetItem> GetNonNullTargetItems(ImmutableArray<InheritanceTargetItem?> inheritanceTargetItems)
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (18)
52protected sealed override Task<ImmutableArray<CodeAction>> GetRefactoringsForAllParametersAsync(
54ImmutableArray<SyntaxNode> listOfParameterNodes, TextSpan parameterSpan,
60protected sealed override async Task<ImmutableArray<CodeAction>> GetRefactoringsForSingleParameterAsync(
87var rules = await document.GetNamingRulesAsync(cancellationToken).ConfigureAwait(false);
106private async Task<ImmutableArray<CodeAction>> HandleNoExistingFieldOrPropertyAsync(
112ImmutableArray<NamingRule> rules,
163ImmutableArray<NamingRule> rules,
169var parameters = GetParametersWithoutAssociatedMembers(blockStatement, rules, method);
196ImmutableArray<NamingRule> rules,
217private static ImmutableArray<IParameterSymbol> GetParametersWithoutAssociatedMembers(
219ImmutableArray<NamingRule> rules,
240private ImmutableArray<CodeAction> HandleExistingFieldOrProperty(
280ImmutableArray<NamingRule> rules)
316ImmutableArray<NamingRule> rules)
364ImmutableArray<IParameterSymbol> parameters,
365ImmutableArray<ISymbol> fieldsOrProperties,
676Document 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 (25)
82private readonly Dictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>> _documentationMap = [];
109protected abstract Task<ImmutableArray<SymbolDisplayPart>> GetInitializerSourcePartsAsync(ISymbol symbol);
110protected abstract ImmutableArray<SymbolDisplayPart> ToMinimalDisplayParts(ISymbol symbol, SemanticModel semanticModel, int position, SymbolDisplayFormat format);
149private async Task AddPartsAsync(ImmutableArray<ISymbol> symbols)
190var parts = formatter.Format(rawXmlText, symbol, _semanticModel, _position, format, CancellationToken);
250var captures = analysis.CapturedInside.Except(analysis.VariablesDeclared).ToImmutableArray();
277public async Task<ImmutableArray<SymbolDisplayPart>> BuildDescriptionAsync(
278ImmutableArray<ISymbol> symbolGroup, SymbolDescriptionGroups groups)
287public async Task<IDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>> BuildDescriptionSectionsAsync(ImmutableArray<ISymbol> symbolGroup)
369private ImmutableArray<SymbolDisplayPart> BuildDescription(SymbolDescriptionGroups groups)
422private IDictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>> BuildDescriptionSections()
427var result = new Dictionary<SymbolDescriptionGroups, ImmutableArray<TaggedText>>(_documentationMap);
431var taggedText = parts.ToTaggedText(TaggedTextStyle.None, _getNavigationHint, includeNavigationHints);
476var underlyingTypeDisplayParts = symbol.EnumUnderlyingType.ToDisplayParts(s_descriptionStyle.WithMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.UseSpecialTypes));
539var parts = await GetFieldPartsAsync(symbol).ConfigureAwait(false);
557private async Task<ImmutableArray<SymbolDisplayPart>> GetFieldPartsAsync(IFieldSymbol symbol)
561var initializerParts = await GetInitializerSourcePartsAsync(symbol).ConfigureAwait(false);
580var parts = await GetLocalPartsAsync(symbol).ConfigureAwait(false);
589private async Task<ImmutableArray<SymbolDisplayPart>> GetLocalPartsAsync(ILocalSymbol symbol)
593var initializerParts = await GetInitializerSourcePartsAsync(symbol).ConfigureAwait(false);
650var initializerParts = await GetInitializerSourcePartsAsync(symbol).ConfigureAwait(false);
702ImmutableArray<ISymbol> symbolGroup)
719private static int GetOverloadCount(ImmutableArray<ISymbol> symbolGroup)
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> arguments, out INamedTypeSymbol typeToGenerateIn);
34protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument> arguments, out INamedTypeSymbol typeToGenerateIn);
35protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument> arguments, out INamedTypeSymbol typeToGenerateIn);
36protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument> 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 (26)
43private ImmutableArray<Argument> _arguments;
48private ImmutableArray<RefKind> _parameterRefKinds;
49public ImmutableArray<ITypeSymbol> ParameterTypes;
56private ImmutableArray<IParameterSymbol> _parameters;
138var parameterNames = GetParameterNames(_arguments, typeParametersNames, cancellationToken);
143private ImmutableArray<ParameterName> GetParameterNames(
144ImmutableArray<Argument> arguments, ImmutableArray<string> typeParametersNames, CancellationToken cancellationToken)
165var remainingArguments = _arguments.Skip(argumentCount).ToImmutableArray();
166var remainingParameterNames = _service.GenerateParameterNames(
177var remainingParameterTypes = ParameterTypes.Skip(argumentCount).ToImmutableArray();
185ImmutableArray<IParameterSymbol> allParameters,
186ImmutableArray<TExpressionSyntax?> allExpressions,
206ImmutableArray<IParameterSymbol> parameters,
207ImmutableArray<TExpressionSyntax?> expressions,
208ImmutableArray<IMethodSymbol> constructors,
280internal ImmutableArray<ITypeSymbol> GetParameterTypes(CancellationToken cancellationToken)
302out var token, out var arguments, out var typeToGenerateIn))
320out var token, out var arguments, out var typeToGenerateIn))
339out var token, out var arguments, out var typeToGenerateIn))
409ImmutableArray<Argument> arguments,
410ImmutableArray<ITypeSymbol> parameterTypes,
411ImmutableArray<ParameterName> parameterNames,
465var unavailableMemberNames = GetUnavailableMemberNames().ToImmutableArray();
615private 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)
32ImmutableArray<Project> projects,
40var diagnosticAnalyzers = ImmutableArray.Create<DiagnosticAnalyzer>(DiagnosticAnalyzer);
57private static async Task<ImmutableDictionary<Project, ImmutableArray<Diagnostic>>> GetDiagnosticsByProjectAsync(
58ImmutableArray<Project> projects,
59ImmutableArray<DiagnosticAnalyzer> diagnosticAnalyzers,
62var builder = ImmutableDictionary.CreateBuilder<Project, ImmutableArray<Diagnostic>>();
66var diagnostics = await GetDiagnosticsAsync(project, diagnosticAnalyzers, cancellationToken).ConfigureAwait(false);
73private static async Task<ImmutableArray<Diagnostic>> GetDiagnosticsAsync(
75ImmutableArray<DiagnosticAnalyzer> diagnosticAnalyzers,
95ImmutableDictionary<Project, ImmutableArray<Diagnostic>> diagnosticsByProject,
141var operations = await fixAllAction.GetOperationsAsync(
153private readonly ImmutableDictionary<Project, ImmutableArray<Diagnostic>> _diagnosticsByProject;
155internal DiagnosticProvider(ImmutableDictionary<Project, ImmutableArray<Diagnostic>> diagnosticsByProject)
175return _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))
1553Dim bounds As ImmutableArray(Of BoundExpression)
1657Dim initializers = ImmutableArray(Of BoundExpression).Empty
3118Dim symbols As ImmutableArray(Of Symbol)
3130If(receiver IsNot Nothing, ImmutableArray.Create(receiver), ImmutableArray(Of BoundExpression).Empty),
3383Dim ambiguous As ImmutableArray(Of Symbol) = DirectCast(di, AmbiguousSymbolDiagnostic).AmbiguousSymbols
3477Dim groupConstituents As ImmutableArray(Of NamespaceSymbol) = namespaceGroup.ConstituentNamespaces
3478Dim otherConstituents As ImmutableArray(Of NamespaceSymbol) = other.ConstituentNamespaces
3596ImmutableArray(Of Symbol).Empty,
3597ImmutableArray(Of BoundExpression).Empty,
3859Private Shared Function GenerateBadExpression(node As InvocationExpressionSyntax, target As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression)) As BoundExpression
3906Private Function BindArrayAccess(node As InvocationExpressionSyntax, expr As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression), argumentNames As ImmutableArray(Of String), diagnostics As BindingDiagnosticBag) As BoundExpression
3954symbols As ImmutableArray(Of Symbol),
4075Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
4118Dim sizes As ImmutableArray(Of BoundExpression) = CreateArrayBounds(node, knownSizes, diagnostics)
4123Private Function CreateArrayBounds(node As SyntaxNode, knownSizes() As DimensionSize, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of BoundExpression)
4283init = New BoundArrayInitialization(expr, ImmutableArray(Of BoundExpression).Empty, arrayInitType, hasErrors:=True)
4334Optional errorOnEmptyBound As Boolean = False) As ImmutableArray(Of BoundExpression)
4751ImmutableArray(Of BoundExpression).Empty,
4800ImmutableArray(Of BoundExpression).Empty,
4849ImmutableArray(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
1657Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
1663Public Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
1665Return ImmutableArray(Of ParameterSymbol).Empty
1693Public Overrides ReadOnly Property TypeCustomModifiers As ImmutableArray(Of CustomModifier)
1699Public Overrides ReadOnly Property RefCustomModifiers As ImmutableArray(Of CustomModifier)
1727Private _lazyParameters As ImmutableArray(Of ParameterSymbol)
1782Public Overrides ReadOnly Property DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference)
1788Public Overrides ReadOnly Property ExplicitInterfaceImplementations As ImmutableArray(Of MethodSymbol)
1790Return ImmutableArray(Of MethodSymbol).Empty
1904Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
1908Public Overrides ReadOnly Property Locations As ImmutableArray(Of Location)
1932Public Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
1953Public Overrides ReadOnly Property ReturnTypeCustomModifiers As ImmutableArray(Of CustomModifier)
1959Public Overrides ReadOnly Property RefCustomModifiers As ImmutableArray(Of CustomModifier)
1971Public Overrides ReadOnly Property TypeArguments As ImmutableArray(Of TypeSymbol)
1977Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
2007Public Shared Function MakeParameters(propertyOrAccessor As Symbol, originalParameters As ImmutableArray(Of ParameterSymbol)) As ImmutableArray(Of ParameterSymbol)
2012Return 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
304Private 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)
2851Protected Overrides Function CommonCreateTupleTypeSymbol(elementTypes As ImmutableArray(Of ITypeSymbol),
2852elementNames As ImmutableArray(Of String),
2853elementLocations As ImmutableArray(Of Location),
2854elementNullableAnnotations As ImmutableArray(Of NullableAnnotation)) As INamedTypeSymbol
2870elementNames As ImmutableArray(Of String),
2871elementLocations As ImmutableArray(Of Location),
2872elementNullableAnnotations As ImmutableArray(Of NullableAnnotation)) As INamedTypeSymbol
2899parameterTypes As ImmutableArray(Of ITypeSymbol),
2900parameterRefKinds As ImmutableArray(Of RefKind),
2902callingConventionTypes As ImmutableArray(Of INamedTypeSymbol)) As IFunctionPointerTypeSymbol
2911memberTypes As ImmutableArray(Of ITypeSymbol),
2912memberNames As ImmutableArray(Of String),
2913memberLocations As ImmutableArray(Of Location),
2914memberIsReadOnly As ImmutableArray(Of Boolean),
2915memberNullableAnnotations 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
504Private Function GetAllEmittedMembers(symbol As ISymbolInternal) As IReadOnlyDictionary(Of String, ImmutableArray(Of ISymbolInternal))
518Dim synthesizedMembers As ImmutableArray(Of ISymbolInternal) = Nothing
523Dim deletedMembers As ImmutableArray(Of ISymbolInternal) = Nothing
617Private 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), binder As Binder, type As TypeSymbol, Optional hasErrors As Boolean = False)
9259Private ReadOnly _Contents As ImmutableArray(Of BoundNode)
9260Public ReadOnly Property Contents As ImmutableArray(Of BoundNode)
9278Public Function Update(contents As ImmutableArray(Of BoundNode), binder As Binder, type As TypeSymbol) As BoundInterpolatedStringExpression
12098Dim childBoundNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildBoundNodes)
12104Dim childBoundNodes As ImmutableArray(Of BoundNode) = Me.VisitList(node.ChildBoundNodes)
12122Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12293Dim elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder) = Me.VisitList(node.ElementPlaceholders)
12294Dim convertedElements As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConvertedElements)
12374Dim clauses As ImmutableArray(Of BoundRedimClause) = Me.VisitList(node.Clauses)
12380Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12385Dim clauses As ImmutableArray(Of BoundAssignmentOperator) = Me.VisitList(node.Clauses)
12392Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12398Dim constructorArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConstructorArguments)
12399Dim namedArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NamedArguments)
12414Dim argumentsOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ArgumentsOpt)
12427Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12433Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12441Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12454Dim declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess) = Me.VisitList(node.Declarations)
12455Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12473Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12480Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12501Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12509Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12516Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12530Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12542Dim statements As ImmutableArray(Of BoundStatement) = Me.VisitList(node.Statements)
12558Dim localDeclarations As ImmutableArray(Of BoundLocalDeclaration) = Me.VisitList(node.LocalDeclarations)
12564Dim localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase) = Me.VisitList(node.LocalDeclarations)
12596Dim sideEffects As ImmutableArray(Of BoundExpression) = Me.VisitList(node.SideEffects)
12617Dim caseBlocks As ImmutableArray(Of BoundCaseBlock) = Me.VisitList(node.CaseBlocks)
12628Dim caseClauses As ImmutableArray(Of BoundCaseClause) = Me.VisitList(node.CaseClauses)
12683Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12691Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12705Dim catchBlocks As ImmutableArray(Of BoundCatchBlock) = Me.VisitList(node.CatchBlocks)
12804Dim statements As ImmutableArray(Of BoundStatement) = Me.VisitList(node.Statements)
12924Dim resourceList As ImmutableArray(Of BoundLocalDeclarationBase) = Me.VisitList(node.ResourceList)
12953Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
12992Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
13040Dim jumps As ImmutableArray(Of BoundGotoStatement) = Me.VisitList(node.Jumps)
13048Dim jumps As ImmutableArray(Of BoundGotoStatement) = Me.VisitList(node.Jumps)
13064Dim statements As ImmutableArray(Of BoundStatement) = Me.VisitList(node.Statements)
13128Dim 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 (75)
35Friend MustOverride Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
89Public MustOverride ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
157Friend Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
201Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
284Friend Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
328Private ReadOnly _parameters As ImmutableArray(Of ParameterSymbol)
331Public Sub New(method As MethodSymbol, parameters As ImmutableArray(Of ParameterSymbol), returnType As TypeSymbol)
374Friend Overrides Function Construct(typeArguments As ImmutableArray(Of TypeSymbol)) As Candidate
418Public Overrides ReadOnly Property TypeParameters As ImmutableArray(Of TypeParameterSymbol)
420Return ImmutableArray(Of TypeParameterSymbol).Empty
519Public ReadOnly Dependencies As ImmutableArray(Of AssemblySymbol)
521Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of ConversionKind, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol))
695Public ArgsToParamsOpt As ImmutableArray(Of Integer)
698Public ConversionsOpt As ImmutableArray(Of KeyValuePair(Of ConversionKind, MethodSymbol))
699Public ConversionsBackOpt As ImmutableArray(Of KeyValuePair(Of ConversionKind, MethodSymbol))
703Public OptionalArguments As ImmutableArray(Of OptionalArgument)
729Private ReadOnly _allResults As ImmutableArray(Of CandidateAnalysisResult)
732Public ReadOnly AsyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression)
735Public Sub New(allResults As ImmutableArray(Of CandidateAnalysisResult), resolutionIsLateBound As Boolean,
742ImmutableArray(Of BoundExpression).Empty,
750Public ReadOnly Property Candidates As ImmutableArray(Of CandidateAnalysisResult)
778Private Shared Function GetBestResult(allResults As ImmutableArray(Of CandidateAnalysisResult)) As CandidateAnalysisResult?
807arguments As ImmutableArray(Of BoundExpression),
808argumentNames As ImmutableArray(Of String),
846arguments As ImmutableArray(Of BoundExpression),
870arguments As ImmutableArray(Of BoundExpression),
871argumentNames As ImmutableArray(Of String),
884Dim typeArguments = If(methodGroup.TypeArgumentsOpt IsNot Nothing, methodGroup.TypeArgumentsOpt.Arguments, ImmutableArray(Of TypeSymbol).Empty)
888typeArguments = ImmutableArray(Of TypeSymbol).Empty
892arguments = ImmutableArray(Of BoundExpression).Empty
900Dim methods As ImmutableArray(Of MethodSymbol) = methodGroup.Methods
1001arguments As ImmutableArray(Of BoundExpression),
1002argumentNames As ImmutableArray(Of String),
1010Dim properties As ImmutableArray(Of PropertySymbol) = propertyGroup.Properties
1013arguments = ImmutableArray(Of BoundExpression).Empty
1025CollectOverloadedCandidates(binder, results, candidates, ImmutableArray(Of TypeSymbol).Empty,
1065arguments As ImmutableArray(Of BoundExpression),
1066argumentNames As ImmutableArray(Of String),
1228arguments As ImmutableArray(Of BoundExpression),
1320arguments As ImmutableArray(Of BoundExpression),
1356arguments As ImmutableArray(Of BoundExpression),
1433arguments As ImmutableArray(Of BoundExpression),
1485arguments As ImmutableArray(Of BoundExpression),
1708arguments As ImmutableArray(Of BoundExpression),
1917arguments As ImmutableArray(Of BoundExpression),
2173arguments As ImmutableArray(Of BoundExpression),
2226arguments As ImmutableArray(Of BoundExpression),
2329arguments As ImmutableArray(Of BoundExpression),
2588arguments As ImmutableArray(Of BoundExpression),
2589argumentNames As ImmutableArray(Of String),
2673arguments As ImmutableArray(Of BoundExpression),
2674argumentNames As ImmutableArray(Of String),
2855arguments As ImmutableArray(Of BoundExpression),
2856argumentNames As ImmutableArray(Of String),
3490typeArguments As ImmutableArray(Of TypeSymbol),
3491arguments As ImmutableArray(Of BoundExpression),
3492argumentNames As ImmutableArray(Of String),
3692typeArguments As ImmutableArray(Of TypeSymbol),
3693arguments As ImmutableArray(Of BoundExpression),
3780typeArguments As ImmutableArray(Of TypeSymbol),
3781arguments As ImmutableArray(Of BoundExpression),
3782argumentNames As ImmutableArray(Of String),
3877typeArguments As ImmutableArray(Of TypeSymbol),
3878arguments As ImmutableArray(Of BoundExpression),
3879argumentNames As ImmutableArray(Of String),
3915argumentNames As ImmutableArray(Of String),
4201arguments As ImmutableArray(Of BoundExpression),
4400arguments As ImmutableArray(Of BoundExpression),
4551Dim leftTypeArguments As ImmutableArray(Of TypeSymbol) = leftNamedType.TypeArgumentsNoUseSiteDiagnostics
4552Dim rightTypeArguments As ImmutableArray(Of TypeSymbol) = rightNamedType.TypeArgumentsNoUseSiteDiagnostics
4854arguments As ImmutableArray(Of BoundExpression),
4855argumentNames As ImmutableArray(Of String),
4870Dim typeArguments As ImmutableArray(Of TypeSymbol) = Nothing
4876Dim typeArgumentsLocation As ImmutableArray(Of SyntaxNodeOrToken) = Nothing
4958Private 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
426Private ReadOnly Property IArrayTypeSymbol_Sizes As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.Sizes
432Private ReadOnly Property IArrayTypeSymbol_LowerBounds As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.LowerBounds
438Private ReadOnly Property IArrayTypeSymbol_CustomModifiers As ImmutableArray(Of CustomModifier) Implements IArrayTypeSymbol.CustomModifiers
474Private ReadOnly _customModifiers As ImmutableArray(Of CustomModifier)
477Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), systemArray As NamedTypeSymbol)
486Public NotOverridable Overrides ReadOnly Property CustomModifiers As ImmutableArray(Of CustomModifier)
518Dim newInterfaces As ImmutableArray(Of NamedTypeSymbol) = Me.InterfacesNoUseSiteDiagnostics
545Private ReadOnly _interfaces As ImmutableArray(Of NamedTypeSymbol) ' Empty or IList(Of ElementType) and possibly IReadOnlyList(Of ElementType)
547Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), systemArray As NamedTypeSymbol, interfaces As ImmutableArray(Of NamedTypeSymbol))
566Friend Overrides ReadOnly Property InterfacesNoUseSiteDiagnostics As ImmutableArray(Of NamedTypeSymbol)
579Dim newInterfaces As ImmutableArray(Of NamedTypeSymbol) = _interfaces
596Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, systemArray As NamedTypeSymbol)
615Friend NotOverridable Overrides ReadOnly Property InterfacesNoUseSiteDiagnostics As ImmutableArray(Of NamedTypeSymbol)
617Return ImmutableArray(Of NamedTypeSymbol).Empty
626Public Sub New(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, systemArray As NamedTypeSymbol)
645Private ReadOnly _sizes As ImmutableArray(Of Integer)
646Private ReadOnly _lowerBounds As ImmutableArray(Of Integer)
650customModifiers As ImmutableArray(Of CustomModifier),
652sizes As ImmutableArray(Of Integer),
653lowerBounds As ImmutableArray(Of Integer),
664Friend Overrides ReadOnly Property Sizes As ImmutableArray(Of Integer)
670Friend 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,
936Private 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)
1230Private Function INamedTypeSymbolInternal_GetMembers() As ImmutableArray(Of ISymbolInternal) Implements INamedTypeSymbolInternal.GetMembers
1234Private Function INamedTypeSymbolInternal_GetMembers(name As String) As ImmutableArray(Of ISymbolInternal) Implements INamedTypeSymbolInternal.GetMembers
1256Private Function INamedTypeSymbol_GetTypeArgumentCustomModifiers(ordinal As Integer) As ImmutableArray(Of CustomModifier) Implements INamedTypeSymbol.GetTypeArgumentCustomModifiers
1260Private ReadOnly Property INamedTypeSymbol_TypeArguments As ImmutableArray(Of ITypeSymbol) Implements INamedTypeSymbol.TypeArguments
1266Private ReadOnly Property TypeArgumentNullableAnnotations As ImmutableArray(Of NullableAnnotation) Implements INamedTypeSymbol.TypeArgumentNullableAnnotations
1272Private ReadOnly Property INamedTypeSymbol_TypeParameters As ImmutableArray(Of ITypeParameterSymbol) Implements INamedTypeSymbol.TypeParameters
1294Private Function INamedTypeSymbol_Construct(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As INamedTypeSymbol Implements INamedTypeSymbol.Construct
1302Private ReadOnly Property INamedTypeSymbol_InstanceConstructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.InstanceConstructors
1308Private ReadOnly Property INamedTypeSymbol_StaticConstructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.StaticConstructors
1314Private ReadOnly Property INamedTypeSymbol_Constructors As ImmutableArray(Of IMethodSymbol) Implements INamedTypeSymbol.Constructors
1360Private 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)
296Friend 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
2248Private Function DetermineDefaultPropertyName(membersByName As Dictionary(Of String, ImmutableArray(Of Symbol)), diagBag As BindingDiagnosticBag) As String
2335initializerSet As IEnumerable(Of ImmutableArray(Of FieldOrPropertyInitializer)),
2341Dim fieldOrPropertyArray As ImmutableArray(Of Symbol) = initializer.FieldsOrProperties
2701initializers As ArrayBuilder(Of ImmutableArray(Of FieldOrPropertyInitializer)),
3122Friend Overrides Function GetMembersUnordered() As ImmutableArray(Of Symbol)
3132Public Overloads Overrides Function GetMembers() As ImmutableArray(Of Symbol)
3150Public Overloads Overrides Function GetMembers(name As String) As ImmutableArray(Of Symbol)
3152Dim members As ImmutableArray(Of Symbol) = Nothing
3158Return ImmutableArray(Of Symbol).Empty
3161Friend Overrides Function GetSimpleNonTypeMembers(name As String) As ImmutableArray(Of Symbol)
3166Return ImmutableArray(Of Symbol).Empty
3178Dim symbols As ImmutableArray(Of Symbol) = Nothing
3205Public ReadOnly Property StaticInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))
3214Public ReadOnly Property InstanceInitializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))
3284Private Shared Function GetInitializersInSourceTree(tree As SyntaxTree, initializers As ImmutableArray(Of ImmutableArray(Of FieldOrPropertyInitializer))) As ImmutableArray(Of FieldOrPropertyInitializer)
3286For Each siblingInitializers As ImmutableArray(Of FieldOrPropertyInitializer) In initializers
3295Private Shared Function IndexOfInitializerContainingPosition(initializers As ImmutableArray(Of FieldOrPropertyInitializer), position As Integer) As Integer
3485Dim structEnumerator As Dictionary(Of String, ImmutableArray(Of Symbol)).Enumerator = lookup.Members.GetEnumerator
3489Dim memberList As ImmutableArray(Of Symbol) = structEnumerator.Current.Value
3582memberList As ImmutableArray(Of Symbol),
3584membersEnumerator As Dictionary(Of String, ImmutableArray(Of Symbol)).Enumerator,
3625Dim otherMembers As ImmutableArray(Of Symbol) = Nothing
3669Dim otherMembers As ImmutableArray(Of Symbol) = Nothing
3712memberList 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)
1564Friend Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
1566Return If(data IsNot Nothing, data.ConditionalSymbols, ImmutableArray(Of String).Empty)
1826boundAttributes As ImmutableArray(Of VisualBasicAttributeData),
1827allAttributeSyntaxNodes As ImmutableArray(Of AttributeSyntax),
2017Public MustOverride Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
2032Private _lazyParameters As ImmutableArray(Of ParameterSymbol)
2043Optional locations As ImmutableArray(Of Location) = Nothing)
2074Public NotOverridable Overrides ReadOnly Property Parameters As ImmutableArray(Of ParameterSymbol)
2087Dim params As ImmutableArray(Of ParameterSymbol) = GetParameters(sourceModule, diagBag)
2102Dim fakeTypeParameters As ImmutableArray(Of TypeParameterSymbol)
2109fakeTypeParameters = ImmutableArray(Of TypeParameterSymbol).Empty
2117ImmutableArray(Of CustomModifier).Empty,
2118ImmutableArray(Of CustomModifier).Empty,
2133returnTypeCustomModifiers:=ImmutableArray(Of CustomModifier).Empty,
2134refCustomModifiers:=ImmutableArray(Of CustomModifier).Empty,
2135explicitInterfaceImplementations:=ImmutableArray(Of MethodSymbol).Empty,
2200diagBag 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),
549Friend ReadOnly Property MemberImports As ImmutableArray(Of NamespaceOrTypeAndImportsClausePosition)
556Friend ReadOnly Property AliasImports As ImmutableArray(Of AliasAndImportsClausePosition)
585cancellationToken As CancellationToken) As ImmutableArray(Of Diagnostic)
930Friend Function AtomicStoreArrayAndDiagnostics(Of T)(ByRef variable As ImmutableArray(Of T),
931value As ImmutableArray(Of T),
958attributesToStore As ImmutableArray(Of VisualBasicAttributeData),
987Private 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)
1804Private Function GetAttributeDeclarations(Optional quickAttributes As QuickAttributes? = Nothing) As ImmutableArray(Of SyntaxList(Of AttributeListSyntax))
1853Public NotOverridable Overloads Overrides Function GetAttributes() As ImmutableArray(Of VisualBasicAttributeData)
2109Friend NotOverridable Overrides Function GetAppliedConditionalSymbols() As ImmutableArray(Of String)
2111Return If(data IsNot Nothing, data.ConditionalSymbols, ImmutableArray(Of String).Empty)
2334Dim attributeLists As ImmutableArray(Of SyntaxList(Of AttributeListSyntax)) = GetAttributeDeclarations(QuickAttributes.TypeIdentifier)
2373boundAttributes As ImmutableArray(Of VisualBasicAttributeData),
2374allAttributeSyntaxNodes 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
867Public Function ToDisplayParts(Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart)
875Public Function ToMinimalDisplayParts(semanticModel As SemanticModel, position As Integer, Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart)
1071Friend Function DeriveUseSiteInfoFromParameters(parameters As ImmutableArray(Of ParameterSymbol)) As UseSiteInfo(Of AssemblySymbol)
1084customModifiers As ImmutableArray(Of CustomModifier),
1113Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(Of T As TypeSymbol)(types As ImmutableArray(Of T), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1124Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(modifiers As ImmutableArray(Of CustomModifier), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1135Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(parameters As ImmutableArray(Of ParameterSymbol), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1149Friend Overloads Shared Function GetUnificationUseSiteDiagnosticRecursive(typeParameters As ImmutableArray(Of TypeParameterSymbol), owner As Symbol, ByRef checkedTypes As HashSet(Of TypeSymbol)) As DiagnosticInfo
1294Private ReadOnly Property ISymbol_Locations As ImmutableArray(Of Location) Implements ISymbol.Locations, ISymbolInternal.Locations
1300Private ReadOnly Property ISymbol_DeclaringSyntaxReferences As ImmutableArray(Of SyntaxReference) Implements ISymbol.DeclaringSyntaxReferences
1328Private Function ISymbol_ToDisplayParts(Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart) Implements ISymbol.ToDisplayParts
1336Private Function ISymbol_ToMinimalDisplayParts(semanticModel As SemanticModel, position As Integer, Optional format As SymbolDisplayFormat = Nothing) As ImmutableArray(Of SymbolDisplayPart) Implements ISymbol.ToMinimalDisplayParts
1346Private Function ISymbol_GetAttributes() As ImmutableArray(Of AttributeData) Implements ISymbol.GetAttributes
1352Protected Shared Function ConstructTypeArguments(ParamArray typeArguments() As ITypeSymbol) As ImmutableArray(Of TypeSymbol)
1360Protected 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\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 (17)
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)
94ImmutableArray<Diagnostic> additionalPragmaSuppressionDiagnostics,
139ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>>? diagnosticsByAnalyzerMap;
206var diagnostics = additionalPragmaSuppressionDiagnostics.WhereAsArray(d => d.Location.SourceTree == treeToAnalyze);
230ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<Diagnostic>> diagnosticsByAnalyzer,
237ImmutableArray<string> diagnosticIdsToFilter,
240if (diagnosticsByAnalyzer.TryGetValue(analyzer, out var diagnostics))
248ImmutableArray<Diagnostic> diagnostics,
255ImmutableArray<string> diagnosticIdsToFilter,
299public static ImmutableArray<Diagnostic> Filter(
300this ImmutableArray<Diagnostic> diagnostics,
301ImmutableArray<string> diagnosticIdsToFilter,
316public static async Task<(AnalysisResult result, ImmutableArray<Diagnostic> additionalDiagnostics)> GetAnalysisResultAsync(
324var additionalDiagnostics = await compilationWithAnalyzers.GetPragmaSuppressionAnalyzerDiagnosticsAsync(
363private static async Task<ImmutableArray<Diagnostic>> GetPragmaSuppressionAnalyzerDiagnosticsAsync(
370var analyzers = documentAnalysisScope?.Analyzers ?? compilationWithAnalyzers.Analyzers;
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)
47var dependentProjects = await GetDependentProjectsWorkerAsync(solution, symbols, cancellationToken).ConfigureAwait(false);
71private static async Task<ImmutableArray<Project>> GetDependentProjectsWorkerAsync(
72Solution solution, ImmutableArray<ISymbol> symbols, CancellationToken cancellationToken)
83var dependentProjects = await ComputeDependentProjectsAsync(
87var filteredProjects = maxVisibility == SymbolVisibility.Internal
103Solution solution, ImmutableArray<ISymbol> symbols, CancellationToken cancellationToken)
132private static async Task<ImmutableArray<(Project project, bool hasInternalsAccess)>> ComputeDependentProjectsAsync(
141ImmutableArray<(Project project, bool hasInternalsAccess)> dependentProjects;
160static 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,
748internal static ImmutableArray<(string key, string value)> GetAdditionalFindUsagesProperties(
777internal static ImmutableArray<(string key, string value)> GetAdditionalFindUsagesProperties(ISymbol definition)
810protected virtual Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(
816public sealed override Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(
842public sealed override ValueTask<ImmutableArray<ISymbol>> DetermineCascadedSymbolsAsync(
855protected virtual ValueTask<ImmutableArray<ISymbol>> DetermineCascadedSymbolsAsync(
868protected 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)
434candidate, candidateHumps, patternChunk, out var matchedSpans);
451var camelCaseKindIgnoreCase = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.IgnoreCase, out var matchedSpansIgnoreCase);
454var camelCaseKind = TryUpperCaseCamelCaseMatch(candidate, candidateHumps, patternChunk, CompareOptions.None, out var matchedSpans);
476out ImmutableArray<TextSpan> matchedSpans)
487out 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)
654private ImmutableArray<ISymbol> GetSymbolsInNewSolution(Document newDocument, SemanticModel newDocumentSemanticModel, RenameActionAnnotation conflictAnnotation, SyntaxNodeOrToken tokenOrNode)
656var newReferencedSymbols = RenameUtilities.GetSymbolsTouchingPosition(tokenOrNode.Span.Start, newDocumentSemanticModel, newDocument.Project.Solution.Services, _cancellationToken);
662var invocationReferencedSymbols = SymbolsForEnclosingInvocationExpressionWorker((SyntaxNode)tokenOrNode!, newDocumentSemanticModel, _cancellationToken);
701private async Task<(ImmutableHashSet<DocumentId> documentIds, ImmutableArray<string> possibleNameConflicts)> FindDocumentsAndPossibleNameConflictsAsync()
721var possibleNameConflicts = possibleNameConflictsList.ToImmutableArray();
734ImmutableArray<string> possibleNameConflicts)
780ImmutableArray<RenameLocation> renameLocations,
784ImmutableArray<string> possibleNameConflicts)
863private 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 (143)
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;
308public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, IEnumerable<TResult>> selector)
311return ImmutableArray<TResult>.Empty;
332public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, ImmutableArray<TResult>> selector)
335return ImmutableArray<TResult>.Empty;
350public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
353return ImmutableArray<TResult>.Empty;
368public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
371return ImmutableArray<TResult>.Empty;
383public static ValueTask<ImmutableArray<TResult>> SelectManyAsArrayAsync<TItem, TArg, TResult>(this ImmutableArray<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<ImmutableArray<TResult>>> selector, TArg arg, CancellationToken cancellationToken)
387return new ValueTask<ImmutableArray<TResult>>(ImmutableArray<TResult>.Empty);
397async ValueTask<ImmutableArray<TResult>> CreateTaskAsync()
414public static ImmutableArray<TResult> ZipAsArray<T1, T2, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, Func<T1, T2, TResult> map)
420return ImmutableArray<TResult>.Empty;
445public static ImmutableArray<TResult> ZipAsArray<T1, T2, TArg, TResult>(this ImmutableArray<T1> self, ImmutableArray<T2> other, TArg arg, Func<T1, T2, int, TArg, TResult> map)
450return ImmutableArray<TResult>.Empty;
466public static ImmutableArray<T> WhereAsArray<T>(this ImmutableArray<T> array, Func<T, bool> predicate)
474public static ImmutableArray<T> WhereAsArray<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
477private static ImmutableArray<T> WhereAsArrayImpl<T, TArg>(ImmutableArray<T> array, Func<T, bool>? predicateWithoutArg, Func<T, TArg, bool>? predicateWithArg, TArg arg)
542return ImmutableArray<T>.Empty;
546public static bool Any<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
562public static bool All<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, bool> predicate, TArg arg)
578public static async Task<bool> AnyAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
594public static async Task<bool> AnyAsync<T, TArg>(this ImmutableArray<T> array, Func<T, TArg, Task<bool>> predicateAsync, TArg arg)
610public static async ValueTask<T?> FirstOrDefaultAsync<T>(this ImmutableArray<T> array, Func<T, Task<bool>> predicateAsync)
626public static TValue? FirstOrDefault<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
639public static TValue? Single<TValue, TArg>(this ImmutableArray<TValue> array, Func<TValue, TArg, bool> predicate, TArg arg)
669public static ImmutableArray<TBase> Cast<TDerived, TBase>(this ImmutableArray<TDerived> items)
672return ImmutableArray<TBase>.CastUp(items);
683public static bool SetEquals<T>(this ImmutableArray<T> array1, ImmutableArray<T> array2, IEqualityComparer<T> comparer)
724public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T> array)
726return array.IsDefault ? ImmutableArray<T>.Empty : array;
732public static ImmutableArray<T> NullToEmpty<T>(this ImmutableArray<T>? array)
735null or { IsDefault: true } => ImmutableArray<T>.Empty,
743public static ImmutableArray<T> Distinct<T>(this ImmutableArray<T> array, IEqualityComparer<T>? comparer = null)
762var result = (builder.Count == array.Length) ? array : builder.ToImmutable();
769internal static ImmutableArray<T> ConditionallyDeOrder<T>(this ImmutableArray<T> array)
785internal static ImmutableArray<TValue> Flatten<TKey, TValue>(
786this Dictionary<TKey, ImmutableArray<TValue>> dictionary,
792return ImmutableArray<TValue>.Empty;
811internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second)
816internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third)
839internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth)
867internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth)
900internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, ImmutableArray<T> second, ImmutableArray<T> third, ImmutableArray<T> fourth, ImmutableArray<T> fifth, ImmutableArray<T> sixth)
938internal static ImmutableArray<T> Concat<T>(this ImmutableArray<T> first, T second)
943internal static ImmutableArray<T> AddRange<T>(this ImmutableArray<T> self, in TemporaryArray<T> items)
976internal static bool HasDuplicates<T>(this ImmutableArray<T> array)
1012internal static bool HasDuplicates<T>(this ImmutableArray<T> array, IEqualityComparer<T> comparer)
1038public static int Count<T>(this ImmutableArray<T> items, Func<T, bool> predicate)
1057public static int Sum<T>(this ImmutableArray<T> items, Func<T, int> selector)
1066public static int Sum<T>(this ImmutableArray<T> items, Func<T, int, int> selector)
1103(Dictionary<TKey, object> dictionary, Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> result)
1114static ImmutableArray<TNamespaceOrTypeSymbol> createMembers(object value)
1125return ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(builder.ToDowncastedImmutableAndFree<TNamedTypeSymbol>());
1132: ImmutableArray<TNamespaceOrTypeSymbol>.CastUp(ImmutableArray.Create((TNamedTypeSymbol)symbol));
1137internal static Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>> GetTypesFromMemberMap<TKey, TNamespaceOrTypeSymbol, TNamedTypeSymbol>
1138(Dictionary<TKey, ImmutableArray<TNamespaceOrTypeSymbol>> map, IEqualityComparer<TKey> comparer)
1149var dictionary = new Dictionary<TKey, ImmutableArray<TNamedTypeSymbol>>(capacity, comparer);
1153var namedTypes = getOrCreateNamedTypes(entry.Value);
1160static ImmutableArray<TNamedTypeSymbol> getOrCreateNamedTypes(ImmutableArray<TNamespaceOrTypeSymbol> members)
1167var membersAsNamedTypes = members.As<TNamedTypeSymbol>();
1180return ImmutableArray<TNamedTypeSymbol>.Empty;
1194internal static bool SequenceEqual<TElement, TArg>(this ImmutableArray<TElement> array1, ImmutableArray<TElement> array2, TArg arg, Func<TElement, TElement, TArg, bool> predicate)
1224internal static int IndexOf<T>(this ImmutableArray<T> array, T item, IEqualityComparer<T> comparer)
1227internal static bool IsSorted<T>(this ImmutableArray<T> array, IComparer<T>? comparer = null)
1243internal static int BinarySearch<TElement, TValue>(this ImmutableArray<TElement> array, TValue value, Func<TElement, TValue, int> comparer)
1302public static bool IsSubsetOf<TElement>(this ImmutableArray<TElement> array, ImmutableArray<TElement> other)
src\Compilers\Core\Portable\InternalUtilities\EnumerableExtensions.cs (24)
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> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, IEnumerable<TResult>> selector)
403return ImmutableArray<TResult>.Empty;
412public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IEnumerable<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
415return ImmutableArray<TResult>.Empty;
424public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, IEnumerable<TResult>> selector)
427return ImmutableArray<TResult>.Empty;
437public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this IReadOnlyCollection<TItem>? source, Func<TItem, TArg, IEnumerable<TResult>> selector, TArg arg)
440return ImmutableArray<TResult>.Empty;
453public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, ValueTask<TResult>> selector)
468public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TResult>(this IEnumerable<TItem> source, Func<TItem, CancellationToken, ValueTask<TResult>> selector, CancellationToken cancellationToken)
483public static async ValueTask<ImmutableArray<TResult>> SelectAsArrayAsync<TItem, TArg, TResult>(this IEnumerable<TItem> source, Func<TItem, TArg, CancellationToken, ValueTask<TResult>> selector, TArg arg, CancellationToken cancellationToken)
495public 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)
759internal static Dictionary<K, ImmutableArray<T>> ToMultiDictionary<K, T>(this IEnumerable<T> data, Func<T, K> keySelector, IEqualityComparer<K>? comparer = null)
762var dictionary = new Dictionary<K, ImmutableArray<T>>(comparer);
766var 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)
244public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
262public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembersInThis(
265Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
281public static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedExplicitMembers(
295private static ImmutableArray<ISymbol> GetExplicitlyImplementableMembers(INamedTypeSymbol type, ISymbol within)
322private static ImmutableArray<(INamedTypeSymbol type, ImmutableArray<ISymbol> members)> GetAllUnimplementedMembers(
327Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
351var typesToImplement = GetTypesToImplement(classOrStructType, interfacesOrAbstractClasses, allowReimplementation, cancellationToken);
356private static ImmutableArray<INamedTypeSymbol> GetTypesToImplement(
367private static ImmutableArray<INamedTypeSymbol> GetAbstractClassesToImplement(
375private static ImmutableArray<INamedTypeSymbol> GetInterfacesToImplement(
399private static ImmutableArray<ISymbol> GetUnimplementedMembers(
404Func<INamedTypeSymbol, ISymbol, ImmutableArray<ISymbol>> interfaceMemberGetter,
514private static ImmutableArray<ISymbol> GetMembers(INamedTypeSymbol type, ISymbol within)
527public 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,
46ImmutableArray<SymbolSpecification> symbolSpecifications,
47ImmutableArray<NamingStyle> namingStyles,
48ImmutableArray<SerializableNamingRule> serializableNamingRules,
108ImmutableArray<SymbolSpecification> symbolSpecifications,
109ImmutableArray<NamingStyle> namingStyles)
159private 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,
107ImmutableArray<AttributeData> attributes,
124ImmutableArray<AttributeData> attributes,
128ImmutableArray<IParameterSymbol> parameters,
129ImmutableArray<SyntaxNode> statements = default,
130ImmutableArray<SyntaxNode> baseConstructorArguments = default,
131ImmutableArray<SyntaxNode> thisConstructorArguments = default,
143ImmutableArray<AttributeData> attributes, string typeName,
144ImmutableArray<SyntaxNode> statements = default)
153ImmutableArray<AttributeData> attributes,
158ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
160ImmutableArray<ITypeParameterSymbol> typeParameters,
161ImmutableArray<IParameterSymbol> parameters,
162ImmutableArray<SyntaxNode> statements = default,
163ImmutableArray<SyntaxNode> handlesExpressions = default,
164ImmutableArray<AttributeData> returnTypeAttributes = default,
177ImmutableArray<AttributeData> attributes, Accessibility accessibility, DeclarationModifiers modifiers,
180ImmutableArray<IMethodSymbol> explicitInterfaceImplementations,
181string name, ImmutableArray<ITypeParameterSymbol> typeParameters,
182ImmutableArray<IParameterSymbol> parameters,
183ImmutableArray<SyntaxNode> statements = default,
184ImmutableArray<SyntaxNode> handlesExpressions = default,
185ImmutableArray<AttributeData> returnTypeAttributes = default,
196ImmutableArray<AttributeData> attributes,
201ImmutableArray<IParameterSymbol> parameters,
202ImmutableArray<SyntaxNode> statements = default,
203ImmutableArray<AttributeData> returnTypeAttributes = default,
228ImmutableArray<SyntaxNode> statements = default,
229ImmutableArray<AttributeData> toTypeAttributes = default,
249ImmutableArray<AttributeData> attributes,
256ImmutableArray<SyntaxNode> statements = default,
257ImmutableArray<AttributeData> toTypeAttributes = default,
281ImmutableArray<AttributeData> attributes, RefKind refKind, bool isParams, ITypeSymbol type, string name, bool isOptional = false, bool hasDefaultValue = false, object? defaultValue = null)
291ImmutableArray<AttributeData>? attributes = null,
333ImmutableArray<AttributeData> attributes,
335ImmutableArray<ITypeSymbol> constraintTypes,
362ImmutableArray<AttributeData> attributes = default,
364ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
365ImmutableArray<SyntaxNode> statements = default)
387ImmutableArray<AttributeData> attributes,
389ImmutableArray<SyntaxNode> statements)
409ImmutableArray<TypedConstant> constructorArguments = default,
410ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments = default)
419ImmutableArray<AttributeData> attributes,
423ImmutableArray<ITypeParameterSymbol> typeParameters = default,
425ImmutableArray<INamedTypeSymbol> interfaces = default,
427ImmutableArray<ISymbol> members = default,
438ImmutableArray<AttributeData> attributes,
442ImmutableArray<ITypeParameterSymbol> typeParameters = default,
444ImmutableArray<INamedTypeSymbol> interfaces = default,
446ImmutableArray<ISymbol> members = default,
464ImmutableArray<AttributeData> attributes,
470ImmutableArray<ITypeParameterSymbol> typeParameters = default,
471ImmutableArray<IParameterSymbol> parameters = default,
516ImmutableArray<AttributeData> attributes = default,
519ImmutableArray<IMethodSymbol> explicitInterfaceImplementations = default,
521ImmutableArray<IParameterSymbol>? parameters = null,
522ImmutableArray<SyntaxNode> statements = default,
525Optional<ImmutableArray<AttributeData>> returnTypeAttributes = default)
546ImmutableArray<AttributeData> attributes = default,
547ImmutableArray<IParameterSymbol>? parameters = null,
550ImmutableArray<IPropertySymbol> explicitInterfaceImplementations = default,
572ImmutableArray<AttributeData> attributes = default,
575ImmutableArray<IEventSymbol> explicitInterfaceImplementations = default,
593ImmutableArray<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 (21)
32private static readonly ImmutableArray<MetadataReferenceProperties> s_defaultMetadataReferenceProperties = [default(MetadataReferenceProperties)];
104private readonly Dictionary<string, ImmutableArray<MetadataReferenceProperties>> _allMetadataReferences = [];
127/// <see cref="AddDynamicSourceFile(string, ImmutableArray{string})"/>. The value of the map is a generated file that
208var watchedDirectories = GetWatchedDirectories(language, filePath);
212static ImmutableArray<WatchedDirectory> GetWatchedDirectories(string? language, string? filePath)
550ImmutableArray<string> documentFileNamesAdded = [];
551ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> documentsToOpen = [];
552ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> additionalDocumentsToOpen = [];
553ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> analyzerConfigDocumentsToOpen = [];
771public void AddSourceFile(string fullPath, SourceCodeKind sourceCodeKind = SourceCodeKind.Regular, ImmutableArray<string> folders = default)
787ImmutableArray<string> folders = default,
808public void AddAdditionalFile(string fullPath, SourceCodeKind sourceCodeKind = SourceCodeKind.Regular, ImmutableArray<string> folders = default)
837public void AddDynamicSourceFile(string dynamicFilePath, ImmutableArray<string> folders)
1066private static readonly ImmutableArray<string> s_razorSourceGeneratorAssemblyNames =
1072private static readonly ImmutableArray<string> s_razorSourceGeneratorAssemblyRootedFileNames = s_razorSourceGeneratorAssemblyNames.SelectAsArray(
1079var vsixRazorAnalyzers = _hostInfo.HostDiagnosticAnalyzerProvider.GetAnalyzerReferencesInExtensions().SelectAsArray(
1149return _allMetadataReferences.TryGetValue(fullPath, out var propertiesList) && propertiesList.Contains(properties);
1156public ImmutableArray<MetadataReferenceProperties> GetPropertiesForMetadataReference(string fullPath)
1160return _allMetadataReferences.TryGetValue(fullPath, out var list) ? list : [];
1318public void ReorderSourceFiles(ImmutableArray<string> filePaths)
1335private 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 (21)
54private readonly AsyncLazy<Dictionary<ImmutableArray<byte>, DocumentId>> _lazyContentHashToDocumentId;
139private async Task<Dictionary<ImmutableArray<byte>, DocumentId>> ComputeContentHashToDocumentIdAsync(CancellationToken cancellationToken)
141var result = new Dictionary<ImmutableArray<byte>, DocumentId>(ImmutableArrayComparer<byte>.Instance);
145var contentHash = text.GetContentHash();
164public async ValueTask<DocumentId?> GetDocumentIdAsync(ImmutableArray<byte> contentHash, CancellationToken cancellationToken)
220ImmutableArray<TextDocumentState> newDocuments,
239VersionStamp oldVersion, ImmutableArray<TextDocumentState> newDocuments, CancellationToken cancellationToken)
756public ProjectState AddDocuments(ImmutableArray<DocumentState> documents)
768public ProjectState AddAdditionalDocuments(ImmutableArray<AdditionalDocumentState> documents)
780public ProjectState AddAnalyzerConfigDocuments(ImmutableArray<AnalyzerConfigDocumentState> documents)
811public ProjectState RemoveDocuments(ImmutableArray<DocumentId> documentIds)
824public ProjectState RemoveAdditionalDocuments(ImmutableArray<DocumentId> documentIds)
834public ProjectState RemoveAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds)
860public ProjectState UpdateDocuments(ImmutableArray<DocumentState> oldDocuments, ImmutableArray<DocumentState> newDocuments)
886public ProjectState UpdateAdditionalDocuments(ImmutableArray<AdditionalDocumentState> oldDocuments, ImmutableArray<AdditionalDocumentState> newDocuments)
911public ProjectState UpdateAnalyzerConfigDocuments(ImmutableArray<AnalyzerConfigDocumentState> oldDocuments, ImmutableArray<AnalyzerConfigDocumentState> newDocuments)
933ImmutableArray<TextDocumentState> oldDocuments,
934ImmutableArray<TextDocumentState> newDocuments,
Workspace\Solution\SolutionCompilationState.cs (40)
243ImmutableArray<ProjectId> changedProjectIds,
252static bool CanReuse(ProjectId id, (ImmutableArray<ProjectId> changedProjectIds, ProjectDependencyGraph dependencyGraph) arg)
705/// <inheritdoc cref="SolutionState.AddAnalyzerReferences(ProjectId, ImmutableArray{AnalyzerReference})"/>
706public SolutionCompilationState AddAnalyzerReferences(StateChange stateChange, ImmutableArray<AnalyzerReference> analyzerReferences)
792internal SolutionCompilationState WithDocumentTexts(ImmutableArray<(DocumentId documentId, SourceText text)> texts, PreservationMode mode)
807ImmutableArray<(DocumentId documentId, TDocumentData documentData)> documentsToUpdate,
842IEnumerable<(ProjectId projectId, ImmutableArray<TDocumentState> updatedDocumentState)> updatedDocumentStatesPerProject,
843Func<ProjectState, ImmutableArray<TDocumentState>, TranslationAction> getTranslationAction)
877private static TranslationAction GetUpdateDocumentsTranslationAction<TDocumentState>(ProjectState oldProjectState, ImmutableArray<TDocumentState> newDocumentStates)
882ImmutableArray<DocumentState> ordinaryNewDocumentStates => GetUpdateOrdinaryDocumentsTranslationAction(oldProjectState, ordinaryNewDocumentStates),
883ImmutableArray<AdditionalDocumentState> additionalNewDocumentStates => GetUpdateAdditionalDocumentsTranslationAction(oldProjectState, additionalNewDocumentStates),
884ImmutableArray<AnalyzerConfigDocumentState> analyzerConfigNewDocumentStates => GetUpdateAnalyzerConfigDocumentsTranslationAction(oldProjectState, analyzerConfigNewDocumentStates),
888TranslationAction GetUpdateOrdinaryDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<DocumentState> newDocumentStates)
890var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.DocumentStates.GetRequiredState(s.Id), oldProjectState);
895TranslationAction GetUpdateAdditionalDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AdditionalDocumentState> newDocumentStates)
897var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.AdditionalDocumentStates.GetRequiredState(s.Id), oldProjectState);
902TranslationAction GetUpdateAnalyzerConfigDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AnalyzerConfigDocumentState> newDocumentStates)
904var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.AnalyzerConfigDocumentStates.GetRequiredState(s.Id), oldProjectState);
960/// <inheritdoc cref="Solution.WithDocumentSyntaxRoots(ImmutableArray{ValueTuple{DocumentId, SyntaxNode}}, PreservationMode)"/>
961public SolutionCompilationState WithDocumentSyntaxRoots(ImmutableArray<(DocumentId documentId, SyntaxNode root)> syntaxRoots, PreservationMode mode)
973ImmutableArray<(DocumentId documentId, DocumentState documentState)> documentIdsAndStates, bool forceEvenIfTreesWouldDiffer)
1189public ValueTask<ImmutableArray<Diagnostic>> GetSourceGeneratorDiagnosticsAsync(
1285var projectIdsToUnfreeze = FrozenSourceGeneratedDocumentStates.States.Values
1326ImmutableArray<(SourceGeneratedDocumentIdentity documentIdentity, DateTime generationDateTime, SourceText sourceText)> documents)
1496var newIdToProjectStateMap = newIdToProjectStateMapBuilder.ToImmutable();
1497var newIdToTrackerMap = newIdToTrackerMapBuilder.ToImmutable();
1576var allDocumentIds = @this.SolutionState.GetRelatedDocumentIds(documentId);
1642ImmutableArray<DocumentInfo> documentInfos)
1664public SolutionCompilationState RemoveDocumentsFromMultipleProjects<T>(ImmutableArray<DocumentId> documentIds)
1686private SolutionCompilationState RemoveDocumentsFromSingleProject<T>(ProjectId projectId, ImmutableArray<DocumentId> documentIds)
1699var removedDocumentStatesForProject = removedDocumentStates.ToImmutable();
1715private static TranslationAction GetRemoveDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<DocumentId> documentIds, ImmutableArray<TDocumentState> states)
1718ImmutableArray<DocumentState> documentStates => new TranslationAction.RemoveDocumentsAction(oldProject, oldProject.RemoveDocuments(documentIds), documentStates),
1719ImmutableArray<AdditionalDocumentState> additionalDocumentStates => new TranslationAction.RemoveAdditionalDocumentsAction(oldProject, oldProject.RemoveAdditionalDocuments(documentIds), additionalDocumentStates),
1720ImmutableArray<AnalyzerConfigDocumentState> _ => new TranslationAction.TouchAnalyzerConfigDocumentsAction(oldProject, oldProject.RemoveAnalyzerConfigDocuments(documentIds)),
1724private static TranslationAction GetAddDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<TDocumentState> states)
1727ImmutableArray<DocumentState> documentStates => new TranslationAction.AddDocumentsAction(oldProject, oldProject.AddDocuments(documentStates), documentStates),
1728ImmutableArray<AdditionalDocumentState> additionalDocumentStates => new TranslationAction.AddAdditionalDocumentsAction(oldProject, oldProject.AddAdditionalDocuments(additionalDocumentStates), additionalDocumentStates),
1729ImmutableArray<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)
166private static ImmutableArray<ObjectListItem> CreateListItemsFromSymbols<TSymbol>(
167ImmutableArray<TSymbol> symbols,
185ImmutableArray<ObjectListItem>.Builder builder)
204private ImmutableArray<ObjectListItem> GetBaseTypeListItems(INamedTypeSymbol namedTypeSymbol, Compilation compilation, ProjectId projectId)
209return ImmutableArray<ObjectListItem>.Empty;
228public ImmutableArray<ObjectListItem> GetBaseTypeListItems(ObjectListItem parentListItem, Compilation compilation)
236return ImmutableArray<ObjectListItem>.Empty;
244public ImmutableArray<ObjectListItem> GetFolderListItems(ObjectListItem parentListItem, Compilation compilation)
289private ImmutableArray<ObjectListItem> GetMemberListItems(
297var immediateMembers = GetMemberSymbols(namedTypeSymbol, compilation);
307var inheritedMembers = GetInheritedMemberSymbols(namedTypeSymbol, compilation);
315private static ImmutableArray<ISymbol> GetMemberSymbols(INamedTypeSymbol namedTypeSymbol, Compilation compilation)
317var members = namedTypeSymbol.GetMembers();
331private static ImmutableArray<ISymbol> GetInheritedMemberSymbols(INamedTypeSymbol namedTypeSymbol, Compilation compilation)
388public ImmutableArray<ObjectListItem> GetMemberListItems(ObjectListItem parentListItem, Compilation compilation)
396return ImmutableArray<ObjectListItem>.Empty;
404public void CollectNamespaceListItems(IAssemblySymbol assemblySymbol, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
437public ImmutableArray<ObjectListItem> GetNamespaceListItems(ObjectListItem parentListItem, Compilation compilation)
550private static ImmutableArray<INamedTypeSymbol> GetAccessibleTypeMembers(INamespaceOrTypeSymbol namespaceOrTypeSymbol, IAssemblySymbol assemblySymbol)
552var typeMembers = namespaceOrTypeSymbol.GetTypeMembers();
586public ImmutableArray<ObjectListItem> GetProjectListItems(Solution solution, string languageName, uint listFlags)
591return ImmutableArray<ObjectListItem>.Empty;
640public ImmutableArray<ObjectListItem> GetReferenceListItems(ObjectListItem parentListItem, Compilation compilation)
648return ImmutableArray<ObjectListItem>.Empty;
665private static ImmutableArray<INamedTypeSymbol> GetAccessibleTypes(INamespaceSymbol namespaceSymbol, Compilation compilation)
667var typeMembers = GetAccessibleTypeMembers(namespaceSymbol, compilation.Assembly);
689private ImmutableArray<ObjectListItem> GetTypeListItems(
696var types = GetAccessibleTypes(namespaceSymbol, compilation);
698var listItems = fullyQualified
720public ImmutableArray<ObjectListItem> GetTypeListItems(ObjectListItem parentListItem, Compilation compilation)
745public void CollectTypeListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
755var typeListItems = GetTypeListItems(namespaceSymbol, compilation, projectId, searchString, fullyQualified: true);
777public void CollectMemberListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
787var types = GetAccessibleTypes(namespaceSymbol, compilation);
791var memberListItems = GetMemberListItems(type, compilation, projectId, fullyQualified: true);
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager_ListItems.cs (10)
16internal void CollectMemberListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
19internal void CollectNamespaceListItems(IAssemblySymbol assemblySymbol, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
22internal void CollectTypeListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
31internal ImmutableArray<ObjectListItem> GetBaseTypeListItems(ObjectListItem parentListItem, Compilation compilation)
34internal ImmutableArray<ObjectListItem> GetFolderListItems(ObjectListItem parentListItem, Compilation compilation)
37internal ImmutableArray<ObjectListItem> GetMemberListItems(ObjectListItem parentListItem, Compilation compilation)
40internal ImmutableArray<ObjectListItem> GetNamespaceListItems(ObjectListItem parentListItem, Compilation compilation)
43internal ImmutableArray<ObjectListItem> GetProjectListItems(Solution solution, string languageName, uint listFlags)
46internal ImmutableArray<ObjectListItem> GetReferenceListItems(ObjectListItem parentListItem, Compilation compilation)
49internal ImmutableArray<ObjectListItem> GetTypeListItems(ObjectListItem parentListItem, Compilation compilation)
Snippets\SnippetExpansionClient.cs (8)
71private readonly ImmutableArray<Lazy<ArgumentProvider, OrderableLanguageMetadata>> _allArgumentProviders;
72private ImmutableArray<ArgumentProvider> _argumentProviders;
98ImmutableArray<Lazy<ArgumentProvider, OrderableLanguageMetadata>> argumentProviders,
118public ImmutableArray<ArgumentProvider> GetArgumentProviders(Workspace workspace)
554var snippet = CreateMethodCallSnippet(methodName, includeMethod: true, ImmutableArray<IParameterSymbol>.Empty, ImmutableDictionary<string, string>.Empty);
632private static XDocument CreateMethodCallSnippet(string methodName, bool includeMethod, ImmutableArray<IParameterSymbol> parameters, ImmutableDictionary<string, string> parameterValues)
750private static async Task<ImmutableArray<ISymbol>> GetReferencedSymbolsToLeftOfCaretAsync(
761return ImmutableArray<ISymbol>.Empty;
TableDataSource\Suppression\VisualStudioSuppressionFixService.cs (19)
171: Task.FromResult<ImmutableArray<DiagnosticData>>([]);
241? ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Empty
349var operations = ImmutableArray.Create<CodeActionOperation>(new ApplyChangesOperation(newSolution));
422private static ImmutableDictionary<Document, ImmutableArray<Diagnostic>> GetDocumentDiagnosticsMappedToNewSolution(ImmutableDictionary<Document, ImmutableArray<Diagnostic>> documentDiagnosticsToFixMap, Solution newSolution, string language)
424ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Builder? builder = null;
433builder ??= ImmutableDictionary.CreateBuilder<Document, ImmutableArray<Diagnostic>>();
438return builder != null ? builder.ToImmutable() : ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Empty;
441private static ImmutableDictionary<Project, ImmutableArray<Diagnostic>> GetProjectDiagnosticsMappedToNewSolution(ImmutableDictionary<Project, ImmutableArray<Diagnostic>> projectDiagnosticsToFixMap, Solution newSolution, string language)
443ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Builder? projectDiagsBuilder = null;
452projectDiagsBuilder ??= ImmutableDictionary.CreateBuilder<Project, ImmutableArray<Diagnostic>>();
457return projectDiagsBuilder != null ? projectDiagsBuilder.ToImmutable() : ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Empty;
466private async Task<ImmutableDictionary<Document, ImmutableArray<Diagnostic>>> GetDocumentDiagnosticsToFixAsync(IEnumerable<DiagnosticData> diagnosticsToFix, Func<Project, bool> shouldFixInProject, bool filterStaleDiagnostics, CancellationToken cancellationToken)
484return ImmutableDictionary<Document, ImmutableArray<Diagnostic>>.Empty;
487var finalBuilder = ImmutableDictionary.CreateBuilder<Document, ImmutableArray<Diagnostic>>();
558private async Task<ImmutableDictionary<Project, ImmutableArray<Diagnostic>>> GetProjectDiagnosticsToFixAsync(IEnumerable<DiagnosticData> diagnosticsToFix, Func<Project, bool> shouldFixInProject, bool filterStaleDiagnostics, CancellationToken cancellationToken)
576return ImmutableDictionary<Project, ImmutableArray<Diagnostic>>.Empty;
579var 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);