parser: allow << >> with enums
parent
a329104dcb
commit
a8b5c00939
|
@ -416,8 +416,11 @@ fn (p mut Parser) expression() string {
|
|||
}
|
||||
else {
|
||||
if !is_integer_type(typ) {
|
||||
t := p.table.find_type(typ)
|
||||
if t.cat != .enum_ {
|
||||
p.error('cannot use shift operator on non-integer type `$typ`')
|
||||
}
|
||||
}
|
||||
p.next()
|
||||
p.gen(' << ')
|
||||
p.check_types(p.expression(), 'integer')
|
||||
|
@ -426,8 +429,11 @@ fn (p mut Parser) expression() string {
|
|||
}
|
||||
if p.tok == .righ_shift {
|
||||
if !is_integer_type(typ) {
|
||||
t := p.table.find_type(typ)
|
||||
if t.cat != .enum_ {
|
||||
p.error('cannot use shift operator on non-integer type `$typ`')
|
||||
}
|
||||
}
|
||||
p.next()
|
||||
p.gen(' >> ')
|
||||
p.check_types(p.expression(), 'integer')
|
||||
|
|
Loading…
Reference in New Issue