diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-08-05 18:02:55 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-08-05 18:02:55 -0700 |
commit | b63082e4b35a2001bb3029c1fab3e403445feaec (patch) | |
tree | 2c7e95a2107a31044bc7728c5ae0fac27028140e /src/modules.js | |
parent | 15d64a10cc64d2da2ee3d6e2b941c8707765d751 (diff) |
improve Debugging.getIdentifier
Diffstat (limited to 'src/modules.js')
-rw-r--r-- | src/modules.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/modules.js b/src/modules.js index 6b8d880a..e2509965 100644 --- a/src/modules.js +++ b/src/modules.js @@ -163,9 +163,20 @@ var Debugging = { getIdentifier: function(lineNum) { if (!this.on) return null; - var sourceFile = this.llvmLineToSourceFile[lineNum]; - if (!sourceFile) return null; - return sourceFile.split('/').slice(-1)[0] + ':' + this.llvmLineToSourceLine[lineNum]; + if (lineNum === undefined) { + lineNum = Framework.currItem.lineNum; + assert(lineNum !== undefined); + } + var approx = false; + var sourceFile; + while (lineNum >= 0) { + var sourceFile = this.llvmLineToSourceFile[lineNum]; + if (sourceFile) break; + lineNum--; + approx = true; + } + if (!sourceFile) return 'UNKNOWN'; + return sourceFile.split('/').slice(-1)[0] + ':' + (approx ? '~' : '') + this.llvmLineToSourceLine[lineNum]; } }; |