(command.CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(test/common.sh)}) (command.FuncDef name: osh-to-oil body: (command.BraceGroup children: [(C {($ VSub_DollarName '$OSH')} {(--fix)} {(DQ ($ VSub_At '$@'))})] spids: [41] ) spids: [37 40] ) (command.FuncDef name: osh0-oil3 body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.Pipeline children: [ (C {(osh-to-oil)} {(DQ ($ VSub_At '$@'))}) (C {(diff)} {(-u)} {(/dev/fd/3)} {(-)}) ] negated: F ) (C {(fail)}) ] ) ] spids: [62] ) spids: [58 61] ) (command.FuncDef name: args-vars body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 110 stdin_parts: [('echo one "$@" two\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 112 stdin_parts: [('echo one @Argv two\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 134 stdin_parts: [('echo one $* "__$*__" $@ two\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 136 stdin_parts: [('echo one $ifsjoin(Argv) "__$ifsjoin(Argv)__" $ifsjoin(Argv) two\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 154 stdin_parts: [('echo $? $#\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 156 stdin_parts: [('echo $Status $Argc\n')] ) ] ) ] spids: [92] ) spids: [88 91] ) (command.FuncDef name: unquote-subs body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 182 stdin_parts: [('echo "$1" "$foo"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 184 stdin_parts: [('echo $1 $foo\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 202 stdin_parts: [('echo "${foo}"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 204 stdin_parts: [('echo $(foo)\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 222 stdin_parts: [('echo "$(echo hi)"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 224 stdin_parts: [('echo $[echo hi]\n')] ) ] ) ] spids: [164] ) spids: [160 163] ) (command.FuncDef name: special-vars body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 258 stdin_parts: [('echo ${?} ${#} ${@}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 260 stdin_parts: [('echo $(Status) $(len(Argv)) @Argv\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 287 stdin_parts: [('echo $9 $10 ${10} ${11}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 289 stdin_parts: [('echo $9 $10 $10 $11 # Rule is changed\n')] ) ] ) ] spids: [232] ) spids: [228 231] ) (command.FuncDef name: arg-array body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 336 stdin_parts: [('echo $@ $* "$@" "$*" "__$@__" "__$*__"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 338 stdin_parts: [('echo $Status $len(Argv) @Argv\n')] ) ] ) ] spids: [297] ) spids: [293 296] ) (command.FuncDef name: bracket-ops body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 364 stdin_parts: [('echo ${a[1]} ${a[@]} ${PIPESTATUS[@]} ${BASH_REMATCH[@]}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 366 stdin_parts: [('echo $a[1] @a $PipeStatus @Match\n')] ) ] ) ] spids: [346] ) spids: [342 345] ) (command.FuncDef name: prefix-ops body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 395 stdin_parts: [('echo ${#s} ${#a[@]}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 397 stdin_parts: [('echo $len(s) $len(a)\n')] ) ] ) ] spids: [377] ) spids: [373 376] ) (command.FuncDef name: suffix-ops body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 423 stdin_parts: [('echo ${s:-3} ${s##suffix}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 425 stdin_parts: [("echo $(s or 3) $s.trimRight('suffix')\n")] ) ] ) ] spids: [405] ) spids: [401 404] ) (command.FuncDef name: slice body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 451 stdin_parts: [('echo ${a:1:2} ${a[@]:1:2}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 453 stdin_parts: [('echo $a[1:3] @a[1:3]\n')] ) ] ) ] spids: [433] ) spids: [429 432] ) (command.FuncDef name: patsub body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 485 stdin_parts: [('echo ${s/foo/bar} ${s//foo/bar}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 487 stdin_parts: [("echo $s.replace('foo', 'bar') $s.replace('foo', 'bar', :ALL)\n")] ) ] ) ] spids: [467] ) spids: [463 466] ) (command.FuncDef name: simple-command body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 513 stdin_parts: [('echo hi\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 515 stdin_parts: [('echo hi\n')] ) ] ) ] spids: [495] ) spids: [491 494] ) (command.FuncDef name: line-breaks body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 543 stdin_parts: [('echo one \\\n') (' two three \\\n') (' four\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 547 stdin_parts: [('echo one \\\n') (' two three \\\n') (' four\n')] ) ] ) ] spids: [523] ) spids: [519 522] ) (command.FuncDef name: bracket-builtin body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 573 stdin_parts: [('[ ! -z "$foo" ] || die\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 575 stdin_parts: [('test ! -z $foo || die\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 595 stdin_parts: [('if [ "$foo" -eq 3 ]; then\n') (' echo yes\n') ('fi\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 599 stdin_parts: [('if test $foo -eq 3 {\n') (' echo yes\n') ('}\n')] ) ] ) ] spids: [555] ) spids: [551 554] ) (command.FuncDef name: builtins body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 625 stdin_parts: [('. lib.sh\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 627 stdin_parts: [('source lib.sh\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 645 stdin_parts: [('[ -f lib.sh ] && . lib.sh\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 647 stdin_parts: [('test -f lib.sh && source lib.sh\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 681 stdin_parts: [('set -o errexit\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 683 stdin_parts: [('setoption +errexit\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 703 stdin_parts: [("echo '\\n'\n") ("echo -e '\\n'\n") ("echo -e -n '\\n'\n")] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 707 stdin_parts: [("echo '\\\\n'\n") ("echo '\\n'\n") ("write '\\n'\n")] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 725 stdin_parts: [("eval 'echo $?'\n")] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 727 stdin_parts: [("oshEval('echo $?') # call into osh!\n")] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 745 stdin_parts: [('exec 1>&2 # stdout to stderr from now on\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 747 stdin_parts: [('redir !1 > !2\n')] ) ] ) ] spids: [607] ) spids: [603 606] ) (command.FuncDef name: export-readonly body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 788 stdin_parts: [('export FOO\n') ('export BAR=bar\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 792 stdin_parts: [('setenv FOO\n') ("BAR = 'bar'\n") ('setenv BAR\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 811 stdin_parts: [('readonly FOO\n') ('readonly BAR=bar\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 814 stdin_parts: [('freeze FOO\n') ("BAR = 'bar'\n")] ) ] ) ] spids: [765] ) spids: [761 764] ) (command.FuncDef name: redirect body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 840 stdin_parts: [('cat >out.txt <in.txt\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 842 stdin_parts: [('cat >out.txt <in.txt\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 860 stdin_parts: [('cat >out.txt 2> err.txt\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 862 stdin_parts: [('cat >out.txt !2 > err.txt\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 880 stdin_parts: [('echo "error message" >& 2 \n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 882 stdin_parts: [('echo "error message" > !2 \n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 900 stdin_parts: [('echo "error message" 1>&2 \n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 902 stdin_parts: [('echo "error message" !1 > !2 \n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 920 stdin_parts: [('cat >${out} <${in}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 922 stdin_parts: [('cat >$(out) <$(in)\n')] ) ] ) ] spids: [822] ) spids: [818 821] ) (command.FuncDef name: here-doc body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 951 stdin_parts: [('cat <<ONE\n') ('echo $hi\n') ('ONE\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 955 stdin_parts: [('cat << """\n') ('echo $hi\n') ('"""\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 975 stdin_parts: [("cat <<'ONE'\n") ('single quoted\n') ('ONE\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 979 stdin_parts: [("cat << '''\n") ('single quoted\n') ("'''\n")] ) ] ) ] spids: [931] ) spids: [927 930] ) (command.FuncDef name: more-env body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1012 stdin_parts: [('echo 1\n') ('FOO=bar BAR=baz echo 2\n') ('echo 2\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1016 stdin_parts: [('echo 1\n') ('env FOO=bar BAR=baz echo 2\n') ('echo 2\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1034 stdin_parts: [('FOO="${bar}" BAR="$(echo hi)" echo 2\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1036 stdin_parts: [('env FOO=$(bar) BAR=$[echo hi] echo 2\n')] ) ] ) ] spids: [992] ) spids: [988 991] ) (command.FuncDef name: assign-common body: (command.BraceGroup children: [ (C {(osh-to-oil)} {(--fix)} {(-c)} {(SQ <'foo=bar spam="$var"'>)}) (C {(osh-to-oil)} {(--fix)} {(-c)} {(SQ <'readonly foo=bar spam="${var}"'>)}) (C {(osh-to-oil)} {(--fix)} {(-c)} {(SQ <'export foo=bar spam="${var}/const"'>)}) (C {(osh-to-oil)} {(--fix)} {(-c)} {(SQ <'f() { foo=bar spam=${var:-default}; }'>)}) (C {(osh-to-oil)} {(--fix)} {(-c)} {(SQ <'f() { local foo=bar spam=eggs; foo=mutated; g=new; }'>)} ) ] spids: [1044] ) spids: [1040 1043] ) (command.FuncDef name: assign body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1155 stdin_parts: [('local foo=$(basename $1)\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1157 stdin_parts: [('var foo = $[basename $1]\n')] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1179 stdin_parts: [('local one=1 two three=3\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1181 stdin_parts: [("one = '1', two = '', three = '3'\n")] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1200 stdin_parts: [('myStr=one\n') ('readonly myConstStr=two\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1203 stdin_parts: [("var myStr = 'hi'\n") ("myConstStr = 'hi'\n")] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1224 stdin_parts: [ ('f() {\n') (' local myStr=one\n') (' readonly myConstStr=two\n') ('}\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1229 stdin_parts: [ ('proc f {\n') (" var myStr = 'hi'\n") (" myConstStr = 'hi'\n") ('}\n') ] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1250 stdin_parts: [ ('f() {\n') (' local myStr=$1\n') (' readonly myConstStr=$((1 + 2))\n') ('}\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1255 stdin_parts: [ ('proc f {\n') (' var myStr = $1\n') (' myConstStr = $(1 + 2)\n') ('}\n') ] ) ] ) ] spids: [1137] ) spids: [1133 1136] ) (command.FuncDef name: array-literal body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1281 stdin_parts: [('a=(1 2 3)\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1283 stdin_parts: [('var a = [1 2 3]\n')] ) ] ) ] spids: [1263] ) spids: [1259 1262] ) (command.FuncDef name: pipeline body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1309 stdin_parts: [('ls | sort | uniq -c | sort -n -r\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1311 stdin_parts: [('ls | sort | uniq -c | sort -n -r\n')] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1389 stdin_parts: [('! echo hi | wc\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1391 stdin_parts: [('not -- echo hi | wc\n')] ) ] ) ] spids: [1291] ) spids: [1287 1290] ) (command.FuncDef name: and-or body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1417 stdin_parts: [('ls && echo "$@" || die "foo"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1419 stdin_parts: [('ls && echo @Argv || die "foo"\n')] ) ] ) ] spids: [1399] ) spids: [1395 1398] ) (command.FuncDef name: posix-func body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1451 stdin_parts: [ ('func1() {\n') (' echo func1\n') (' func2()\n') (' {\n') (' echo func2\n') (' }\n') ('}\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1459 stdin_parts: [ ('proc func1 {\n') (' echo func1\n') (' proc func2\n') (' {\n') (' echo func2\n') (' }\n') ('}\n') ] ) ] ) ] spids: [1427] ) spids: [1423 1426] ) (command.FuncDef name: subshell-func body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1487 stdin_parts: [('subshell-func() (\n') (' echo subshell\n') (')\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1493 stdin_parts: [ ('proc subshell-func {\n') (' shell { \n') (' echo subshell\n') (' }\n') ('}\n') ] ) ] ) ] spids: [1467] ) spids: [1463 1466] ) (command.FuncDef name: ksh-func body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1525 stdin_parts: [ ('function func1 { # no parens\n') (' echo func1\n') (' function func2()\n') (' {\n') (' echo func2\n') (' }\n') ('}\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1533 stdin_parts: [ ('proc func1 { # no parens\n') (' echo func1\n') (' proc func2\n') (' {\n') (' echo func2\n') (' }\n') ('}\n') ] ) ] ) ] spids: [1501] ) spids: [1497 1500] ) (command.FuncDef name: for-loop body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1562 stdin_parts: [('for x in a b c \\\n') (' d e f; do\n') (' echo $x\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1567 stdin_parts: [('for x in [a b c \\\n') (' d e f] {\n') (' echo $x\n') ('}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1589 stdin_parts: [('for x in a b c \\\n') (' d e f\n') ('do\n') (' echo $x\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1595 stdin_parts: [('for x in [a b c \\\n') (' d e f]\n') ('{\n') (' echo $x\n') ('}\n')] ) ] ) ] spids: [1541] ) spids: [1537 1540] ) (command.FuncDef name: empty-for-loop body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1624 stdin_parts: [('for x in \n') ('do\n') (' echo $x\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1629 stdin_parts: [('for x in []\n') ('{\n') (' echo $x\n') ('}\n')] ) ] ) ] spids: [1603] ) spids: [1599 1602] ) (command.FuncDef name: args-for-loop body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1657 stdin_parts: [('for x; do\n') (' echo $x\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1661 stdin_parts: [('for x in @Argv {\n') (' echo $x\n') ('}\n')] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1700 stdin_parts: [('for x\n') ('do\n') (' echo $x\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1705 stdin_parts: [('for x in @Argv\n') ('{\n') (' echo $x\n') ('}\n')] ) ] ) ] spids: [1637] ) spids: [1633 1636] ) (command.FuncDef name: while-loop body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1733 stdin_parts: [('while read line; do\n') (' echo $line\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1737 stdin_parts: [('while read line {\n') (' echo $line\n') ('}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1758 stdin_parts: [('while read \\\n') (' line; do\n') (' echo $line\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1763 stdin_parts: [('while read \\\n') (' line {\n') (' echo $line\n') ('}\n')] ) ] ) ] spids: [1713] ) spids: [1709 1712] ) (command.FuncDef name: if_ body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1791 stdin_parts: [('if true; then\n') (' echo yes\n') ('fi\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1795 stdin_parts: [('if true {\n') (' echo yes\n') ('}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1816 stdin_parts: [('if true\n') ('then\n') (' echo yes\n') ('fi\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1821 stdin_parts: [('if true\n') ('{\n') (' echo yes\n') ('}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1847 stdin_parts: [ ('if true; then\n') (' echo yes\n') ('elif false; then\n') (' echo elif\n') ('elif spam; then\n') (' echo elif\n') ('else\n') (' echo no\n') ('fi\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1857 stdin_parts: [ ('if true {\n') (' echo yes\n') ('} elif false {\n') (' echo elif\n') ('} elif spam {\n') (' echo elif\n') ('} else {\n') (' echo no\n') ('}\n') ] ) ] ) ] spids: [1771] ) spids: [1767 1770] ) (command.FuncDef name: case_ body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1890 stdin_parts: [ ('case $var in\n') (' foo|bar)\n') (' [ -f foo ] && echo file\n') (' ;;\n') (' *)\n') (' echo default\n') (' ;;\n') ('esac\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1899 stdin_parts: [ ('matchstr $var {\n') (' foo|bar {\n') (' test -f foo && echo file\n') (' }\n') (' * {\n') (' echo default\n') (' }\n') ('}\n') ] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1921 stdin_parts: [ ('case "$var" in\n') (' *)\n') (' echo foo\n') (' echo bar # no dsemi\n') ('esac\n') ] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1928 stdin_parts: [ ('matchstr $var {\n') (' * {\n') (' echo foo\n') (' echo bar # no dsemi\n') (' }\n') ('}\n') ] ) ] ) ] spids: [1865] ) spids: [1861 1864] ) (command.FuncDef name: subshell body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1954 stdin_parts: [('(echo hi;)\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1956 stdin_parts: [('shell {echo hi;}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1974 stdin_parts: [('(echo hi)\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1976 stdin_parts: [('shell {echo hi}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 1994 stdin_parts: [('(echo hi; echo bye)\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 1996 stdin_parts: [('shell {echo hi; echo bye}\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2014 stdin_parts: [('( (echo hi; echo bye ) )\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2016 stdin_parts: [('shell { shell {echo hi; echo bye } }\n')] ) ] ) ] spids: [1936] ) spids: [1932 1935] ) (command.FuncDef name: brace-group body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2042 stdin_parts: [('{ echo hi; }\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2044 stdin_parts: [('do { echo hi; }\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2062 stdin_parts: [('{ echo hi; echo bye; }\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2064 stdin_parts: [('do { echo hi; echo bye; }\n')] ) ] ) ] spids: [2024] ) spids: [2020 2023] ) (command.FuncDef name: fork body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2090 stdin_parts: [('sleep 1&\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2092 stdin_parts: [('fork sleep 1\n')] ) ] ) ] spids: [2072] ) spids: [2068 2071] ) (command.FuncDef name: var-sub body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2118 stdin_parts: [('echo $foo\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2120 stdin_parts: [('echo $foo\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2138 stdin_parts: [('echo $foo ${bar} "__${bar}__"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2140 stdin_parts: [('echo $foo $(bar) "__$(bar)__"\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2158 stdin_parts: [('echo ${foo:-default}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2160 stdin_parts: [("echo $(foo or 'default')\n")] ) ] ) ] spids: [2100] ) spids: [2096 2099] ) (command.FuncDef name: command-sub body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2187 stdin_parts: [('echo $(echo hi)\n') ('echo `echo hi`\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2190 stdin_parts: [('echo $[echo hi]\n') ('echo $[echo hi]\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2208 stdin_parts: [('echo "__$(echo hi)__"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2210 stdin_parts: [('echo "__$[echo hi]__"\n')] ) ] ) ] spids: [2168] ) spids: [2164 2167] ) (command.FuncDef name: proc-sub body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2237 stdin_parts: [('echo <(echo hi) >(echo hi)\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2239 stdin_parts: [('echo $<[echo hi] $>[echo hi]\n')] ) ] ) ] spids: [2219] ) spids: [2215 2218] ) (command.FuncDef name: arith-sub body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2265 stdin_parts: [('echo __$(( 1+ 2 ))__\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2267 stdin_parts: [('echo __$( 1+ 2 )__\n')] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2292 stdin_parts: [('echo $[ 1+ 2 ]\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2294 stdin_parts: [('echo $( 1+ 2 )\n')] ) ] ) ] spids: [2247] ) spids: [2243 2246] ) (command.FuncDef name: arith-ops body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2352 stdin_parts: [('echo $(( a > 0 ? 2**3 : 3/2 ))\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2354 stdin_parts: [('echo $(( 2^3 if a > 0 else 3 div 2 ))\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2372 stdin_parts: [('echo $(( a << 1 | b & 1 ))\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2374 stdin_parts: [('echo $(( a << 1 .| b .& 1 ))\n')] ) ] ) ] spids: [2303] ) spids: [2299 2302] ) (command.FuncDef name: dbracket body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2403 stdin_parts: [('[[ -d / ]] && echo "is dir"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2405 stdin_parts: [('isDir(\'/\') && echo "is dir"\n')] ) ] ) ] spids: [2385] ) spids: [2381 2384] ) (command.FuncDef name: escaped-literal body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2431 stdin_parts: [('echo \\$ \\ \\n "\\$" "\\n"\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2433 stdin_parts: [('echo \'$\' \' \' \'n\' "\\$" "\\n"\n')] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2458 stdin_parts: [('echo \\$\\ \\$\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2460 stdin_parts: [("echo '$ $'\n")] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2483 stdin_parts: [('echo \\\n') (' hi\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2486 stdin_parts: [('echo \\\n') (' hi\n')] ) ] ) ] spids: [2413] ) spids: [2409 2412] ) (command.FuncDef name: words body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2521 stdin_parts: [("echo foo'bar'\n") ("echo foo'bar'$baz\n")] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2524 stdin_parts: [("echo 'foobar'\n") ('echo "foobar$baz"\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2550 stdin_parts: [("echo ~/'name with spaces'\n")] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2552 stdin_parts: [('echo "$HOME/name with spaces"\n')] ) ] ) ] spids: [2494] ) spids: [2490 2493] ) (command.FuncDef name: time-block body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2578 stdin_parts: [('time ls\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2580 stdin_parts: [('time ls\n')] ) ] ) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2600 stdin_parts: [('time while false; do\n') (' echo $i\n') ('done\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2604 stdin_parts: [('time while false {\n') (' echo $i\n') ('}\n')] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) (command.SimpleCommand words: [{(osh0-oil3)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <OSH>)} here_end_span_id: 2632 stdin_parts: [('time {\n') (' echo one\n') (' echo two\n') ('}\n')] ) (redir.HereDoc op: <Redir_DLess '3<<'> fd: 3 here_begin: {(SQ <OIL>)} here_end_span_id: 2637 stdin_parts: [('time {\n') (' echo one\n') (' echo two\n') ('}\n')] ) ] ) ] spids: [2560] ) spids: [2556 2559] ) (command.Assignment keyword: Assign_Readonly flags: [-a] pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PASSING spids:[2645]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ {(simple-command)} {(more-env)} {(line-breaks)} {(redirect)} {(pipeline)} {(and-or)} {(escaped-literal)} {(args-vars)} {(unquote-subs)} {(command-sub)} {(arith-sub)} {(unquote-subs)} {(posix-func)} {(ksh-func)} {(brace-group)} {(subshell)} {(while-loop)} {(if_)} {(case_)} {(for-loop)} {(empty-for-loop)} {(args-for-loop)} {(time-block)} {(bracket-builtin)} ] ) } spids: [2645] ) ] spids: [2641] ) (command.FuncDef name: all-passing body: (command.BraceGroup children: [ (C {(run-all)} { (DQ (word_part.BracedVarSub token: <VSub_Name PASSING> bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [2754 2759] ) ) } ) ] spids: [2748] ) spids: [2744 2747] ) (command.FuncDef name: run-for-release body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:out_dir spids:[2774]) op: Equal rhs: {(_tmp/osh2oil)} spids: [2774] ) ] spids: [2772] ) (C {(mkdir)} {(-p)} {($ VSub_DollarName '$out_dir')}) (command.Pipeline children: [(C {(all-passing)}) (C {(tee)} {($ VSub_DollarName '$out_dir') (/log.txt)})] negated: F ) (C {(echo)} {(DQ ('Wrote ') ($ VSub_DollarName '$out_dir') (/log.txt))}) ] spids: [2769] ) spids: [2765 2768] ) (C {(DQ ($ VSub_At '$@'))}) ] )