(CommandList children: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [74] ) ] spids: [72] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(basename)} {(DQ ($ VSub_Number "$1"))})]) left_token: <Left_CommandSub "$("> spids: [83 89] ) ) } spids: [81] ) ] spids: [79] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$1"))})]) left_token: <Left_CommandSub "$("> spids: [96 102] ) ) } spids: [94] ) ] spids: [92] ) (Case to_match: {($ VSub_Name "$file")} arms: [ (case_arm pat_list: [ {(AUTHORS)} {(CONTRIBUTORS)} {(WORKSPACE)} {(third_party/) (Lit_Other "*")} {(tools/) (Lit_Other "*")} {(Lit_Other "*") (.md)} {(BUILD)} {(Lit_Other "*") (/BUILD)} {(Lit_Other "*") (/testdata/) (Lit_Other "*")} {(Lit_Other "*") (.yaml)} {(Lit_Other "*") (.json)} {(Lit_Other "*") (.html)} {(Lit_Other "*") (.pb.go)} {(.arclint)} {(.gitignore)} {(Lit_Other "*") (/.gitignore)} {(.arcconfig)} {(Lit_Other "*") (/__phutil_) (Lit_Other "*")} {(Lit_Other "*") (.bzl)} {(.kythe)} {(kythe/web/site/) (Lit_Other "*")} ] spids: [113 169 172 -1] ) (case_arm pat_list: [{(Lit_Other "*") (.sh)} {(Lit_Other "*") (.bash)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(command)} {(-v)} {(shellcheck)}) terminator: <Op_Amp "&"> ) (Sentence child: (AndOr children: [ (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [195] ) ] ) (C {(command)} {(-v)} {(jq)}) ] op_id: Op_DAmp ) terminator: <Op_Amp "&"> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [207] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (Pipeline children: [ (C {(shellcheck)} {(-f)} {(json)} {(DQ ($ VSub_Name "$file"))}) (C {(jq)} {(-r)} { (SQ < ".[] | \"shellcheck::\" + (if .level == \"info\" then \"advice\" else .level end) + \":\" + (.line | tostring) + \" \" + .message" > ) } ) ] negated: False ) ] spids: [-1 211] ) ] spids: [-1 237] ) ] spids: [178 183 239 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(grep)} {(-q)} {(SQ <"Copyright 201[4-9] Google Inc. All rights reserved.">)} {(DQ ($ VSub_Name "$file"))} ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(SQ <"copyright header::error:1 File missing copyright header">)}) ] spids: [-1 263] ) ] spids: [-1 273] ) ] spids: [242 243 275 -1] ) ] spids: [106 110 277] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(grep)} {(-q)} {(Lit_Other "[") (A-Z) (Lit_Other "]")}] redirects: [ (Redir op_id: Redir_TLess fd: -1 arg_word: {(DQ ($ VSub_Name "$dir"))} spids: [293] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("case-insensitivity::error:1 ") ($ VSub_Name "$dir") (" directory contains an uppercase letter") ) } ) ] spids: [-1 299] ) ] spids: [-1 310] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_gt left: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(find)} {(DQ ($ VSub_Name "$dir"))} {(-maxdepth)} {(0)} {(-iname)} {(DQ ($ VSub_Name "$name"))} ) (C {(wc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [316 338] ) } right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("case-insensitivity::error:1 ") ($ VSub_Name "$name") (" filename clashes on case-insensitive file systems") ) } ) ] spids: [-1 347] ) ] spids: [-1 358] ) ] )