github.com/urso/go-structform@v0.0.2/gotype/stacks.generated.go (about) 1 // This file has been generated from 'stacks.yml', do not edit 2 package gotype 3 4 import ( 5 "reflect" 6 "unsafe" 7 8 structform "github.com/urso/go-structform" 9 ) 10 11 type unfolderStack struct { 12 current unfolder 13 stack []unfolder 14 stack0 [32]unfolder 15 } 16 17 type reflectValueStack struct { 18 current reflect.Value 19 stack []reflect.Value 20 stack0 [32]reflect.Value 21 } 22 23 type ptrStack struct { 24 current unsafe.Pointer 25 stack []unsafe.Pointer 26 stack0 [32]unsafe.Pointer 27 } 28 29 type keyStack struct { 30 current string 31 stack []string 32 stack0 [32]string 33 } 34 35 type idxStack struct { 36 current int 37 stack []int 38 stack0 [32]int 39 } 40 41 type structformTypeStack struct { 42 current structform.BaseType 43 stack []structform.BaseType 44 stack0 [32]structform.BaseType 45 } 46 47 func (s *unfolderStack) init(v unfolder) { 48 s.current = v 49 s.stack = s.stack0[:0] 50 } 51 52 func (s *unfolderStack) push(v unfolder) { 53 s.stack = append(s.stack, s.current) 54 s.current = v 55 } 56 57 func (s *unfolderStack) pop() unfolder { 58 old := s.current 59 last := len(s.stack) - 1 60 s.current = s.stack[last] 61 s.stack = s.stack[:last] 62 return old 63 } 64 65 func (s *reflectValueStack) init(v reflect.Value) { 66 s.current = v 67 s.stack = s.stack0[:0] 68 } 69 70 func (s *reflectValueStack) push(v reflect.Value) { 71 s.stack = append(s.stack, s.current) 72 s.current = v 73 } 74 75 func (s *reflectValueStack) pop() reflect.Value { 76 old := s.current 77 last := len(s.stack) - 1 78 s.current = s.stack[last] 79 s.stack = s.stack[:last] 80 return old 81 } 82 83 func (s *ptrStack) init() { 84 s.current = nil 85 s.stack = s.stack0[:0] 86 } 87 88 func (s *ptrStack) push(v unsafe.Pointer) { 89 s.stack = append(s.stack, s.current) 90 s.current = v 91 } 92 93 func (s *ptrStack) pop() unsafe.Pointer { 94 old := s.current 95 last := len(s.stack) - 1 96 s.current = s.stack[last] 97 s.stack = s.stack[:last] 98 return old 99 } 100 101 func (s *keyStack) init() { 102 s.current = "" 103 s.stack = s.stack0[:0] 104 } 105 106 func (s *keyStack) push(v string) { 107 s.stack = append(s.stack, s.current) 108 s.current = v 109 } 110 111 func (s *keyStack) pop() string { 112 old := s.current 113 last := len(s.stack) - 1 114 s.current = s.stack[last] 115 s.stack = s.stack[:last] 116 return old 117 } 118 119 func (s *idxStack) init() { 120 s.current = -1 121 s.stack = s.stack0[:0] 122 } 123 124 func (s *idxStack) push(v int) { 125 s.stack = append(s.stack, s.current) 126 s.current = v 127 } 128 129 func (s *idxStack) pop() int { 130 old := s.current 131 last := len(s.stack) - 1 132 s.current = s.stack[last] 133 s.stack = s.stack[:last] 134 return old 135 } 136 137 func (s *structformTypeStack) init() { 138 s.current = structform.AnyType 139 s.stack = s.stack0[:0] 140 } 141 142 func (s *structformTypeStack) push(v structform.BaseType) { 143 s.stack = append(s.stack, s.current) 144 s.current = v 145 } 146 147 func (s *structformTypeStack) pop() structform.BaseType { 148 old := s.current 149 last := len(s.stack) - 1 150 s.current = s.stack[last] 151 s.stack = s.stack[:last] 152 return old 153 }