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  }