From 284288f1d08bc55f8221f6112faadbd4b745cb12 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Thu, 20 Mar 2014 20:28:22 +0100 Subject: [PATCH] Making src/core/{image,obj,parser}.js adhere to the style guide --- src/core/image.js | 29 +++++----- src/core/obj.js | 66 ++++++++++------------ src/core/parser.js | 133 ++++++++++++++++++++++++--------------------- 3 files changed, 117 insertions(+), 111 deletions(-) diff --git a/src/core/image.js b/src/core/image.js index 5a48d0c8c..8dc7b6dcb 100644 --- a/src/core/image.js +++ b/src/core/image.js @@ -47,7 +47,7 @@ var PDFImage = (function PDFImageClosure() { function decodeAndClamp(value, addend, coefficient, max) { value = addend + value * coefficient; // Clamp the value to the range - return value < 0 ? 0 : value > max ? max : value; + return (value < 0 ? 0 : (value > max ? max : value)); } function PDFImage(xref, res, image, inline, smask, mask, isMask) { this.image = image; @@ -89,7 +89,7 @@ var PDFImage = (function PDFImageClosure() { if (!this.imageMask) { var colorSpace = dict.get('ColorSpace', 'CS'); if (!colorSpace) { - warn('JPX images (which don"t require color spaces'); + warn('JPX images (which do not require color spaces)'); colorSpace = Name.get('DeviceRGB'); } this.colorSpace = ColorSpace.parse(colorSpace, xref, res); @@ -134,7 +134,7 @@ var PDFImage = (function PDFImageClosure() { var imageDataPromise = new LegacyPromise(); var smaskPromise = new LegacyPromise(); var maskPromise = new LegacyPromise(); - // The image data and smask data may not be ready yet, wait till both are + // The image data and smask data may not be ready yet, wait until both are // resolved. Promise.all([imageDataPromise, smaskPromise, maskPromise]).then( function(results) { @@ -170,7 +170,7 @@ var PDFImage = (function PDFImageClosure() { }; /** - * Resize an image using the nearest neighbor algorithm. Currently only + * Resize an image using the nearest neighbor algorithm. Currently only * supports one and three component images. * @param {TypedArray} pixels The original image with one component. * @param {Number} bpc Number of bits per component. @@ -184,8 +184,8 @@ var PDFImage = (function PDFImageClosure() { PDFImage.resize = function PDFImage_resize(pixels, bpc, components, w1, h1, w2, h2) { var length = w2 * h2 * components; - var temp = bpc <= 8 ? new Uint8Array(length) : - bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length); + var temp = (bpc <= 8 ? new Uint8Array(length) : + (bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length))); var xRatio = w1 / w2; var yRatio = h1 / h2; var px, py, newIndex, oldIndex; @@ -266,7 +266,7 @@ var PDFImage = (function PDFImageClosure() { for (var i = 0, ii = this.width * this.height; i < ii; i++) { for (var j = 0; j < numComps; j++) { buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], - decodeCoefficients[j], max); + decodeCoefficients[j], max); index++; } } @@ -285,8 +285,8 @@ var PDFImage = (function PDFImageClosure() { var length = width * height * numComps; var bufferPos = 0; - var output = bpc <= 8 ? new Uint8Array(length) : - bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length); + var output = (bpc <= 8 ? new Uint8Array(length) : + (bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length))); var rowComps = width * numComps; var max = (1 << bpc) - 1; @@ -338,7 +338,7 @@ var PDFImage = (function PDFImageClosure() { var remainingBits = bits - bpc; var value = buf >> remainingBits; - output[i] = value < 0 ? 0 : value > max ? max : value; + output[i] = (value < 0 ? 0 : (value > max ? max : value)); buf = buf & ((1 << remainingBits) - 1); bits = remainingBits; } @@ -418,7 +418,7 @@ var PDFImage = (function PDFImageClosure() { } function clamp(value) { - return (value < 0 ? 0 : value > 255 ? 255 : value) | 0; + return (value < 0 ? 0 : (value > 255 ? 255 : value)) | 0; } var matteRgb = this.colorSpace.getRgb(matte, 0); @@ -442,7 +442,7 @@ var PDFImage = (function PDFImageClosure() { createImageData: function PDFImage_createImageData(forceRGBA) { var drawWidth = this.drawWidth; var drawHeight = this.drawHeight; - var imgData = { // other fields are filled in below + var imgData = { // other fields are filled in below width: drawWidth, height: drawHeight }; @@ -529,14 +529,15 @@ var PDFImage = (function PDFImageClosure() { }, fillGrayBuffer: function PDFImage_fillGrayBuffer(buffer) { var numComps = this.numComps; - if (numComps != 1) + if (numComps != 1) { error('Reading gray scale from a color image: ' + numComps); + } var width = this.width; var height = this.height; var bpc = this.bpc; - // rows start at byte boundary; + // rows start at byte boundary var rowBytes = (width * numComps * bpc + 7) >> 3; var imgArray = this.getImageBytes(height * rowBytes); diff --git a/src/core/obj.js b/src/core/obj.js index ef2702232..f9f197b1e 100644 --- a/src/core/obj.js +++ b/src/core/obj.js @@ -34,7 +34,7 @@ var Name = (function NameClosure() { Name.get = function Name_get(name) { var nameValue = nameCache[name]; - return nameValue ? nameValue : (nameCache[name] = new Name(name)); + return (nameValue ? nameValue : (nameCache[name] = new Name(name))); }; return Name; @@ -51,7 +51,7 @@ var Cmd = (function CmdClosure() { Cmd.get = function Cmd_get(cmd) { var cmdValue = cmdCache[cmd]; - return cmdValue ? cmdValue : (cmdCache[cmd] = new Cmd(cmd)); + return (cmdValue ? cmdValue : (cmdCache[cmd] = new Cmd(cmd))); }; return Cmd; @@ -133,7 +133,7 @@ var Dict = (function DictClosure() { var all = {}; for (var key in this.map) { var obj = this.get(key); - all[key] = obj instanceof Dict ? obj.getAll() : obj; + all[key] = (obj instanceof Dict ? obj.getAll() : obj); } return all; }, @@ -167,8 +167,8 @@ var Ref = (function RefClosure() { return Ref; })(); -// The reference is identified by number and generation, -// this structure stores only one instance of the reference. +// The reference is identified by number and generation. +// This structure stores only one instance of the reference. var RefSet = (function RefSetClosure() { function RefSet() { this.dict = {}; @@ -242,8 +242,8 @@ var Catalog = (function CatalogClosure() { return shadow(this, 'metadata', null); } - var encryptMetadata = !this.xref.encrypt ? false : - this.xref.encrypt.encryptMetadata; + var encryptMetadata = (!this.xref.encrypt ? false : + this.xref.encrypt.encryptMetadata); var stream = this.xref.fetch(streamRef, !encryptMetadata); var metadata; @@ -340,7 +340,7 @@ var Catalog = (function CatalogClosure() { } } } - return root.items.length > 0 ? root.items : null; + return (root.items.length > 0 ? root.items : null); }, get numPages() { var obj = this.toplevelPagesDict.get('Count'); @@ -399,7 +399,7 @@ var Catalog = (function CatalogClosure() { if (!names.hasOwnProperty(name)) { continue; } - // We don't really use the JavaScript right now so this code is + // We don't really use the JavaScript right now. This code is // defensive so we don't cause errors on document load. var jsDict = names[name]; if (!isDict(jsDict)) { @@ -535,7 +535,7 @@ var Catalog = (function CatalogClosure() { var found = false; for (var i = 0; i < kids.length; i++) { var kid = kids[i]; - assert(isRef(kid), 'kids must be an ref'); + assert(isRef(kid), 'kids must be a ref'); if (kid.num == kidRef.num) { found = true; break; @@ -580,7 +580,6 @@ var Catalog = (function CatalogClosure() { var XRef = (function XRefClosure() { function XRef(stream, password) { - this.stream = stream; this.entries = []; this.xrefstms = {}; @@ -610,8 +609,8 @@ var XRef = (function XRefClosure() { if (encrypt) { var ids = trailerDict.get('ID'); var fileId = (ids && ids.length) ? ids[0] : ''; - this.encrypt = new CipherTransformFactory( - encrypt, fileId, this.password); + this.encrypt = new CipherTransformFactory(encrypt, fileId, + this.password); } // get the root dictionary (catalog) object @@ -702,16 +701,17 @@ var XRef = (function XRefClosure() { entry.gen = parser.getObj(); var type = parser.getObj(); - if (isCmd(type, 'f')) + if (isCmd(type, 'f')) { entry.free = true; - else if (isCmd(type, 'n')) + } else if (isCmd(type, 'n')) { entry.uncompressed = true; + } // Validate entry obj if (!isInt(entry.offset) || !isInt(entry.gen) || !(entry.free || entry.uncompressed)) { console.log(entry.offset, entry.gen, entry.free, - entry.uncompressed); + entry.uncompressed); error('Invalid entry in XRef subsection: ' + first + ', ' + count); } @@ -777,7 +777,6 @@ var XRef = (function XRefClosure() { var entryRanges = streamState.entryRanges; while (entryRanges.length > 0) { - var first = entryRanges[0]; var n = entryRanges[1]; @@ -793,9 +792,10 @@ var XRef = (function XRefClosure() { streamState.streamPos = stream.pos; var type = 0, offset = 0, generation = 0; - for (j = 0; j < typeFieldWidth; ++j) + for (j = 0; j < typeFieldWidth; ++j) { type = (type << 8) | stream.getByte(); - // if type field is absent, its default value = 1 + } + // if type field is absent, its default value is 1 if (typeFieldWidth === 0) { type = 1; } @@ -837,8 +837,9 @@ var XRef = (function XRefClosure() { function readToken(data, offset) { var token = '', ch = data[offset]; while (ch !== 13 && ch !== 10) { - if (++offset >= data.length) + if (++offset >= data.length) { break; + } token += String.fromCharCode(ch); ch = data[offset]; } @@ -853,9 +854,9 @@ var XRef = (function XRefClosure() { while (i < length && data[offset + i] == what[i]) { ++i; } - if (i >= length) + if (i >= length) { break; // sequence found - + } offset++; skipped++; } @@ -967,7 +968,6 @@ var XRef = (function XRefClosure() { // Get dictionary if (isCmd(obj, 'xref')) { - // Parse end-of-file XRef dict = this.processXRefTable(parser); if (!this.topDict) { @@ -986,7 +986,6 @@ var XRef = (function XRefClosure() { } } } else if (isInt(obj)) { - // Parse in-stream XRef if (!isInt(parser.getObj()) || !isCmd(parser.getObj(), 'obj') || @@ -997,7 +996,6 @@ var XRef = (function XRefClosure() { if (!this.topDict) { this.topDict = dict; } - if (!dict) { error('Failed to read XRef stream'); } @@ -1069,8 +1067,7 @@ var XRef = (function XRefClosure() { } }, - fetchUncompressed: function XRef_fetchUncompressed(ref, - xrefEntry, + fetchUncompressed: function XRef_fetchUncompressed(ref, xrefEntry, suppressEncryption) { var gen = ref.gen; var num = ref.num; @@ -1089,7 +1086,7 @@ var XRef = (function XRefClosure() { error('bad XRef entry'); } if (!isCmd(obj3, 'obj')) { - // some bad pdfs use "obj1234" and really mean 1234 + // some bad PDFs use "obj1234" and really mean 1234 if (obj3.cmd.indexOf('obj') === 0) { num = parseInt(obj3.cmd.substring(3), 10); if (!isNaN(num)) { @@ -1103,9 +1100,9 @@ var XRef = (function XRefClosure() { xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen)); } catch (ex) { - // almost all streams must be encrypted, but sometimes - // they are not probably due to some broken generators - // re-trying without encryption + // Almost all streams must be encrypted, but sometimes + // they are not, probably due to some broken generators. + // Retrying without encryption... return this.fetch(ref, true); } } else { @@ -1195,8 +1192,8 @@ var XRef = (function XRefClosure() { })(); /** - * A NameTree is like a Dict but has some adventagous properties, see the spec - * (7.9.6) for more details. + * A NameTree is like a Dict but has some advantageous properties, see the + * spec (7.9.6) for more details. * TODO: implement all the Dict functions and make this more efficent. */ var NameTree = (function NameTreeClosure() { @@ -1259,7 +1256,6 @@ var NameTree = (function NameTreeClosure() { * entire PDF document object graph to be traversed. */ var ObjectLoader = (function() { - function mayHaveChildren(value) { return isRef(value) || isDict(value) || isArray(value) || isStream(value); } @@ -1296,7 +1292,6 @@ var ObjectLoader = (function() { } ObjectLoader.prototype = { - load: function ObjectLoader_load() { var keys = this.keys; this.promise = new LegacyPromise(); @@ -1384,7 +1379,6 @@ var ObjectLoader = (function() { this.refSet = null; this.promise.resolve(); } - }; return ObjectLoader; diff --git a/src/core/parser.js b/src/core/parser.js index 0eb62c501..c86dcba9e 100644 --- a/src/core/parser.js +++ b/src/core/parser.js @@ -24,7 +24,7 @@ var EOF = {}; function isEOF(v) { - return v == EOF; + return (v == EOF); } var Parser = (function ParserClosure() { @@ -62,10 +62,12 @@ var Parser = (function ParserClosure() { if (isCmd(this.buf1, '[')) { // array this.shift(); var array = []; - while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) + while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) { array.push(this.getObj(cipherTransform)); - if (isEOF(this.buf1)) + } + if (isEOF(this.buf1)) { error('End of file inside array'); + } this.shift(); return array; } @@ -74,25 +76,27 @@ var Parser = (function ParserClosure() { var dict = new Dict(this.xref); while (!isCmd(this.buf1, '>>') && !isEOF(this.buf1)) { if (!isName(this.buf1)) { - info('Malformed dictionary, key must be a name object'); + info('Malformed dictionary: key must be a name object'); this.shift(); continue; } var key = this.buf1.name; this.shift(); - if (isEOF(this.buf1)) + if (isEOF(this.buf1)) { break; + } dict.set(key, this.getObj(cipherTransform)); } - if (isEOF(this.buf1)) + if (isEOF(this.buf1)) { error('End of file inside dictionary'); + } - // stream objects are not allowed inside content streams or - // object streams + // Stream objects are not allowed inside content streams or + // object streams. if (isCmd(this.buf2, 'stream')) { - return this.allowStreams ? - this.makeStream(dict, cipherTransform) : dict; + return (this.allowStreams ? + this.makeStream(dict, cipherTransform) : dict); } this.shift(); return dict; @@ -111,8 +115,9 @@ var Parser = (function ParserClosure() { if (isString(this.buf1)) { // string var str = this.buf1; this.shift(); - if (cipherTransform) + if (cipherTransform) { str = cipherTransform.decryptString(str); + } return str; } @@ -128,13 +133,15 @@ var Parser = (function ParserClosure() { // parse dictionary var dict = new Dict(); while (!isCmd(this.buf1, 'ID') && !isEOF(this.buf1)) { - if (!isName(this.buf1)) + if (!isName(this.buf1)) { error('Dictionary key must be a name object'); + } var key = this.buf1.name; this.shift(); - if (isEOF(this.buf1)) + if (isEOF(this.buf1)) { break; + } dict.set(key, this.getObj(cipherTransform)); } @@ -158,13 +165,13 @@ var Parser = (function ParserClosure() { break; // some binary stuff found, resetting the state } } - state = state === 3 ? 4 : 0; + state = (state === 3 ? 4 : 0); break; case 0x45: state = 2; break; case 0x49: - state = state === 2 ? 3 : 0; + state = (state === 2 ? 3 : 0); break; default: state = 0; @@ -224,7 +231,7 @@ var Parser = (function ParserClosure() { }, fetchIfRef: function Parser_fetchIfRef(obj) { // not relying on the xref.fetchIfRef -- xref might not be set - return isRef(obj) ? this.xref.fetch(obj) : obj; + return (isRef(obj) ? this.xref.fetch(obj) : obj); }, makeStream: function Parser_makeStream(dict, cipherTransform) { var lexer = this.lexer; @@ -293,8 +300,9 @@ var Parser = (function ParserClosure() { this.shift(); // 'endstream' stream = stream.makeSubStream(pos, length, dict); - if (cipherTransform) + if (cipherTransform) { stream = cipherTransform.createStream(stream, length); + } stream = this.filter(stream, dict, length); stream.dict = dict; return stream; @@ -302,8 +310,9 @@ var Parser = (function ParserClosure() { filter: function Parser_filter(stream, dict, length) { var filter = this.fetchIfRef(dict.get('Filter', 'F')); var params = this.fetchIfRef(dict.get('DecodeParms', 'DP')); - if (isName(filter)) + if (isName(filter)) { return this.makeFilter(stream, filter.name, length, params); + } var maybeLength = length; if (isArray(filter)) { @@ -311,12 +320,14 @@ var Parser = (function ParserClosure() { var paramsArray = params; for (var i = 0, ii = filterArray.length; i < ii; ++i) { filter = filterArray[i]; - if (!isName(filter)) + if (!isName(filter)) { error('Bad filter name: ' + filter); + } params = null; - if (isArray(paramsArray) && (i in paramsArray)) + if (isArray(paramsArray) && (i in paramsArray)) { params = paramsArray[i]; + } stream = this.makeFilter(stream, filter.name, maybeLength, params); // after the first stream the length variable is invalid maybeLength = null; @@ -338,11 +349,12 @@ var Parser = (function ParserClosure() { if (name == 'LZWDecode' || name == 'LZW') { var earlyChange = 1; if (params) { - if (params.has('EarlyChange')) + if (params.has('EarlyChange')) { earlyChange = params.get('EarlyChange'); + } return new PredictorStream( new LZWStream(stream, maybeLength, earlyChange), - maybeLength, params); + maybeLength, params); } return new LZWStream(stream, maybeLength, earlyChange); } @@ -398,29 +410,29 @@ var Lexer = (function LexerClosure() { } Lexer.isSpace = function Lexer_isSpace(ch) { - // space is one of the following characters: SPACE, TAB, CR, or LF - return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A; + // Space is one of the following characters: SPACE, TAB, CR or LF. + return (ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A); }; - // A '1' in this array means the character is white space. A '1' or + // A '1' in this array means the character is white space. A '1' or // '2' means the character ends a name or command. var specialChars = [ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, // 0x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x - 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, // 2x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, // 3x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, // 5x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, // 7x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ax - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // bx - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // cx - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // dx - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ex - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // fx + 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, // 0x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x + 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, // 2x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, // 3x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, // 5x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, // 7x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ax + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // bx + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // cx + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // dx + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ex + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // fx ]; function toHexDigit(ch) { @@ -445,10 +457,8 @@ var Lexer = (function LexerClosure() { var ch = this.currentChar; var eNotation = false; var divideBy = 0; // different from 0 if it's a floating point value - var sign = 1; - if (ch === 0x2D) { // '-' sign = -1; ch = this.nextChar(); @@ -459,7 +469,6 @@ var Lexer = (function LexerClosure() { divideBy = 10; ch = this.nextChar(); } - if (ch < 0x30 || ch > 0x39) { // '0' - '9' error('Invalid number: ' + String.fromCharCode(ch)); return 0; @@ -584,7 +593,6 @@ var Lexer = (function LexerClosure() { x = (x << 3) + (ch & 0x0F); } } - strBuf.push(String.fromCharCode(x)); break; case 0x0A: case 0x0D: // LF, CR @@ -617,8 +625,9 @@ var Lexer = (function LexerClosure() { var x = toHexDigit(ch); if (x != -1) { var x2 = toHexDigit(this.nextChar()); - if (x2 == -1) + if (x2 == -1) { error('Illegal digit in hex char in name: ' + x2); + } strBuf.push(String.fromCharCode((x << 4) | x2)); } else { strBuf.push('#', String.fromCharCode(ch)); @@ -682,8 +691,9 @@ var Lexer = (function LexerClosure() { return EOF; } if (comment) { - if (ch === 0x0A || ch == 0x0D) // LF, CR + if (ch === 0x0A || ch == 0x0D) { // LF, CR comment = false; + } } else if (ch === 0x25) { // '%' comment = true; } else if (specialChars[ch] !== 1) { @@ -748,17 +758,21 @@ var Lexer = (function LexerClosure() { if (knownCommandFound && !(possibleCommand in knownCommands)) { break; } - if (str.length == 128) + if (str.length == 128) { error('Command token too long: ' + str.length); + } str = possibleCommand; knownCommandFound = knownCommands && (str in knownCommands); } - if (str == 'true') + if (str == 'true') { return true; - if (str == 'false') + } + if (str == 'false') { return false; - if (str == 'null') + } + if (str == 'null') { return null; + } return Cmd.get(str); }, skipToNextLine: function Lexer_skipToNextLine() { @@ -793,8 +807,9 @@ var Linearization = (function LinearizationClosure() { if (isInt(obj1) && isInt(obj2) && isCmd(obj3, 'obj') && isDict(this.linDict)) { var obj = this.linDict.get('Linearized'); - if (!(isNum(obj) && obj > 0)) + if (!(isNum(obj) && obj > 0)) { this.linDict = null; + } } } @@ -802,9 +817,7 @@ var Linearization = (function LinearizationClosure() { getInt: function Linearization_getInt(name) { var linDict = this.linDict; var obj; - if (isDict(linDict) && - isInt(obj = linDict.get(name)) && - obj > 0) { + if (isDict(linDict) && isInt(obj = linDict.get(name)) && obj > 0) { return obj; } error('"' + name + '" field in linearization table is invalid'); @@ -812,18 +825,16 @@ var Linearization = (function LinearizationClosure() { getHint: function Linearization_getHint(index) { var linDict = this.linDict; var obj1, obj2; - if (isDict(linDict) && - isArray(obj1 = linDict.get('H')) && - obj1.length >= 2 && - isInt(obj2 = obj1[index]) && - obj2 > 0) { + if (isDict(linDict) && isArray(obj1 = linDict.get('H')) && + obj1.length >= 2 && isInt(obj2 = obj1[index]) && obj2 > 0) { return obj2; } error('Hints table in linearization table is invalid: ' + index); }, get length() { - if (!isDict(this.linDict)) + if (!isDict(this.linDict)) { return 0; + } return this.getInt('L'); }, get hintsOffset() {