void WriteStackTrace(StringBuilder sb)
{
int? startPos, endPos;
this.FindStartEndPos (out startPos, out endPos);
this.PrintLineFor (sb, this.programCounter, startPos, endPos);
for (var i = this.stack.Count - 1; i >= 0; i--) {
if (this.stack.Storage [i].Kind == Value.Kinds.ReturnAddress) {
var ra = this.stack.Storage [i].ReturnAddressValue;
var pc = ra.ProgramCounter;
var callSite = this.bytecode [pc - 1];
this.PrintLineFor (sb, pc, callSite.StartPos, callSite.EndPos);
}
}
}