aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/ast/parser.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-08-18 16:38:41 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-08-18 17:04:12 +0200
commit19b893936bebc6189c7627d56d1dc454fbd42714 (patch)
tree2c58dca1528c2e7d05cbe6ca49fd34a3f802a681 /pkg/ast/parser.go
parent41bbf437e1e843fd3ab5603ec4c2eb4a42dca76f (diff)
sys/syz-extract: switch to the new parser
Diffstat (limited to 'pkg/ast/parser.go')
-rw-r--r--pkg/ast/parser.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/pkg/ast/parser.go b/pkg/ast/parser.go
index 737d08068..10f389424 100644
--- a/pkg/ast/parser.go
+++ b/pkg/ast/parser.go
@@ -210,8 +210,9 @@ func (p *parser) parseResource() *Resource {
func (p *parser) parseCall(name *Ident) *Call {
c := &Call{
- Pos: name.Pos,
- Name: name,
+ Pos: name.Pos,
+ Name: name,
+ CallName: callName(name.Name),
}
p.consume(tokLParen)
for p.tok != tokRParen {
@@ -226,6 +227,14 @@ func (p *parser) parseCall(name *Ident) *Call {
return c
}
+func callName(s string) string {
+ pos := strings.IndexByte(s, '$')
+ if pos == -1 {
+ return s
+ }
+ return s[:pos]
+}
+
func (p *parser) parseFlags(name *Ident) interface{} {
p.consume(tokEq)
switch p.tok {