mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-25 06:50:12 +01:00
Implement IndirectValue (#588)
Also updates `FieldAccess` to use `IndirectValue`, as an example.
This commit is contained in:
@@ -162,7 +162,7 @@ auto Expression::MakeGetField(int line_num, const Expression* exp,
|
||||
std::string field) -> const Expression* {
|
||||
auto* e = new Expression();
|
||||
e->line_num = line_num;
|
||||
e->value = FieldAccess({.aggregate = exp, .field = std::move(field)});
|
||||
e->value = FieldAccess({.aggregate = *exp, .field = std::move(field)});
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ void PrintExp(const Expression* e) {
|
||||
std::cout << "]";
|
||||
break;
|
||||
case ExpressionKind::GetField:
|
||||
PrintExp(e->GetFieldAccess().aggregate);
|
||||
PrintExp(e->GetFieldAccess().aggregate.GetPointer());
|
||||
std::cout << ".";
|
||||
std::cout << e->GetFieldAccess().field;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user