aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-05-25 15:00:11 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-05-25 15:00:11 -0700
commitd3efb7dcb71f0d9d6df09fee687fa1dbd0bde9bf (patch)
tree19be204e6a786b13d7a1136302e457deca36404e /src/parseTools.js
parente1b8b28863ee7fea3117d0d10d7ab0a679dfb8ca (diff)
allow 2 and 3 in SAFE_HEAP and CHECK_* options. 2 is only these, 3 is all but these
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index a2f946bc..9e0fc24c 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -592,32 +592,40 @@ function indentify(text, indent) {
// Correction tools
function correctSpecificSign() {
- assert(!(CORRECT_SIGNS === 2 && !Debugging.on), 'Need debugging for line-specific corrections');
- return CORRECT_SIGNS === 2 && Framework.currItem && Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_SIGNS_LINES;
+ assert(!(CORRECT_SIGNS >= 2 && !Debugging.on), 'Need debugging for line-specific corrections');
+ if (!Framework.currItem) return false;
+ return (CORRECT_SIGNS === 2 && Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_SIGNS_LINES) ||
+ (CORRECT_SIGNS === 3 && !(Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_SIGNS_LINES));
}
function correctSigns() {
return CORRECT_SIGNS === 1 || correctSpecificSign();
}
function correctSpecificOverflow() {
- assert(!(CORRECT_OVERFLOWS === 2 && !Debugging.on), 'Need debugging for line-specific corrections');
- return CORRECT_OVERFLOWS === 2 && Framework.currItem && Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_OVERFLOWS_LINES;
+ assert(!(CORRECT_OVERFLOWS >= 2 && !Debugging.on), 'Need debugging for line-specific corrections');
+ if (!Framework.currItem) return false;
+ return (CORRECT_OVERFLOWS === 2 && Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_OVERFLOWS_LINES) ||
+ (CORRECT_OVERFLOWS === 3 && !(Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_OVERFLOWS_LINES));
}
function correctOverflows() {
return CORRECT_OVERFLOWS === 1 || correctSpecificOverflow();
}
function correctSpecificRounding() {
- assert(!(CORRECT_ROUNDINGS === 2 && !Debugging.on), 'Need debugging for line-specific corrections');
- return CORRECT_ROUNDINGS === 2 && Framework.currItem && Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_ROUNDINGS_LINES;
+ assert(!(CORRECT_ROUNDINGS >= 2 && !Debugging.on), 'Need debugging for line-specific corrections');
+ if (!Framework.currItem) return false;
+ return (CORRECT_ROUNDINGS === 2 && Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_ROUNDINGS_LINES) ||
+ (CORRECT_ROUNDINGS === 3 && !(Debugging.getIdentifier(Framework.currItem.lineNum) in CORRECT_ROUNDINGS_LINES));
}
function correctRoundings() {
return CORRECT_ROUNDINGS === 1 || correctSpecificRounding();
}
function checkSpecificSafeHeap() {
- assert(!(SAFE_HEAP === 2 && !Debugging.on), 'Need debugging for line-specific checks');
- return SAFE_HEAP === 2 && Framework.currItem && !(Debugging.getIdentifier(Framework.currItem.lineNum) in SAFE_HEAP_LINES);
+ assert(!(SAFE_HEAP >= 2 && !Debugging.on), 'Need debugging for line-specific checks');
+ if (!Framework.currItem) return false;
+ return (SAFE_HEAP === 2 && Debugging.getIdentifier(Framework.currItem.lineNum) in SAFE_HEAP_LINES) ||
+ (SAFE_HEAP === 3 && !(Debugging.getIdentifier(Framework.currItem.lineNum) in SAFE_HEAP_LINES));
}
function checkSafeHeap() {
return SAFE_HEAP === 1 || checkSpecificSafeHeap();