equal
deleted
inserted
replaced
57 func (p *parser) errorf(format string, args ...interface{}) { |
57 func (p *parser) errorf(format string, args ...interface{}) { |
58 format = fmt.Sprintf("properties: Line %d: %s", p.lex.lineNumber(), format) |
58 format = fmt.Sprintf("properties: Line %d: %s", p.lex.lineNumber(), format) |
59 panic(fmt.Errorf(format, args...)) |
59 panic(fmt.Errorf(format, args...)) |
60 } |
60 } |
61 |
61 |
62 func (p *parser) expect(expected itemType) (token item) { |
|
63 token = p.lex.nextItem() |
|
64 if token.typ != expected { |
|
65 p.unexpected(token) |
|
66 } |
|
67 return token |
|
68 } |
|
69 |
|
70 func (p *parser) expectOneOf(expected ...itemType) (token item) { |
62 func (p *parser) expectOneOf(expected ...itemType) (token item) { |
71 token = p.lex.nextItem() |
63 token = p.lex.nextItem() |
72 for _, v := range expected { |
64 for _, v := range expected { |
73 if token.typ == v { |
65 if token.typ == v { |
74 return token |
66 return token |
89 if _, ok := e.(runtime.Error); ok { |
81 if _, ok := e.(runtime.Error); ok { |
90 panic(e) |
82 panic(e) |
91 } |
83 } |
92 *errp = e.(error) |
84 *errp = e.(error) |
93 } |
85 } |
94 return |
|
95 } |
86 } |