MCPcopy Create free account
hub / github.com/AnukarOP/claude-code-leaked / parseTestOr

Function parseTestOr

source code/utils/bash/bashParser.ts:3707–3733  ·  view source on GitHub ↗
(P: ParseState, closer: string)

Source from the content-addressed store, hash-verified

3705}
3706
3707function parseTestOr(P: ParseState, closer: string): TsNode | null {
3708 let left = parseTestAnd(P, closer)
3709 if (!left) return null
3710 while (true) {
3711 skipBlanks(P.L)
3712 const save = saveLex(P.L)
3713 if (peek(P.L) === '|' && peek(P.L, 1) === '|') {
3714 const s = P.L.b
3715 advance(P.L)
3716 advance(P.L)
3717 const op = mk(P, '||', s, P.L.b, [])
3718 const right = parseTestAnd(P, closer)
3719 if (!right) {
3720 restoreLex(P.L, save)
3721 break
3722 }
3723 left = mk(P, 'binary_expression', left.startIndex, right.endIndex, [
3724 left,
3725 op,
3726 right,
3727 ])
3728 } else {
3729 break
3730 }
3731 }
3732 return left
3733}
3734
3735function parseTestAnd(P: ParseState, closer: string): TsNode | null {
3736 let left = parseTestUnary(P, closer)

Callers 2

parseTestExprFunction · 0.85
parseTestUnaryFunction · 0.85

Calls 7

parseTestAndFunction · 0.85
skipBlanksFunction · 0.85
saveLexFunction · 0.85
advanceFunction · 0.85
mkFunction · 0.85
restoreLexFunction · 0.85
peekFunction · 0.70

Tested by

no test coverage detected