push a variable set on the vstack.
()
| 24862 | |
| 24863 | // push a variable set on the vstack. |
| 24864 | func (p *parser) pushV() { |
| 24865 | if cap(p.vstack) == len(p.vstack) { |
| 24866 | // create new empty slot in the stack |
| 24867 | p.vstack = append(p.vstack, nil) |
| 24868 | } else { |
| 24869 | // slice to 1 more |
| 24870 | p.vstack = p.vstack[:len(p.vstack)+1] |
| 24871 | } |
| 24872 | |
| 24873 | // get the last args set |
| 24874 | m := p.vstack[len(p.vstack)-1] |
| 24875 | if m != nil && len(m) == 0 { |
| 24876 | // empty map, all good |
| 24877 | return |
| 24878 | } |
| 24879 | |
| 24880 | m = make(map[string]any) |
| 24881 | p.vstack[len(p.vstack)-1] = m |
| 24882 | } |
| 24883 | |
| 24884 | // pop a variable set from the vstack. |
| 24885 | func (p *parser) popV() { |
no outgoing calls
no test coverage detected