mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-31 03:40:08 +00:00
Implicit Selector Expressions: .A
This commit is contained in:
@@ -144,6 +144,10 @@ Selector_Expr :: struct {
|
||||
field: ^Ident,
|
||||
}
|
||||
|
||||
Implicit_Selector_Expr :: struct {
|
||||
using node: Expr,
|
||||
field: ^Ident,
|
||||
}
|
||||
|
||||
Index_Expr :: struct {
|
||||
using node: Expr,
|
||||
|
||||
@@ -2581,6 +2581,13 @@ parse_unary_expr :: proc(p: ^Parser, lhs: bool) -> ^ast.Expr {
|
||||
ue.expr = expr;
|
||||
return ue;
|
||||
|
||||
case token.Period:
|
||||
op := advance_token(p);
|
||||
field := parse_ident(p);
|
||||
ise := ast.new(ast.Implicit_Selector_Expr, op.pos, field.end);
|
||||
ise.field = field;
|
||||
return ise;
|
||||
|
||||
}
|
||||
return parse_atom_expr(p, parse_operand(p, lhs), lhs);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user