From 0a3fe0e81e79df9e0a293a84933da531acd942bb Mon Sep 17 00:00:00 2001 From: Fatih Arslan Date: Mon, 12 Oct 2015 10:37:37 +0300 Subject: [PATCH] parser: return error, we might need it --- parser/parser.go | 4 ++-- parser/parser_test.go | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/parser/parser.go b/parser/parser.go index 96f8a61..3466af9 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -24,7 +24,7 @@ func New(src []byte) *Parser { } // 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")) node := &Source{} @@ -39,7 +39,7 @@ func (p *Parser) Parse() Node { } } - return node + return node, nil } func (p *Parser) parseStatement() Node { diff --git a/parser/parser_test.go b/parser/parser_test.go index c1bf5fe..9d1820a 100644 --- a/parser/parser_test.go +++ b/parser/parser_test.go @@ -6,7 +6,10 @@ func TestAssignStatment(t *testing.T) { src := `ami = "${var.foo}"` p := New([]byte(src)) p.enableTrace = true - n := p.Parse() + n, err := p.Parse() + if err != nil { + t.Fatal(err) + } if n.String() != src { t.Errorf("AssignStatement is not parsed correctly\n\twant: '%s'\n\tgot : '%s'", src, n.String())