1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

parser: fix panic for parse invalid map type (#14431)

This commit is contained in:
yuyi
2022-05-17 17:05:10 +08:00
committed by GitHub
parent 7c6eaa8204
commit d6aa85d059
2 changed files with 15 additions and 2 deletions

View File

@@ -113,12 +113,12 @@ pub fn (mut p Parser) parse_map_type() ast.Type {
}
p.check(.lsbr)
key_type := p.parse_type()
key_sym := p.table.sym(key_type)
is_alias := key_sym.kind == .alias
if key_type.idx() == 0 {
// error is reported in parse_type
return 0
}
key_sym := p.table.sym(key_type)
is_alias := key_sym.kind == .alias
key_type_supported := key_type in [ast.string_type_idx, ast.voidptr_type_idx]
|| key_sym.kind in [.enum_, .placeholder, .any]
|| ((key_type.is_int() || key_type.is_float() || is_alias) && !key_type.is_ptr())