(command.CommandList children: [ (C {<_Dbg_help_add>} {<finish>} { (DQ <'finish \n'> <'\n'> <'Continue execution until leaving the current function. \n'> <'Sometimes this is called \'step out\'.'> ) } ) (command.ShFunction name: _Dbg_do_finish body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<_Dbg_not_running>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<3>} ) ] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_return_level> right: (arith_expr.Binary op_id: Id.Arith_Minus left: { (braced_var_sub token: <Id.VSub_Name FUNCNAME> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } right: {<Id.Lit_Digits 5>} ) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd) op: assign_op.Equal rhs: {(SQ <finish>)} spids: [103] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_inside_skip) op: assign_op.Equal rhs: {<0>} spids: [109] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_continue_rc) op: assign_op.Equal rhs: {<0>} spids: [113] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (C {<_Dbg_alias_add>} {<fin>} {<finish>}) ] )