21 instantiations of OneOrMany
Microsoft.CodeAnalysis.CSharp.Features (12)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (10)
83declarations = new(typeDeclaration.ParameterList); 94? new(recordDeclaration.ParameterList) : new(recordDeclaration); 108declarations = new(current); 114declarations = new(current); 121declarations = new(((BaseFieldDeclarationSyntax)current).Declaration.Variables.First()); 128declarations = new(current); 142declarations = new(current); 153declarations = new(current); 161declarations = new(current.Parent);
EditAndContinue\DeclarationBody\CopyConstructorDeclarationBody.cs (1)
39=> new(recordDeclaration);
EditAndContinue\DeclarationBody\PropertyOrIndexerAccessorDeclarationBody.cs (1)
69=> new(RootNode);
Microsoft.CodeAnalysis.Workspaces (9)
src\Dependencies\Collections\OneOrMany.cs (7)
28public static readonly OneOrMany<T> Empty = new OneOrMany<T>(ImmutableArray<T>.Empty); 166? new OneOrMany<T>(from._one) 167: new OneOrMany<T>(ImmutableArray<T>.CastUp(from._many)); 270=> new OneOrMany<T>(one); 273=> new OneOrMany<T>(ImmutableArray.Create(one, two)); 276=> one is null ? OneOrMany<T>.Empty : new OneOrMany<T>(one); 279=> new OneOrMany<T>(many);
src\Dependencies\Collections\TemporaryArray`1.cs (1)
294return new(this.ToImmutableAndClear());
Workspace\Workspace_Editor.cs (1)
810docIds = new OneOrMany<DocumentId>(id);
83 references to OneOrMany
Microsoft.CodeAnalysis.CSharp.Features (12)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (5)
69internal override bool TryFindMemberDeclaration(SyntaxNode? root, SyntaxNode node, TextSpan activeSpan, out OneOrMany<SyntaxNode> declarations) 1024protected override OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol)> GetEditedSymbols( 1044OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol)> AddFieldSymbolUpdates(SeparatedSyntaxList<VariableDeclaratorSyntax> oldVariables, SeparatedSyntaxList<VariableDeclaratorSyntax> newVariables) 1061? OneOrMany<(ISymbol?, ISymbol?)>.Empty 3049static OneOrMany<SyntaxNode> GetTypedNodes(VariableDeclarationSyntax declaration)
EditAndContinue\DeclarationBody\CopyConstructorDeclarationBody.cs (1)
38public override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody\CSharpLambdaBody.cs (1)
24public override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody\FieldWithInitializerDeclarationBody.cs (1)
62public override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody\OrdinaryInstanceConstructorDeclarationBody.cs (1)
32public override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody\PrimaryConstructorDeclarationBody.cs (1)
25public sealed override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody\PropertyOrIndexerAccessorDeclarationBody.cs (1)
68public sealed override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody\TopLevelCodeDeclarationBody.cs (1)
52public override OneOrMany<SyntaxNode> RootNodes
Microsoft.CodeAnalysis.Features (24)
EditAndContinue\AbstractEditAndContinueAnalyzer.ActiveMembersBuilder.cs (1)
95var methods = analyzer.GetEditedSymbols(EditKind.Update, oldDeclaration, newDeclaration, oldModel, newModel, cancellationToken);
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (19)
89internal abstract bool TryFindMemberDeclaration(SyntaxNode? root, SyntaxNode node, TextSpan activeSpan, out OneOrMany<SyntaxNode> declarations); 201protected abstract OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol)> GetEditedSymbols( 209private OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol, EditKind editKind)> GetSymbolEdits( 222var symbols = GetEditedSymbols(editKind, oldNode, newNode, oldModel, newModel, cancellationToken); 2490 => OneOrMany<(ISymbol?, ISymbol?, EditKind)>.Empty, 854if (node != null && TryFindMemberDeclaration(topMatch.OldRoot, node, oldStatementSpan, out var oldMemberDeclarations)) 1889Func<TSyntaxNode, OneOrMany<SyntaxNode>> getTypedNodes, 1957Func<TSyntaxNode, OneOrMany<SyntaxNode>> getTypedNodes, 2018var oldTypedNodes = getTypedNodes((TSyntaxNode)oldNode); 2019var newTypedNodes = getTypedNodes((TSyntaxNode)newNode); 2600var symbolEdits = IsNamespaceDeclaration(edit.OldNode ?? edit.NewNode!) 3328var triviaSymbolEdits = GetSymbolEdits(EditKind.Update, oldEditNode, newEditNode, oldModel, newModel, editScript.Match, editMap, symbolCache, cancellationToken); 5242var oldRootNodes = oldBody.RootNodes; 5243var newRootNodes = newBody.RootNodes; 5266if (!TryFindMemberDeclaration(root: null, newNode, newNode.Span, out var newDeclarations)) 5302if (!TryFindMemberDeclaration(root: null, newNode, newNode.Span, out var newDeclarations)) 6582private static SyntaxNode? FindPartner(OneOrMany<SyntaxNode> rootNodes, OneOrMany<SyntaxNode> otherRootNodes, SyntaxNode otherNode) 6782private bool InGenericLocalContext(SyntaxNode node, OneOrMany<SyntaxNode> roots)
EditAndContinue\AbstractSimpleMemberBody.cs (1)
22public sealed override OneOrMany<SyntaxNode> RootNodes
EditAndContinue\DeclarationBody.cs (1)
23public abstract OneOrMany<SyntaxNode> RootNodes { get; }
Workspace\CompileTimeSolutionProvider.cs (2)
192var generatedDocumentPaths = BuildGeneratedDocumentPaths(designTimeProjectDirectoryName, designTimeDocument.FilePath!, generatedDocumentPathPrefix); 202private static OneOrMany<string> BuildGeneratedDocumentPaths(string designTimeProjectDirectoryName, string designTimeDocumentFilePath, string? generatedDocumentPathPrefix)
Microsoft.CodeAnalysis.Workspaces (47)
Options\GlobalOptionService.cs (1)
148private bool SetGlobalOptions(OneOrMany<KeyValuePair<OptionKey2, object?>> options)
src\Compilers\Core\Portable\Collections\ArrayBuilderExtensions.cs (3)
16public static OneOrMany<T> ToOneOrManyAndFree<T>(this ArrayBuilder<T> builder) 20var result = OneOrMany.Create(builder[0]); 30public static void AddRange<T>(this ArrayBuilder<T> builder, OneOrMany<T> items)
src\Compilers\Core\Portable\Collections\OrderPreservingMultiDictionary.cs (2)
157public OneOrMany<V> GetAsOneOrMany(K k) 165return OneOrMany<V>.Empty;
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (1)
462public static ImmutableArray<TResult> SelectManyAsArray<TSource, TResult>(this IEnumerable<TSource>? source, Func<TSource, OneOrMany<TResult>> selector)
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (3)
304public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, OneOrMany<TResult>> selector) 375public static ImmutableArray<TResult> SelectManyAsArray<TItem, TResult>(this ImmutableArray<TItem> array, Func<TItem, bool> predicate, Func<TItem, OneOrMany<TResult>> selector) 400public static ImmutableArray<TResult> SelectManyAsArray<TItem, TArg, TResult>(this ImmutableArray<TItem> array, Func<TItem, TArg, bool> predicate, Func<TItem, TArg, OneOrMany<TResult>> selector, TArg arg)
src\Dependencies\Collections\OneOrMany.cs (20)
25[DebuggerTypeProxy(typeof(OneOrMany<>.DebuggerProxy))] 28public static readonly OneOrMany<T> Empty = new OneOrMany<T>(ImmutableArray<T>.Empty); 94public OneOrMany<T> Add(T item) 114public OneOrMany<T> RemoveAll(T item) 124public OneOrMany<TResult> Select<TResult>(Func<T, TResult> selector) 131public OneOrMany<TResult> Select<TResult, TArg>(Func<T, TArg, TResult> selector, TArg arg) 163public static OneOrMany<T> CastUp<TDerived>(OneOrMany<TDerived> from) where TDerived : class, T 191public bool SequenceEqual(OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 237private readonly OneOrMany<T> _collection; 240internal Enumerator(OneOrMany<T> collection) 255private sealed class DebuggerProxy(OneOrMany<T> instance) 257private readonly OneOrMany<T> _instance = instance; 269public static OneOrMany<T> Create<T>(T one) 272public static OneOrMany<T> Create<T>(T one, T two) 275public static OneOrMany<T> OneOrNone<T>(T? one) 276=> one is null ? OneOrMany<T>.Empty : new OneOrMany<T>(one); 278public static OneOrMany<T> Create<T>(ImmutableArray<T> many) 281public static bool SequenceEqual<T>(this ImmutableArray<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null) 284public static bool SequenceEqual<T>(this IEnumerable<T> array, OneOrMany<T> other, IEqualityComparer<T>? comparer = null)
src\Dependencies\Collections\TemporaryArray`1.cs (4)
280/// Create an <see cref="OneOrMany{T}"/> with the elements currently held in the temporary array, and clear the 283public OneOrMany<T> ToOneOrManyAndClear() 288return OneOrMany<T>.Empty; 290var result = OneOrMany.Create(this[0]);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.cs (1)
213private static OneOrMany<INamedTypeSymbol> Unwrap(INamedTypeSymbol namedType)
Workspace\ProjectSystem\ProjectSystemProject.cs (4)
1049var mappedPaths = GetMappedAnalyzerPaths(fullPath); 1095var mappedPaths = GetMappedAnalyzerPaths(fullPath); 1134private OneOrMany<string> GetMappedAnalyzerPaths(string fullPath) 1142return OneOrMany<string>.Empty;
Workspace\Solution\TextDocumentStates.cs (5)
28using FilePathToDocumentIds = FrozenDictionary<string, OneOrMany<DocumentId>>; 40private static readonly ObjectPool<Dictionary<string, OneOrMany<DocumentId>>> s_filePathPool = new(() => new(SolutionState.FilePathComparer)); 335if (_filePathToDocumentIds.TryGetValue(filePath, out var oneOrMany)) 348return _filePathToDocumentIds.TryGetValue(filePath, out var oneOrMany) 368result[filePath] = result.TryGetValue(filePath, out var existingValue)
Workspace\Workspace_Editor.cs (3)
36private readonly Dictionary<SourceTextContainer, OneOrMany<DocumentId>> _bufferToAssociatedDocumentsMap = []; 799if (_bufferToAssociatedDocumentsMap.TryGetValue(textContainer, out var docIds)) 825if (!_bufferToAssociatedDocumentsMap.TryGetValue(textContainer, out var docIds))