Browse Source

Fix LocalScope.VariableList for empty scopes.

pull/1420/head
Daniel Grunwald 7 years ago
parent
commit
66197818b9
  1. 10
      ICSharpCode.Decompiler/DebugInfo/ScopesGenerator.cs

10
ICSharpCode.Decompiler/DebugInfo/ScopesGenerator.cs

@ -55,13 +55,11 @@ namespace ICSharpCode.Decompiler.DebugInfo @@ -55,13 +55,11 @@ namespace ICSharpCode.Decompiler.DebugInfo
}
foreach (var localScope in generator.localScopes) {
LocalVariableHandle firstLocalVariable = default;
// TODO : indices of local variables must be contiguous
int nextRow = metadata.GetRowCount(TableIndex.LocalVariable) + 1;
var firstLocalVariable = MetadataTokens.LocalVariableHandle(nextRow);
foreach (var local in localScope.Locals.OrderBy(l => l.Index)) {
var h = metadata.AddLocalVariable(LocalVariableAttributes.None, local.Index, metadata.GetOrAddString(local.Name));
if (firstLocalVariable.IsNil)
firstLocalVariable = h;
metadata.AddLocalVariable(LocalVariableAttributes.None, local.Index, metadata.GetOrAddString(local.Name));
}
metadata.AddLocalScope(localScope.Method, localScope.Import.Handle, firstLocalVariable,

Loading…
Cancel
Save