function tabulate( results, nodes ) {
	var node;
	var type;
	var key;
	var i;

	for ( i = 0; i < nodes.length; i++ ) {
		node = nodes[ i ];
		type = node.type;
		key = type2key( type );
		if ( key ) {
			if ( typeof results[ key ] === 'object' ) {
				results[ key ].count += 1;
			} else {
				results[ key ] += 1;
			}
		}
		if ( contains( statements, type ) ) {
			results.statements += 1;
		}
		if ( type === 'SwitchStatement' ) {
			results.branches += node.cases.length;
		} else if (
			type === 'IfStatement' ||
			type === 'ConditionalExpression' || // ternary condition
			type === 'TryStatement'
		) {
			results.branches += 2; // if/else, try/catch
		}
		key = expression2key( type );
		if ( key ) {
			results.expressions[ key ] += 1;
		}
	}
	return results;
}
Tabulates the number of select AST node types.

@private
@param {Object} results - output results object
@param {Array<Node>} nodes - AST nodes
@returns {Object} results object