Merge pull request #13371 from Snuffleupagus/revert-evaluator-manual-no-var

Revert "Fix the remaining `no-var` failures, which couldn't be handled automatically, in the `src/core/evaluator.js` file" (PR 13344 follow-up)
This commit is contained in:
Tim van der Meij 2021-05-13 13:25:55 +02:00 committed by GitHub
commit 9d1f579413
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,6 +12,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
/* eslint-disable no-var */
import { import {
AbortException, AbortException,
@ -393,8 +394,7 @@ class PartialEvaluator {
} else { } else {
bbox = null; bbox = null;
} }
let optionalContent = null, let optionalContent = null;
groupOptions = null;
if (dict.has("OC")) { if (dict.has("OC")) {
optionalContent = await this.parseMarkedContentProps( optionalContent = await this.parseMarkedContentProps(
dict.get("OC"), dict.get("OC"),
@ -404,7 +404,7 @@ class PartialEvaluator {
} }
const group = dict.get("Group"); const group = dict.get("Group");
if (group) { if (group) {
groupOptions = { var groupOptions = {
matrix, matrix,
bbox, bbox,
smask, smask,
@ -1467,7 +1467,7 @@ class PartialEvaluator {
timeSlotManager.reset(); timeSlotManager.reset();
const operation = {}; const operation = {};
let stop, i, ii, cs; let stop, i, ii, cs, name;
while (!(stop = timeSlotManager.check())) { while (!(stop = timeSlotManager.check())) {
// The arguments parsed by read() are used beyond this loop, so we // The arguments parsed by read() are used beyond this loop, so we
// cannot reuse the same array on each iteration. Therefore we pass // cannot reuse the same array on each iteration. Therefore we pass
@ -1481,9 +1481,9 @@ class PartialEvaluator {
let fn = operation.fn; let fn = operation.fn;
switch (fn | 0) { switch (fn | 0) {
case OPS.paintXObject: { case OPS.paintXObject:
// eagerly compile XForm objects // eagerly compile XForm objects
const name = args[0].name; name = args[0].name;
if (name) { if (name) {
const localImage = localImageCache.getByName(name); const localImage = localImageCache.getByName(name);
if (localImage) { if (localImage) {
@ -1589,9 +1589,8 @@ class PartialEvaluator {
}) })
); );
return; return;
} case OPS.setFont:
case OPS.setFont: { var fontSize = args[1];
const fontSize = args[1];
// eagerly collect all fonts // eagerly collect all fonts
next( next(
self self
@ -1610,15 +1609,14 @@ class PartialEvaluator {
}) })
); );
return; return;
}
case OPS.beginText: case OPS.beginText:
parsingText = true; parsingText = true;
break; break;
case OPS.endText: case OPS.endText:
parsingText = false; parsingText = false;
break; break;
case OPS.endInlineImage: { case OPS.endInlineImage:
const cacheKey = args[0].cacheKey; var cacheKey = args[0].cacheKey;
if (cacheKey) { if (cacheKey) {
const localImage = localImageCache.getByName(cacheKey); const localImage = localImageCache.getByName(cacheKey);
if (localImage) { if (localImage) {
@ -1639,7 +1637,6 @@ class PartialEvaluator {
}) })
); );
return; return;
}
case OPS.showText: case OPS.showText:
if (!stateManager.state.font) { if (!stateManager.state.font) {
self.ensureStateFont(stateManager.state); self.ensureStateFont(stateManager.state);
@ -1652,10 +1649,10 @@ class PartialEvaluator {
self.ensureStateFont(stateManager.state); self.ensureStateFont(stateManager.state);
continue; continue;
} }
const arr = args[0], var arr = args[0];
arrLength = arr.length, var combinedGlyphs = [];
combinedGlyphs = [], var arrLength = arr.length;
state = stateManager.state; var state = stateManager.state;
for (i = 0; i < arrLength; ++i) { for (i = 0; i < arrLength; ++i) {
const arrItem = arr[i]; const arrItem = arr[i];
if (isString(arrItem)) { if (isString(arrItem)) {
@ -1827,18 +1824,18 @@ class PartialEvaluator {
fn = OPS.setStrokeRGBColor; fn = OPS.setStrokeRGBColor;
break; break;
case OPS.shadingFill: { case OPS.shadingFill:
const shadingRes = resources.get("Shading"); var shadingRes = resources.get("Shading");
if (!shadingRes) { if (!shadingRes) {
throw new FormatError("No shading resource found"); throw new FormatError("No shading resource found");
} }
const shading = shadingRes.get(args[0].name); var shading = shadingRes.get(args[0].name);
if (!shading) { if (!shading) {
throw new FormatError("No shading object found"); throw new FormatError("No shading object found");
} }
const shadingFill = Pattern.parseShading( var shadingFill = Pattern.parseShading(
shading, shading,
null, null,
xref, xref,
@ -1847,13 +1844,12 @@ class PartialEvaluator {
self._pdfFunctionFactory, self._pdfFunctionFactory,
localColorSpaceCache localColorSpaceCache
); );
const patternIR = shadingFill.getIR(); var patternIR = shadingFill.getIR();
args = [patternIR]; args = [patternIR];
fn = OPS.shadingFill; fn = OPS.shadingFill;
break; break;
} case OPS.setGState:
case OPS.setGState: { name = args[0].name;
const name = args[0].name;
if (name) { if (name) {
const localGStateObj = localGStateCache.getByName(name); const localGStateObj = localGStateCache.getByName(name);
if (localGStateObj) { if (localGStateObj) {
@ -1913,7 +1909,6 @@ class PartialEvaluator {
}) })
); );
return; return;
}
case OPS.moveTo: case OPS.moveTo:
case OPS.lineTo: case OPS.lineTo:
case OPS.curveTo: case OPS.curveTo:
@ -2569,9 +2564,9 @@ class PartialEvaluator {
args = operation.args; args = operation.args;
switch (fn | 0) { switch (fn | 0) {
case OPS.setFont: { case OPS.setFont:
// Optimization to ignore multiple identical Tf commands. // Optimization to ignore multiple identical Tf commands.
const fontNameArg = args[0].name, var fontNameArg = args[0].name,
fontSizeArg = args[1]; fontSizeArg = args[1];
if ( if (
textState.font && textState.font &&
@ -2586,7 +2581,6 @@ class PartialEvaluator {
textState.fontSize = fontSizeArg; textState.fontSize = fontSizeArg;
next(handleSetFont(fontNameArg, null)); next(handleSetFont(fontNameArg, null));
return; return;
}
case OPS.setTextRise: case OPS.setTextRise:
flushTextContentItem(); flushTextContentItem();
textState.textRise = args[0]; textState.textRise = args[0];
@ -2736,13 +2730,13 @@ class PartialEvaluator {
isFirstChunk: true, isFirstChunk: true,
}); });
break; break;
case OPS.paintXObject: { case OPS.paintXObject:
flushTextContentItem(); flushTextContentItem();
if (!xobjs) { if (!xobjs) {
xobjs = resources.get("XObject") || Dict.empty; xobjs = resources.get("XObject") || Dict.empty;
} }
const name = args[0].name; var name = args[0].name;
if (name && emptyXObjectCache.getByName(name)) { if (name && emptyXObjectCache.getByName(name)) {
break; break;
} }
@ -2853,9 +2847,8 @@ class PartialEvaluator {
}) })
); );
return; return;
} case OPS.setGState:
case OPS.setGState: { name = args[0].name;
const name = args[0].name;
if (name && emptyGStateCache.getByName(name)) { if (name && emptyGStateCache.getByName(name)) {
break; break;
} }
@ -2908,7 +2901,6 @@ class PartialEvaluator {
}) })
); );
return; return;
}
case OPS.beginMarkedContent: case OPS.beginMarkedContent:
if (includeMarkedContent) { if (includeMarkedContent) {
textContent.items.push({ textContent.items.push({
@ -3775,7 +3767,7 @@ class PartialEvaluator {
throw new FormatError("invalid font name"); throw new FormatError("invalid font name");
} }
let fontFile, subtype, length1, length2, length3; let fontFile;
try { try {
fontFile = descriptor.get("FontFile", "FontFile2", "FontFile3"); fontFile = descriptor.get("FontFile", "FontFile2", "FontFile3");
} catch (ex) { } catch (ex) {
@ -3787,13 +3779,13 @@ class PartialEvaluator {
} }
if (fontFile) { if (fontFile) {
if (fontFile.dict) { if (fontFile.dict) {
const subtypeEntry = fontFile.dict.get("Subtype"); var subtype = fontFile.dict.get("Subtype");
if (subtypeEntry instanceof Name) { if (subtype) {
subtype = subtypeEntry.name; subtype = subtype.name;
} }
length1 = fontFile.dict.get("Length1"); var length1 = fontFile.dict.get("Length1");
length2 = fontFile.dict.get("Length2"); var length2 = fontFile.dict.get("Length2");
length3 = fontFile.dict.get("Length3"); var length3 = fontFile.dict.get("Length3");
} }
} }