function parse_logical_expression (expression) {
  var operator = expression.operator;
  var right_type = convert_esprima_type(expression.right);
  if ((right_type instanceof IRBooleanType) && (operator === "&&")) return right_type;
  return new IRAnyType();
}
/**
 * @param {object} expression An esprima LogicalExpression type
 * @returns {IRType}
 */
@param {object} expression An esprima LogicalExpression type
@returns {IRType}
@param { object } expression An esprima LogicalExpression type @returns { IRType }
function parse_logical_expression (expression) {
  var operator = expression.operator;
  var right_type = convert_esprima_type(expression.right);
  if ((right_type instanceof IRBooleanType) && (operator === "&&")) return right_type;
  return new IRAnyType();
}
function parse_logical_expression ( expression ) { var operator = expression . operator ; var right_type = convert_esprima_type ( expression . right ) ; if ( ( right_type instanceof IRBooleanType ) && ( operator === "&&" ) ) return right_type ; return new IRAnyType ( ) ; }
@param {object} expression An esprima LogicalExpression type
 @returns {IRType}
@param { object } expression An esprima LogicalExpression type @returns { IRType }