MCPcopy Create free account
hub / github.com/jmespath/go-jmespath / parseIndexExpression

Method parseIndexExpression

parser.go:165–180  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

163}
164
165func (p *Parser) parseIndexExpression() (ASTNode, error) {
166 if p.lookahead(0) == tColon || p.lookahead(1) == tColon {
167 return p.parseSliceExpression()
168 }
169 indexStr := p.lookaheadToken(0).value
170 parsedInt, err := strconv.Atoi(indexStr)
171 if err != nil {
172 return ASTNode{}, err
173 }
174 indexNode := ASTNode{nodeType: ASTIndex, value: parsedInt}
175 p.advance()
176 if err := p.match(tRbracket); err != nil {
177 return ASTNode{}, err
178 }
179 return indexNode, nil
180}
181
182func (p *Parser) parseSliceExpression() (ASTNode, error) {
183 parts := []*int{nil, nil, nil}

Callers 2

ledMethod · 0.95
nudMethod · 0.95

Calls 5

lookaheadMethod · 0.95
parseSliceExpressionMethod · 0.95
lookaheadTokenMethod · 0.95
advanceMethod · 0.95
matchMethod · 0.95

Tested by

no test coverage detected