4 instantiations of TemporaryArray
Microsoft.CodeAnalysis (2)
src\Dependencies\Collections\TemporaryArray`1.cs (2)
99
return new
TemporaryArray
<T>()
456
_array = new
TemporaryArray
<T>(in array);
Microsoft.CodeAnalysis.CSharp (1)
Lowering\SyntheticBoundNodeFactory.cs (1)
537
var statements = new
TemporaryArray
<BoundStatement>();
Microsoft.CodeAnalysis.UnitTests (1)
Collections\TemporaryArrayTests.cs (1)
21
Assert.Equal(0, new
TemporaryArray
<int>().Count);
133 references to TemporaryArray
Microsoft.CodeAnalysis (35)
Collections\TopologicalSort.cs (6)
14
internal delegate void TopologicalSortAddSuccessors<TNode>(ref
TemporaryArray
<TNode> builder, TNode node);
38
/// <param name="addSuccessors">A function that adds successor nodes to a provided <see cref="
TemporaryArray
{TNode}"/>.</param>
50
using
var
successors =
TemporaryArray
<TNode>.Empty;
105
using
var
successors =
TemporaryArray
<TNode>.Empty;
Compilation\Compilation.cs (2)
3822
using
var
builder =
TemporaryArray
<AssemblyIdentity>.Empty;
DiagnosticAnalyzer\AnalyzerDriver.cs (2)
1137
using
var
builder =
TemporaryArray
<Diagnostic>.Empty;
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (1)
782
internal static ImmutableArray<T> AddRange<T>(this ImmutableArray<T> self, in
TemporaryArray
<T> items)
src\Dependencies\Collections\TemporaryArray`1.cs (11)
79
/// This field is initialized to non-<see langword="null"/> the first time the <see cref="
TemporaryArray
{T}"/>
85
private TemporaryArray(in
TemporaryArray
<T> array)
93
public static
TemporaryArray
<T> GetInstance(int capacity)
105
public static
TemporaryArray
<T> Empty => default;
201
public void AddRange(in
TemporaryArray
<T> items)
329
/// Transitions the current <see cref="
TemporaryArray
{T}"/> from inline storage to dynamic storage storage. An
448
private readonly
TemporaryArray
<T> _array;
453
public Enumerator(in
TemporaryArray
<T> array)
480
public static int InlineCapacity =>
TemporaryArray
<T>.InlineCapacity;
482
public static bool HasDynamicStorage(in
TemporaryArray
<T> array)
485
public static int InlineCount(in
TemporaryArray
<T> array)
src\Dependencies\Collections\TemporaryArrayExtensions.cs (13)
16
/// Gets a mutable reference to a <see cref="
TemporaryArray
{T}"/> stored in a <c>using</c> variable.
19
/// <para>This supporting method allows <see cref="
TemporaryArray
{T}"/>, a non-copyable <see langword="struct"/>
40
public static ref
TemporaryArray
<T> AsRef<T>(this in
TemporaryArray
<T> array)
45
public static bool Any<T>(this in
TemporaryArray
<T> array, Func<T, bool> predicate)
56
public static bool All<T>(this in
TemporaryArray
<T> array, Func<T, bool> predicate)
70
public static T? SingleOrDefault<T>(this in
TemporaryArray
<T> array, Func<T, bool> predicate)
91
public static T? SingleOrDefault<T, TArg>(this in
TemporaryArray
<T> array, Func<T, TArg, bool> predicate, TArg arg)
112
public static T? FirstOrDefault<T>(this in
TemporaryArray
<T> array)
115
public static T? FirstOrDefault<T, TArg>(this in
TemporaryArray
<T> array, Func<T, TArg, bool> predicate, TArg arg)
126
public static int IndexOf<T, TArg>(this in
TemporaryArray
<T> array, Func<T, TArg, bool> predicate, TArg arg)
140
public static void AddIfNotNull<T>(this ref
TemporaryArray
<T> array, T? value)
149
public static void AddIfNotNull<T>(this ref
TemporaryArray
<T> array, T? value)
Microsoft.CodeAnalysis.CSharp (38)
Binder\DecisionDagBuilder.cs (11)
135
using
var
builder =
TemporaryArray
<StateForCase>.Empty;
148
using
var
builder =
TemporaryArray
<StateForCase>.GetInstance(switchSections.Length);
173
using
var
builder =
TemporaryArray
<StateForCase>.GetInstance(switchArms.Length);
737
private BoundDecisionDag MakeBoundDecisionDag(SyntaxNode syntax, ref
TemporaryArray
<StateForCase> cases)
814
ref
TemporaryArray
<StateForCase> casesForRootNode,
820
using
var
workList =
TemporaryArray
<DagState>.Empty;
1627
private static void AddSuccessor(ref
TemporaryArray
<DagState> builder, DagState state)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (4)
1401
using
var
uninst1 =
TemporaryArray
<TypeSymbol>.Empty;
1402
using
var
uninst2 =
TemporaryArray
<TypeSymbol>.Empty;
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
2485
using (
var
uninst1 =
TemporaryArray
<TypeSymbol>.Empty)
2486
using (
var
uninst2 =
TemporaryArray
<TypeSymbol>.Empty)
2733
private static BetterResult MoreSpecificType(ref
TemporaryArray
<TypeSymbol> t1, ref
TemporaryArray
<TypeSymbol> t2, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
2842
using
var
allTypeArgs1 =
TemporaryArray
<TypeSymbol>.Empty;
2843
using
var
allTypeArgs2 =
TemporaryArray
<TypeSymbol>.Empty;
Binder\SwitchExpressionBinder.cs (1)
111
static void addNonNullSuccessors(ref
TemporaryArray
<BoundDecisionDagNode> builder, BoundDecisionDagNode n)
BoundTree\BoundDecisionDag.cs (1)
24
internal static void AddSuccessors(ref
TemporaryArray
<BoundDecisionDagNode> builder, BoundDecisionDagNode node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
237
public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\CompoundInstrumenter.cs (1)
89
public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\DebugInfoInjector.cs (1)
186
public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\Instrumenter.cs (1)
74
public virtual void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
284
public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (1)
67
public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\StackOverflowProbingInstrumenter.cs (1)
57
public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref
TemporaryArray
<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\LocalRewriter\LocalRewriter_Block.cs (2)
35
var
additionalLocals =
TemporaryArray
<LocalSymbol>.Empty;
Lowering\SyntheticBoundNodeFactory.cs (1)
537
var
statements = new TemporaryArray<BoundStatement>();
Symbols\NamedTypeSymbol.cs (1)
1280
internal void GetAllTypeArguments(ref
TemporaryArray
<TypeSymbol> builder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Microsoft.CodeAnalysis.UnitTests (60)
Collections\TemporaryArrayTests.cs (57)
19
Assert.Equal(0,
TemporaryArray
<int>.Empty.Count);
20
Assert.Equal(0, default(
TemporaryArray
<int>).Count);
23
Assert.Throws<IndexOutOfRangeException>(() =>
TemporaryArray
<int>.Empty[-1]);
26
using
var
array =
TemporaryArray
<int>.Empty;
30
Assert.Throws<IndexOutOfRangeException>(() =>
TemporaryArray
<int>.Empty[0]);
33
using
var
array =
TemporaryArray
<int>.Empty;
37
Assert.False(
TemporaryArray
<int>.Empty.GetEnumerator().MoveNext());
43
using
var
array =
TemporaryArray
<int>.Empty;
44
for (var i = 0; i <
TemporaryArray
<int>.TestAccessor.InlineCapacity; i++)
48
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
49
Assert.Equal(i + 1,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
53
Assert.Equal(
TemporaryArray
<int>.TestAccessor.InlineCapacity, array.Count);
54
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
56
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
57
Assert.Equal(0,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
60
Assert.Equal(
TemporaryArray
<int>.TestAccessor.InlineCapacity + 1, array.Count);
62
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
63
Assert.Equal(0,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
83
Assert.Equal(0,
TemporaryArray
<int>.Empty.Count);
84
TemporaryArray
<int>.Empty.Add(0);
85
Assert.Equal(0,
TemporaryArray
<int>.Empty.Count);
91
var
array =
TemporaryArray
<int>.Empty;
92
array.AddRange(Enumerable.Range(0,
TemporaryArray
<int>.TestAccessor.InlineCapacity + 1).ToImmutableArray());
93
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
96
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
103
using
var
array =
TemporaryArray
<int>.Empty;
111
if (array.Count >
TemporaryArray
<int>.TestAccessor.InlineCapacity)
113
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
114
Assert.Equal(0,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
118
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
119
Assert.Equal(array.Count,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
133
using
var
array =
TemporaryArray
<int>.Empty;
145
initialItems >
TemporaryArray
<int>.TestAccessor.InlineCapacity,
146
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
153
using
var
array =
TemporaryArray
<int>.Empty;
173
using
var
array =
TemporaryArray
<int>.Empty;
187
initialItems >
TemporaryArray
<int>.TestAccessor.InlineCapacity,
188
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
195
using
var
array =
TemporaryArray
<int>.Empty;
213
for (int i = 0; i <=
TemporaryArray
<int>.TestAccessor.InlineCapacity + 1; i++)
225
using
var
array =
TemporaryArray
<int>.Empty;
275
using
var
array =
TemporaryArray
<int>.Empty;
295
using
var
array =
TemporaryArray
<int>.Empty;
309
using
var
array =
TemporaryArray
<int>.Empty;
Collections\TopologicalSortTests.cs (3)
22
=> (ref
TemporaryArray
<T> builder, T value) => builder.AddRange(successors[toInt(value)].ToImmutableArray());
215
using
var
successors =
TemporaryArray
<T>.Empty;