projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move GCLatencyMode to System.Runtime
[mono.git]
/
mcs
/
class
/
Mono.Cecil.Mdb
/
Mono.Cecil.Mdb
/
MdbWriter.cs
diff --git
a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
index 61ab6694d62924e0de4be5e631219d85e17a23f7..eb302a8ac4d31260103c8d828760b78ecf29b76b 100644
(file)
--- a/
mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
+++ b/
mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
@@
-104,6
+104,8
@@
namespace Mono.Cecil.Mdb {
Instruction [] instructions = GetInstructions (body);
int length = instructions.Length;
Instruction [] instructions = GetInstructions (body);
int length = instructions.Length;
+ if (length == 0)
+ return;
int [] offsets = new int [length];
int [] startRows = new int [length];
int [] offsets = new int [length];
int [] startRows = new int [length];
@@
-119,10
+121,20
@@
namespace Mono.Cecil.Mdb {
for (int i = 0; i < length; i++)
m_writer.MarkSequencePoint (offsets [i], startRows [i], startCols [i]);
for (int i = 0; i < length; i++)
m_writer.MarkSequencePoint (offsets [i], startRows [i], startCols [i]);
-
+
+ MarkVariables (body, variables);
+
m_writer.CloseMethod ();
}
m_writer.CloseMethod ();
}
+ void MarkVariables (MethodBody body, byte [][] variables)
+ {
+ for (int i = 0; i < body.Variables.Count; i++) {
+ VariableDefinition var = body.Variables [i];
+ m_writer.DefineLocalVariable (i, var.Name, variables [i]);
+ }
+ }
+
public void Dispose ()
{
m_writer.WriteSymbolFile (m_mvid);
public void Dispose ()
{
m_writer.WriteSymbolFile (m_mvid);