]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/hashicorp/hil/ast/stack.go
Merge branch 'master' of /Users/jake/terraform
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / hil / ast / stack.go
1 package ast
2
3 // Stack is a stack of Node.
4 type Stack struct {
5 stack []Node
6 }
7
8 func (s *Stack) Len() int {
9 return len(s.stack)
10 }
11
12 func (s *Stack) Push(n Node) {
13 s.stack = append(s.stack, n)
14 }
15
16 func (s *Stack) Pop() Node {
17 x := s.stack[len(s.stack)-1]
18 s.stack[len(s.stack)-1] = nil
19 s.stack = s.stack[:len(s.stack)-1]
20 return x
21 }
22
23 func (s *Stack) Reset() {
24 s.stack = nil
25 }