function VariableDeclaration( node, parents ) {
		var parent;
		var i;

		// Case: `var x`
		if ( node.kind === 'var' ) {
			for ( i = parents.length-1; i >= 0; i-- ) {
				if ( isScope( parents[ i ] ) ) {
					parent = parents[ i ];
					break;
				}
			}
		}
		// Case: `let x` || `const x`
		else {
			for ( i = parents.length-1; i >= 0; i-- ) {
				if ( isBlockScope( parents[ i ] ) ) {
					parent = parents[ i ];
					break;
				}
			}
		}
		parent.locals = parent.locals || [];
		for ( i = 0; i < node.declarations.length; i++ ) {
			declarationPattern( node.declarations[ i ].id, parent );
		}
	}
Callback invoked upon encountering a `VariableDeclaration` AST node.

@private
@param {Node} node - AST node
@param {Array} parents - array of parent AST nodes