bundles/org.eclipse.orion.client.javascript/web/eslint/lib/code-path-analysis/code-path-state.js
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();
			}
		}
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();
			}
		}
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 ( ) ; } }
Pops the last context of TryStatement and finalizes it.

@returns {void}
Pops the last context of TryStatement and finalizes it .