mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-01 04:10:07 +00:00
Correct parser logic for is_token_field_prefix
This commit is contained in:
@@ -1663,19 +1663,20 @@ is_token_field_prefix :: proc(p: ^Parser) -> ast.Field_Flag {
|
|||||||
advance_token(p)
|
advance_token(p)
|
||||||
return .Auto_Cast
|
return .Auto_Cast
|
||||||
case .Hash:
|
case .Hash:
|
||||||
|
tok: tokenizer.Token
|
||||||
advance_token(p)
|
advance_token(p)
|
||||||
defer advance_token(p)
|
tok = p.curr_tok
|
||||||
#partial switch p.curr_tok.kind {
|
advance_token(p)
|
||||||
case .Ident:
|
if tok.kind == .Ident {
|
||||||
for kf in ast.field_hash_flag_strings {
|
for kf in ast.field_hash_flag_strings {
|
||||||
if p.curr_tok.text == kf.key {
|
if kf.key == tok.text {
|
||||||
return kf.flag
|
return kf.flag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return .Unknown
|
return .Unknown
|
||||||
}
|
}
|
||||||
return .Unknown
|
return .Invalid
|
||||||
}
|
}
|
||||||
|
|
||||||
parse_field_prefixes :: proc(p: ^Parser) -> (flags: ast.Field_Flags) {
|
parse_field_prefixes :: proc(p: ^Parser) -> (flags: ast.Field_Flags) {
|
||||||
|
|||||||
Reference in New Issue
Block a user