class_docstr: Class for chaining multiple if-else statements.
  
  
  Examples
  --------
  
  >>> x = hl.literal('foo bar baz')
  >>> expr = (hl.case()
  ...           .when(x[:3] == 'FOO', 1)
  ...           .when(x.length() == 11, 2)
  ...           .when(x == 'secret phrase', 3)
  ...           .default(0))
  >>> hl.eval(expr)
  2
  
  Notes
  -----
  All expressions appearing as the `then` parameters to
  :meth:`~hail.expr.builders.CaseBuilder.when` or
  :meth:`~hail.expr.builders.CaseBuilder.default` method calls must be the
  same type.
  
  Parameters
  ----------
  missing_false: :obj:`.bool`
      Treat missing predicates as ``False``.
  
  See Also
  --------
  :func:`.case`, :func:`.cond`, :func:`.switch`
class_docstr_tok: ["Class","for","chaining","multiple","if-else","statements",".","Examples","--","--","--","--",">",">",">","x","=","hl.literal","(","'foo","bar","baz","'",")",">",">",">","expr","=","(","hl.case","(",")","...",".when","(","x","[",":3","]","==","'FOO","'",",","1",")","...",".when","(","x.length","(",")","==","11",",","2",")","...",".when","(","x","==","'secret","phrase","'",",","3",")","...",".default","(","0",")",")",">",">",">","hl.eval","(","expr",")","2","Notes","--","--","-","All","expressions","appearing","as","the","`","then","`","parameters","to",":","meth",":","`","~hail.expr.builders.CaseBuilder.when","`","or",":","meth",":","`","~hail.expr.builders.CaseBuilder.default","`","method","calls","must","be","the","same","type",".","Parameters","--","--","--","--","--","missing_false",":",":","obj",":","`",".bool","`","Treat","missing","predicates","as","``","False","``",".","See","Also","--","--","--","--",":","func",":","`",".case","`",",",":","func",":","`",".cond","`",",",":","func",":","`",".switch","`"]
docstr: Finish the case statement by returning missing.
  
  Notes
  -----
  If no condition from a :meth:`.CaseBuilder.when` call is ``True``, then
  the result is missing.
  
  Parameters
  ----------
  then : :class:`.Expression`
  
  Returns
  -------
  :class:`.Expression`
docstr_tok: ["Finish","the","case","statement","by","returning","missing",".","Notes","--","--","-","If","no","condition","from","a",":","meth",":","`",".CaseBuilder.when","`","call","is","``","True","``",",","then","the","result","is","missing",".","Parameters","--","--","--","--","--","then",":",":","class",":","`",".Expression","`","Returns","--","--","--","-",":","class",":","`",".Expression","`"]
code: def or_missing(self):
      """Finish the case statement by returning missing.
  
      Notes
      -----
      If no condition from a :meth:`.CaseBuilder.when` call is ``True``, then
      the result is missing.
  
      Parameters
      ----------
      then : :class:`.Expression`
  
      Returns
      -------
      :class:`.Expression`
      """
      if len(self._cases) == 0:
          raise ExpressionException(
              "'or_missing' cannot be called without at least one 'when' call"
          )
      from hail.expr.functions import missing
  
      return self._finish(missing(self._ret_type))
  
imports: import hail
  from hail.typecheck import typecheck_method
  from hail.expr.expressions import unify_types, unify_types_limited, expr_any, expr_bool, ExpressionException, construct_expr, expr_str
  from hail import ir
label_desc: Use image node_id 5 for calling the CaseBuilder obj's underlying member method code with example usage: obj.or_missing() and returns: self