Add Expr::GetAttr to IR, and change Lhs::Name to hold a NameId instead of a Sym

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-05-27 15:17:54 -04:00
parent 44411f0392
commit 78b4fb02f5

View File

@@ -10,12 +10,16 @@ pub enum Stmt {
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub enum Lhs { pub enum Lhs {
Name(Sym), Name(NameId),
Complex(Expr), Complex(Expr),
} }
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub enum Expr { pub enum Expr {
GetAttr {
expr: Box<Expr>,
sym: Sym,
},
Call(Box<Expr>, Vec<Expr>), Call(Box<Expr>, Vec<Expr>),
Block(Vec<Stmt>), Block(Vec<Stmt>),
Num(i64), Num(i64),