mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-01 10:04:59 +01:00
Implement IndirectValue (#588)
Also updates `FieldAccess` to use `IndirectValue`, as an example.
This commit is contained in:
@@ -638,7 +638,8 @@ void StepLvalue() {
|
||||
case ExpressionKind::GetField: {
|
||||
// { {e.f :: C, E, F} :: S, H}
|
||||
// -> { e :: [].f :: C, E, F} :: S, H}
|
||||
frame->todo.Push(MakeLvalAct(exp->GetFieldAccess().aggregate));
|
||||
frame->todo.Push(
|
||||
MakeLvalAct(exp->GetFieldAccess().aggregate.GetPointer()));
|
||||
act->pos++;
|
||||
break;
|
||||
}
|
||||
@@ -714,7 +715,8 @@ void StepExp() {
|
||||
case ExpressionKind::GetField: {
|
||||
// { { e.f :: C, E, F} :: S, H}
|
||||
// -> { { e :: [].f :: C, E, F} :: S, H}
|
||||
frame->todo.Push(MakeLvalAct(exp->GetFieldAccess().aggregate));
|
||||
frame->todo.Push(
|
||||
MakeLvalAct(exp->GetFieldAccess().aggregate.GetPointer()));
|
||||
act->pos++;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user