26 instantiations of DebugId
Microsoft.CodeAnalysis (5)
Emit\EditAndContinue\DefinitionMap.cs (2)
315
methodId = new
DebugId
(debugInfo.MethodOrdinal, 0);
706
GetMetadataLambdaAndClosureMap(peMethod.ContainingType, methodId: new
DebugId
(provider.MethodOrdinal, generation: 0)),
Emit\EditAndContinueMethodDebugInformation.cs (2)
233
var closureId = new
DebugId
(closuresBuilder.Count, generation: 0);
247
var lambdaId = new
DebugId
(lambdasBuilder.Count, generation: 0);
Symbols\CommonGeneratedNameParser.cs (1)
66
var id = new
DebugId
((int)value, (generation >= 0) ? generation : 0);
Microsoft.CodeAnalysis.CSharp (6)
Compiler\MethodCompiler.cs (2)
1422
new
DebugId
(ordinal: -1, _moduleBeingBuiltOpt.CurrentGenerationOrdinal),
1726
variableSlotAllocatorOpt?.MethodId ?? new
DebugId
(methodOrdinal, moduleBuilder.CurrentGenerationOrdinal),
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (2)
525
return _slotAllocator?.MethodId ?? new
DebugId
(_topLevelMethodOrdinal, _compilationState.ModuleBuilderOpt.CurrentGenerationOrdinal);
555
closureId = new
DebugId
(closureDebugInfo.Count, _compilationState.ModuleBuilderOpt.CurrentGenerationOrdinal);
Lowering\ClosureConversion\ClosureConversion.cs (2)
524
methodId = new
DebugId
(DebugId.UndefinedOrdinal, CompilationState.ModuleBuilderOpt.CurrentGenerationOrdinal);
1500
lambdaId = new
DebugId
(_lambdaDebugInfoBuilder.Count, CompilationState.ModuleBuilderOpt.CurrentGenerationOrdinal);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
Emit\GeneratedNamesTests.cs (2)
72
Assert.Equal(new
DebugId
(methodIdOrdinal, methodIdGeneration), actualMethodId);
73
Assert.Equal(new
DebugId
(entityIdOrdinal, entityIdGeneration), actualEntityId);
Microsoft.CodeAnalysis.UnitTests (13)
Emit\CustomDebugInfoTests.cs (13)
222
new ClosureDebugInfo(-100, new
DebugId
(0, 0)),
223
new ClosureDebugInfo(10, new
DebugId
(1, 0)),
224
new ClosureDebugInfo(-200, new
DebugId
(2, 0)));
227
new LambdaDebugInfo(20, new
DebugId
(0, 0), 1),
228
new LambdaDebugInfo(-50, new
DebugId
(1, 0), 0),
229
new LambdaDebugInfo(-180, new
DebugId
(2, 0), LambdaDebugInfo.StaticClosureOrdinal));
252
var lambdas = ImmutableArray.Create(new LambdaDebugInfo(20, new
DebugId
(0, 0), LambdaDebugInfo.StaticClosureOrdinal));
351
new ClosureDebugInfo(-100, new
DebugId
(0, 0)),
352
new ClosureDebugInfo(10, new
DebugId
(1, 0)),
353
new ClosureDebugInfo(-200, new
DebugId
(2, 0)));
356
new LambdaDebugInfo(20, new
DebugId
(0, 0), 1),
357
new LambdaDebugInfo(-50, new
DebugId
(1, 0), 0),
358
new LambdaDebugInfo(-180, new
DebugId
(2, 0), LambdaDebugInfo.StaticClosureOrdinal));
116 references to DebugId
Microsoft.CodeAnalysis (82)
CodeGen\ClosureDebugInfo.cs (1)
16
internal readonly record struct ClosureDebugInfo(int SyntaxOffset,
DebugId
ClosureId)
CodeGen\DebugId.cs (2)
19
internal readonly record struct DebugId : IComparable<
DebugId
>
42
public int CompareTo(
DebugId
other)
CodeGen\LambdaDebugInfo.cs (2)
29
public readonly
DebugId
LambdaId;
35
public LambdaDebugInfo(int syntaxOffset,
DebugId
lambdaId, int closureOrdinal)
CodeGen\LambdaRuntimeRudeEditInfo.cs (2)
9
internal readonly struct LambdaRuntimeRudeEditInfo(
DebugId
lambdaId, RuntimeRudeEdit rudeEdit)
11
public
DebugId
LambdaId { get; } = lambdaId;
CodeGen\MethodBody.cs (3)
36
private readonly
DebugId
_methodId;
55
DebugId
methodId,
158
public
DebugId
MethodId => _methodId;
CodeGen\VariableSlotAllocator.cs (5)
68
public abstract
DebugId
? MethodId { get; }
85
public abstract bool TryGetPreviousClosure(SyntaxNode closureSyntax,
DebugId
? parentClosureId, ImmutableArray<string> structCaptures, out
DebugId
closureId, out RuntimeRudeEdit? runtimeRudeEdit);
99
public abstract bool TryGetPreviousLambda(SyntaxNode lambdaOrLambdaBodySyntax, bool isLambdaBody, int closureOrdinal, ImmutableArray<
DebugId
> structClosureIds, out
DebugId
lambdaId, out RuntimeRudeEdit? runtimeRudeEdit);
Emit\EditAndContinue\AddedOrChangedMethodInfo.cs (2)
14
public readonly
DebugId
MethodId;
30
DebugId
methodId,
Emit\EditAndContinue\DefinitionMap.cs (32)
24
ImmutableArray<(
DebugId
id, IMethodSymbolInternal symbol)> lambdaSymbols,
25
IReadOnlyDictionary<
DebugId
, (
DebugId
? parentId, ImmutableArray<string> structCaptures)> closureTree)
30
public ImmutableArray<(
DebugId
id, IMethodSymbolInternal symbol)> LambdaSymbols { get; } = lambdaSymbols;
32
public IReadOnlyDictionary<
DebugId
, (
DebugId
? parentId, ImmutableArray<string> structCaptures)> ClosureTree { get; } = closureTree;
34
public IMethodSymbolInternal? GetLambdaSymbol(
DebugId
lambdaId)
37
public (
DebugId
? parentId, ImmutableArray<string>) TryGetClosureInfo(
DebugId
closureId)
242
DebugId
? methodId;
442
DebugId
methodId,
460
ImmutableArray<
DebugId
> getLambdaStructClosureIdsFromMetadata(IMethodSymbolInternal? lambda,
DebugId
methodId)
464
return ImmutableArray<
DebugId
>.Empty;
467
var builder = ArrayBuilder<
DebugId
>.GetInstance(lambda.Parameters.Length);
475
CommonGeneratedNames.TryParseDebugIds(displayClassName.AsSpan(suffixIndex), idSeparator, isMethodIdOptional: false, out
var
parsedMethodId, out
var
parsedEntityId) &&
538
private MetadataLambdasAndClosures GetMetadataLambdaAndClosureMap(INamedTypeSymbolInternal peType,
DebugId
methodId)
548
DebugId
methodId)
550
var lambdasBuilder = ArrayBuilder<(
DebugId
id, IMethodSymbolInternal symbol)>.GetInstance();
551
var closureTreeBuilder = ImmutableSegmentedDictionary.CreateBuilder<
DebugId
, (
DebugId
? parentId, ImmutableArray<string> structCaptures)>();
559
void recurse(ImmutableArray<ISymbolInternal> members,
DebugId
? containingDisplayClassId)
570
DebugId
parsedMethodId = default;
571
DebugId
parsedEntityId = default;
616
if (member is IFieldSymbolInternal field && tryParseDisplayClassDebugId(field.Type.Name, out
var
parentClosureDebugId))
631
bool tryParseDisplayClassDebugId(string displayClassName, out
DebugId
id)
636
CommonGeneratedNames.TryParseDebugIds(displayClassName.AsSpan(suffixIndex), idSeparator, isMethodIdOptional: false, out
var
parsedMethodId, out
var
parsedEntityId) &&
668
public IEnumerable<(
DebugId
id, IMethodSymbolInternal symbol)> GetDeletedSynthesizedMethods(IMethodSymbolInternal oldMethod, ImmutableArray<EncLambdaInfo> currentLambdas)
709
IEnumerable<(
DebugId
id, IMethodSymbolInternal symbol)> getDeletedLambdas(
714
var lambdaIdSet = PooledHashSet<
DebugId
>.GetInstance();
Emit\EditAndContinue\DeletedMethodBody.cs (1)
44
public
DebugId
MethodId => default;
Emit\EditAndContinue\EncClosureInfo.cs (2)
10
internal readonly struct EncClosureInfo(ClosureDebugInfo debugInfo,
DebugId
? parentDebugId, ImmutableArray<string> structCaptures)
20
public readonly
DebugId
? ParentDebugId = parentDebugId;
Emit\EditAndContinue\EncClosureMapValue.cs (5)
10
internal readonly struct EncClosureMapValue(
DebugId
id,
DebugId
? parentId, ImmutableArray<string> structCaptures)
12
public
DebugId
Id { get; } = id;
13
public
DebugId
? ParentId { get; } = parentId;
30
public bool IsCompatibleWith(
DebugId
? parentClosureId, ImmutableArray<string> structCaptures)
Emit\EditAndContinue\EncLambdaInfo.cs (2)
10
internal readonly struct EncLambdaInfo(LambdaDebugInfo debugInfo, ImmutableArray<
DebugId
> structClosureIds)
13
public readonly ImmutableArray<
DebugId
> StructClosureIds = structClosureIds;
Emit\EditAndContinue\EncLambdaMapValue.cs (5)
11
internal readonly struct EncLambdaMapValue(
DebugId
id, int closureOrdinal, ImmutableArray<
DebugId
> structClosureIds)
13
public readonly
DebugId
Id = id;
15
public readonly ImmutableArray<
DebugId
> StructClosureIds = structClosureIds;
35
public bool IsCompatibleWith(int closureOrdinal, ImmutableArray<
DebugId
> structClosureIds)
Emit\EditAndContinue\EncVariableSlotAllocator.cs (7)
25
private readonly
DebugId
? _methodId;
50
DebugId
? methodId,
100
public override
DebugId
? MethodId => _methodId;
304
DebugId
? parentClosureId,
306
out
DebugId
closureId,
331
public override bool TryGetPreviousLambda(SyntaxNode lambdaOrLambdaBodySyntax, bool isLambdaBody, int closureOrdinal, ImmutableArray<
DebugId
> structClosureIds, out
DebugId
lambdaId, out RuntimeRudeEdit? runtimeRudeEdit)
Emit\EditAndContinueMethodDebugInformation.cs (3)
203
methodOrdinal =
DebugId
.UndefinedOrdinal;
233
var
closureId = new DebugId(closuresBuilder.Count, generation: 0);
247
var
lambdaId = new DebugId(lambdasBuilder.Count, generation: 0);
Emit\NoPia\CommonEmbeddedMethod.cs (2)
174
public
DebugId
MethodId => default(
DebugId
);
PEWriter\Members.cs (1)
451
DebugId
MethodId { get; }
PEWriter\MethodDefinitionBase.cs (1)
151
public
DebugId
MethodId => default;
Symbols\CommonGeneratedNameParser.cs (4)
22
public static bool TryParseDebugIds(ReadOnlySpan<char> metadataNameSuffix, char idSeparator, bool isMethodIdOptional, out
DebugId
methodId, out
DebugId
entityId)
30
DebugId
? seenId = null;
66
var
id = new DebugId((int)value, (generation >= 0) ? generation : 0);
Microsoft.CodeAnalysis.CSharp (32)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (4)
523
internal
DebugId
GetTopLevelMethodId()
528
internal
DebugId
GetClosureId(ClosureEnvironment environment, SyntaxNode syntax, ArrayBuilder<EncClosureInfo> closureDebugInfo, out RuntimeRudeEdit? rudeEdit)
545
DebugId
closureId;
548
_slotAllocator.TryGetPreviousClosure(syntax, parentClosureId, structCaptures, out
var
previousClosureId, out rudeEdit) &&
Lowering\ClosureConversion\ClosureConversion.cs (16)
375
DebugId
methodId = _analysis.GetTopLevelMethodId();
376
DebugId
closureId = _analysis.GetClosureId(env, syntax, closureDebugInfo, out var rudeEdit);
421
DebugId
topLevelMethodId;
422
DebugId
lambdaId;
521
DebugId
methodId;
524
methodId = new DebugId(
DebugId
.UndefinedOrdinal, CompilationState.ModuleBuilderOpt.CurrentGenerationOrdinal);
1428
DebugId
topLevelMethodId;
1429
DebugId
lambdaId;
1442
private
DebugId
GetLambdaId(SyntaxNode syntax, ClosureKind closureKind, int closureOrdinal, ImmutableArray<
DebugId
> structClosureIds, RuntimeRudeEdit? closureRudeEdit)
1488
DebugId
lambdaId;
1489
DebugId
previousLambdaId = default;
1520
out
DebugId
topLevelMethodId,
1521
out
DebugId
lambdaId)
1640
DebugId
topLevelMethodId;
1641
DebugId
lambdaId;
Lowering\ClosureConversion\SynthesizedClosureEnvironment.cs (5)
43
public readonly
DebugId
ClosureId;
51
DebugId
methodId,
52
DebugId
closureId,
78
private static string MakeName(SyntaxNode scopeSyntaxOpt,
DebugId
methodId,
DebugId
closureId)
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (7)
23
internal readonly
DebugId
LambdaId;
30
DebugId
topLevelMethodId,
33
DebugId
lambdaId,
175
private static string MakeName(string topLevelMethodName, string localFunctionName,
DebugId
topLevelMethodId, ClosureKind closureKind,
DebugId
lambdaId)
186
private static string MakeName(string topLevelMethodName,
DebugId
topLevelMethodId, ClosureKind closureKind,
DebugId
lambdaId)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
Emit\GeneratedNamesTests.cs (2)
71
Assert.True(CommonGeneratedNames.TryParseDebugIds(metadataName.AsSpan(), GeneratedNameConstants.IdSeparator, isMethodIdOptional, out
var
actualMethodId, out
var
actualEntityId));