code: function() {
  			var context = this.tryContext;
  
  			this.tryContext = context.upper;
  
  			if (context.position === "catch") {
  
  				// Merges two paths from the `try` block and `catch` block merely.
  				this.popForkContext();
  				return;
  			}
  
  			/*
  			 * The following process is executed only when there is the `finally`
  			 * block.
  			 */
  
  			var returned = context.returnedForkContext;
  			var thrown = context.thrownForkContext;
  
  			if (returned.empty && thrown.empty) {
  				return;
  			}
  
  			// Separate head to normal paths and leaving paths.
  			var headSegments = this.forkContext.head;
  
  			this.forkContext = this.forkContext.upper;
  			var normalSegments = headSegments.slice(0, headSegments.length / 2 | 0);
  			var leavingSegments = headSegments.slice(headSegments.length / 2 | 0);
  
  			// Forwards the leaving path to upper contexts.
  			if (!returned.empty) {
  				getReturnContext(this).returnedForkContext.add(leavingSegments);
  			}
  			if (!thrown.empty) {
  				getThrowContext(this).thrownForkContext.add(leavingSegments);
  			}
  
  			// Sets the normal path as the next.
  			this.forkContext.replaceHead(normalSegments);
  
  			// If both paths of the `try` block and the `catch` block are
  			// unreachable, the next path becomes unreachable as well.
  			if (!context.lastOfTryIsReachable && !context.lastOfCatchIsReachable) {
  				this.forkContext.makeUnreachable();
  			}
  		}
docs: Pops the last context of TryStatement and finalizes it.
  
  @returns {void}