Inline a couple of isRef/isDict checks in the ObjectLoader code
				
					
				
			As we've seen in numerous other cases, avoiding unnecessary function calls is never a bad thing (even if the effect is probably tiny here).
This commit is contained in:
		
							parent
							
								
									1133dbac33
								
							
						
					
					
						commit
						2d35a49dd8
					
				@ -2038,13 +2038,13 @@ var FileSpec = (function FileSpecClosure() {
 | 
			
		||||
 */
 | 
			
		||||
let ObjectLoader = (function() {
 | 
			
		||||
  function mayHaveChildren(value) {
 | 
			
		||||
    return isRef(value) || isDict(value) || Array.isArray(value) ||
 | 
			
		||||
           isStream(value);
 | 
			
		||||
    return (value instanceof Ref) || (value instanceof Dict) ||
 | 
			
		||||
           Array.isArray(value) || isStream(value);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function addChildren(node, nodesToVisit) {
 | 
			
		||||
    if (isDict(node) || isStream(node)) {
 | 
			
		||||
      let dict = isDict(node) ? node : node.dict;
 | 
			
		||||
    if ((node instanceof Dict) || isStream(node)) {
 | 
			
		||||
      let dict = (node instanceof Dict) ? node : node.dict;
 | 
			
		||||
      let dictKeys = dict.getKeys();
 | 
			
		||||
      for (let i = 0, ii = dictKeys.length; i < ii; i++) {
 | 
			
		||||
        let rawValue = dict.getRaw(dictKeys[i]);
 | 
			
		||||
@ -2104,7 +2104,7 @@ let ObjectLoader = (function() {
 | 
			
		||||
        let currentNode = nodesToVisit.pop();
 | 
			
		||||
 | 
			
		||||
        // Only references or chunked streams can cause missing data exceptions.
 | 
			
		||||
        if (isRef(currentNode)) {
 | 
			
		||||
        if (currentNode instanceof Ref) {
 | 
			
		||||
          // Skip nodes that have already been visited.
 | 
			
		||||
          if (this.refSet.has(currentNode)) {
 | 
			
		||||
            continue;
 | 
			
		||||
@ -2144,7 +2144,7 @@ let ObjectLoader = (function() {
 | 
			
		||||
            let node = nodesToRevisit[i];
 | 
			
		||||
            // Remove any reference nodes from the current `RefSet` so they
 | 
			
		||||
            // aren't skipped when we revist them.
 | 
			
		||||
            if (isRef(node)) {
 | 
			
		||||
            if (node instanceof Ref) {
 | 
			
		||||
              this.refSet.remove(node);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user