(command.CommandList children: [ (C {<_Dbg_help_add_sub>} {<info>} {<source>} { (SQ <'**info source**\n'> <'\n'> <'Information about the current source file.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <' \\"info program\\", \\"info file\\" and \\"info line\\".'> ) } {<1>} ) (command.ShFunction name: _Dbg_do_info_source body: (BraceGroup children: [ (C {<_Dbg_msg>} {(DQ <'Current script file is '> ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} ) (C {<_Dbg_msg>} { (DQ <'Located in '> (braced_var_sub token: <Id.VSub_Name _Dbg_file2canonic> bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')} ) ) ) } ) (C {<typeset>} {<-i>} {<max_line>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:max_line) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_get_maxline>} {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')}) ) } spids: [120] ) ] ) (C {<_Dbg_msg>} {(DQ <'Contains '> ($ Id.VSub_DollarName '$max_line') <' lines.'>)}) (C {<_Dbg_do_list_brkpt>} {($ Id.VSub_Star '$*')}) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) ] )