2 instantiations of TemporaryArray
Microsoft.CodeAnalysis (1)
Collections\TemporaryArray`1.cs (1)
328
_array = new
TemporaryArray
<T>(in array);
Microsoft.CodeAnalysis.UnitTests (1)
Collections\TemporaryArrayTests.cs (1)
20
Assert.Equal(0, new
TemporaryArray
<int>().Count);
89 references to TemporaryArray
Microsoft.CodeAnalysis (19)
Collections\ImmutableArrayExtensions.cs (1)
758
internal static ImmutableArray<T> AddRange<T>(this ImmutableArray<T> self, in
TemporaryArray
<T> items)
Collections\TemporaryArray`1.cs (10)
75
/// This field is initialized to non-<see langword="null"/> the first time the <see cref="
TemporaryArray
{T}"/>
81
private TemporaryArray(in
TemporaryArray
<T> array)
89
public static
TemporaryArray
<T> Empty => default;
185
public void AddRange(in
TemporaryArray
<T> items)
254
/// Transitions the current <see cref="
TemporaryArray
{T}"/> from inline storage to dynamic storage storage. An
320
private readonly
TemporaryArray
<T> _array;
325
public Enumerator(in
TemporaryArray
<T> array)
352
public static int InlineCapacity =>
TemporaryArray
<T>.InlineCapacity;
354
public static bool HasDynamicStorage(in
TemporaryArray
<T> array)
357
public static int InlineCount(in
TemporaryArray
<T> array)
Collections\TemporaryArrayExtensions.cs (8)
13
/// Gets a mutable reference to a <see cref="
TemporaryArray
{T}"/> stored in a <c>using</c> variable.
16
/// <para>This supporting method allows <see cref="
TemporaryArray
{T}"/>, a non-copyable <see langword="struct"/>
37
public static ref
TemporaryArray
<T> AsRef<T>(this in
TemporaryArray
<T> array)
40
public static bool Any<T>(this in
TemporaryArray
<T> array, Func<T, bool> predicate)
51
public static bool All<T>(this in
TemporaryArray
<T> array, Func<T, bool> predicate)
62
public static void AddIfNotNull<T>(this ref
TemporaryArray
<T> array, T? value)
71
public static void AddIfNotNull<T>(this ref
TemporaryArray
<T> array, T? value)
Microsoft.CodeAnalysis.CSharp (22)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (4)
1327
using
var
uninst1 =
TemporaryArray
<TypeSymbol>.Empty;
1328
using
var
uninst2 =
TemporaryArray
<TypeSymbol>.Empty;
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
2048
using (
var
uninst1 =
TemporaryArray
<TypeSymbol>.Empty)
2049
using (
var
uninst2 =
TemporaryArray
<TypeSymbol>.Empty)
2234
private static BetterResult MoreSpecificType(ref
TemporaryArray
<TypeSymbol> t1, ref
TemporaryArray
<TypeSymbol> t2, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
2343
using
var
allTypeArgs1 =
TemporaryArray
<TypeSymbol>.Empty;
2344
using
var
allTypeArgs2 =
TemporaryArray
<TypeSymbol>.Empty;
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)
87
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)
145
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)
73
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)
279
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)
25
var
additionalLocals =
TemporaryArray
<LocalSymbol>.Empty;
Symbols\NamedTypeSymbol.cs (1)
1271
internal void GetAllTypeArguments(ref
TemporaryArray
<TypeSymbol> builder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Microsoft.CodeAnalysis.UnitTests (48)
Collections\TemporaryArrayTests.cs (48)
18
Assert.Equal(0,
TemporaryArray
<int>.Empty.Count);
19
Assert.Equal(0, default(
TemporaryArray
<int>).Count);
22
Assert.Throws<IndexOutOfRangeException>(() =>
TemporaryArray
<int>.Empty[-1]);
25
using
var
array =
TemporaryArray
<int>.Empty;
29
Assert.Throws<IndexOutOfRangeException>(() =>
TemporaryArray
<int>.Empty[0]);
32
using
var
array =
TemporaryArray
<int>.Empty;
36
Assert.False(
TemporaryArray
<int>.Empty.GetEnumerator().MoveNext());
42
using
var
array =
TemporaryArray
<int>.Empty;
43
for (var i = 0; i <
TemporaryArray
<int>.TestAccessor.InlineCapacity; i++)
47
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
48
Assert.Equal(i + 1,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
52
Assert.Equal(
TemporaryArray
<int>.TestAccessor.InlineCapacity, array.Count);
53
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
55
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
56
Assert.Equal(0,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
59
Assert.Equal(
TemporaryArray
<int>.TestAccessor.InlineCapacity + 1, array.Count);
61
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
62
Assert.Equal(0,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
82
Assert.Equal(0,
TemporaryArray
<int>.Empty.Count);
83
TemporaryArray
<int>.Empty.Add(0);
84
Assert.Equal(0,
TemporaryArray
<int>.Empty.Count);
90
var
array =
TemporaryArray
<int>.Empty;
91
array.AddRange(Enumerable.Range(0,
TemporaryArray
<int>.TestAccessor.InlineCapacity + 1).ToImmutableArray());
92
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
95
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
102
using
var
array =
TemporaryArray
<int>.Empty;
110
if (array.Count >
TemporaryArray
<int>.TestAccessor.InlineCapacity)
112
Assert.True(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
113
Assert.Equal(0,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
117
Assert.False(
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
118
Assert.Equal(array.Count,
TemporaryArray
<int>.TestAccessor.InlineCount(in array));
132
using
var
array =
TemporaryArray
<int>.Empty;
144
initialItems >
TemporaryArray
<int>.TestAccessor.InlineCapacity,
145
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
152
using
var
array =
TemporaryArray
<int>.Empty;
172
using
var
array =
TemporaryArray
<int>.Empty;
186
initialItems >
TemporaryArray
<int>.TestAccessor.InlineCapacity,
187
TemporaryArray
<int>.TestAccessor.HasDynamicStorage(in array));
194
using
var
array =
TemporaryArray
<int>.Empty;