parser: return error, we might need it
This commit is contained in:
parent
0e668f87b2
commit
0a3fe0e81e
@ -24,7 +24,7 @@ func New(src []byte) *Parser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parse returns the fully parsed source and returns the abstract syntax tree.
|
// Parse returns the fully parsed source and returns the abstract syntax tree.
|
||||||
func (p *Parser) Parse() Node {
|
func (p *Parser) Parse() (Node, error) {
|
||||||
defer un(trace(p, "ParseSource"))
|
defer un(trace(p, "ParseSource"))
|
||||||
node := &Source{}
|
node := &Source{}
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ func (p *Parser) Parse() Node {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return node
|
return node, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Parser) parseStatement() Node {
|
func (p *Parser) parseStatement() Node {
|
||||||
|
@ -6,7 +6,10 @@ func TestAssignStatment(t *testing.T) {
|
|||||||
src := `ami = "${var.foo}"`
|
src := `ami = "${var.foo}"`
|
||||||
p := New([]byte(src))
|
p := New([]byte(src))
|
||||||
p.enableTrace = true
|
p.enableTrace = true
|
||||||
n := p.Parse()
|
n, err := p.Parse()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
if n.String() != src {
|
if n.String() != src {
|
||||||
t.Errorf("AssignStatement is not parsed correctly\n\twant: '%s'\n\tgot : '%s'", src, n.String())
|
t.Errorf("AssignStatement is not parsed correctly\n\twant: '%s'\n\tgot : '%s'", src, n.String())
|
||||||
|
Loading…
Reference in New Issue
Block a user