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