aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/syntax/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/syntax/parser.go')
-rw-r--r--src/cmd/compile/internal/syntax/parser.go13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go
index 39e7347849..7093a7a606 100644
--- a/src/cmd/compile/internal/syntax/parser.go
+++ b/src/cmd/compile/internal/syntax/parser.go
@@ -291,7 +291,7 @@ func (p *parser) importDecl(group *Group) Decl {
d.LocalPkgName = n
p.next()
}
- if p.tok == _Literal && (p.lit[0] == '"' || p.lit[0] == '`') {
+ if p.tok == _Literal && p.kind == StringLit {
d.Path = p.oliteral()
} else {
p.syntax_error("missing import path; require quoted string")
@@ -570,16 +570,12 @@ func (p *parser) operand(keep_parens bool) Expr {
}
switch p.tok {
- case _Literal:
- x := new(BasicLit)
- x.init(p)
- x.Value = p.lit
- p.next()
- return x
-
case _Name:
return p.name()
+ case _Literal:
+ return p.oliteral()
+
case _Lparen:
p.next()
p.xnest++
@@ -1192,6 +1188,7 @@ func (p *parser) oliteral() *BasicLit {
b := new(BasicLit)
b.init(p)
b.Value = p.lit
+ b.Kind = p.kind
p.next()
return b
}