1package gojq
2
3type code struct {
4	v  interface{}
5	op opcode
6}
7
8type opcode int
9
10const (
11	opnop opcode = iota
12	oppush
13	oppop
14	opdup
15	opconst
16	opload
17	opstore
18	opobject
19	opappend
20	opfork
21	opforktrybegin
22	opforktryend
23	opforkalt
24	opforklabel
25	opbacktrack
26	opjump
27	opjumpifnot
28	opcall
29	opcallrec
30	oppushpc
31	opcallpc
32	opscope
33	opret
34	opeach
35	opexpbegin
36	opexpend
37	oppathbegin
38	oppathend
39)
40
41func (op opcode) String() string {
42	switch op {
43	case opnop:
44		return "nop"
45	case oppush:
46		return "push"
47	case oppop:
48		return "pop"
49	case opdup:
50		return "dup"
51	case opconst:
52		return "const"
53	case opload:
54		return "load"
55	case opstore:
56		return "store"
57	case opobject:
58		return "object"
59	case opappend:
60		return "append"
61	case opfork:
62		return "fork"
63	case opforktrybegin:
64		return "forktrybegin"
65	case opforktryend:
66		return "forktryend"
67	case opforkalt:
68		return "forkalt"
69	case opforklabel:
70		return "forklabel"
71	case opbacktrack:
72		return "backtrack"
73	case opjump:
74		return "jump"
75	case opjumpifnot:
76		return "jumpifnot"
77	case opcall:
78		return "call"
79	case opcallrec:
80		return "callrec"
81	case oppushpc:
82		return "pushpc"
83	case opcallpc:
84		return "callpc"
85	case opscope:
86		return "scope"
87	case opret:
88		return "ret"
89	case opeach:
90		return "each"
91	case opexpbegin:
92		return "expbegin"
93	case opexpend:
94		return "expend"
95	case oppathbegin:
96		return "pathbegin"
97	case oppathend:
98		return "pathend"
99	default:
100		panic(op)
101	}
102}
103