remove unused _opt in favor of code size/readability

This commit is contained in:
Matthias Bartelmeß 2012-07-08 11:51:04 +02:00
parent 9ff3aa0ee0
commit 3a0015c357
1 changed files with 89 additions and 156 deletions

View File

@ -27,8 +27,6 @@
var AttributePool = require("./AttributePool");
var _opt = null;
/**
* ==================== General Util Functions =======================
*/
@ -127,22 +125,13 @@ exports.opIterator = function (opsStr, optStartIndex) {
function nextRegexMatch() {
prevIndex = curIndex;
var result;
if (_opt) {
result = _opt.nextOpInString(opsStr, curIndex);
if (result) {
if (result.opcode() == '?') {
exports.error("Hit error opcode in op stream");
}
curIndex = result.lastIndex();
}
} else {
regex.lastIndex = curIndex;
result = regex.exec(opsStr);
curIndex = regex.lastIndex;
if (result[0] == '?') {
exports.error("Hit error opcode in op stream");
}
}
return result;
}
var regexResult = nextRegexMatch();
@ -150,13 +139,7 @@ exports.opIterator = function (opsStr, optStartIndex) {
function next(optObj) {
var op = (optObj || obj);
if (_opt && regexResult) {
op.attribs = regexResult.attribs();
op.lines = regexResult.lines();
op.chars = regexResult.chars();
op.opcode = regexResult.opcode();
regexResult = nextRegexMatch();
} else if ((!_opt) && regexResult[0]) {
if (regexResult[0]) {
op.attribs = regexResult[1];
op.lines = exports.parseNum(regexResult[2] || 0);
op.opcode = regexResult[3];
@ -169,7 +152,7 @@ exports.opIterator = function (opsStr, optStartIndex) {
}
function hasNext() {
return !!(_opt ? regexResult : regexResult[0]);
return !!(regexResult[0]);
}
function lastIndex() {
@ -414,35 +397,8 @@ exports.smartOpAssembler = function () {
};
};
if (_opt) {
exports.mergingOpAssembler = function () {
var assem = _opt.mergingOpAssembler();
function append(op) {
assem.append(op.opcode, op.chars, op.lines, op.attribs);
}
function toString() {
return assem.toString();
}
function clear() {
assem.clear();
}
function endDocument() {
assem.endDocument();
}
return {
append: append,
toString: toString,
clear: clear,
endDocument: endDocument
};
};
} else {
exports.mergingOpAssembler = function () {
exports.mergingOpAssembler = function () {
// This assembler can be used in production; it efficiently
// merges consecutive operations that are mergeable, ignores
// no-ops, and drops final pure "keeps". It does not re-order
@ -514,33 +470,11 @@ if (_opt) {
clear: clear,
endDocument: endDocument
};
};
}
};
if (_opt) {
exports.opAssembler = function () {
var assem = _opt.opAssembler();
// this function allows op to be mutated later (doesn't keep a ref)
function append(op) {
assem.append(op.opcode, op.chars, op.lines, op.attribs);
}
function toString() {
return assem.toString();
}
function clear() {
assem.clear();
}
return {
append: append,
toString: toString,
clear: clear
};
};
} else {
exports.opAssembler = function () {
exports.opAssembler = function () {
var pieces = [];
// this function allows op to be mutated later (doesn't keep a ref)
@ -565,8 +499,7 @@ if (_opt) {
toString: toString,
clear: clear
};
};
}
};
/**
* A custom made String Iterator