mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Fix parsing #force_inline call expression with or_return
This commit is contained in:
@@ -553,6 +553,27 @@ unparen_expr :: proc(expr: ^Expr) -> (val: ^Expr) {
|
||||
return
|
||||
}
|
||||
|
||||
strip_or_return_expr :: proc(expr: ^Expr) -> (val: ^Expr) {
|
||||
val = expr
|
||||
if expr == nil {
|
||||
return
|
||||
}
|
||||
for {
|
||||
inner: ^Expr
|
||||
#partial switch e in val.derived {
|
||||
case ^Or_Return_Expr:
|
||||
inner = e.expr
|
||||
case ^Paren_Expr:
|
||||
inner = e.expr
|
||||
}
|
||||
if inner == nil {
|
||||
break
|
||||
}
|
||||
val = inner
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Field_Flags :: distinct bit_set[Field_Flag]
|
||||
|
||||
Field_Flag :: enum {
|
||||
|
||||
Reference in New Issue
Block a user