Skylark: Use LValue class in loops and comprehensions.

--
MOS_MIGRATED_REVID=89020190
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/AssignmentStatement.java b/src/main/java/com/google/devtools/build/lib/syntax/AssignmentStatement.java
index f0063d0..601f128 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/AssignmentStatement.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/AssignmentStatement.java
@@ -52,7 +52,8 @@
 
   @Override
   void exec(Environment env) throws EvalException, InterruptedException {
-    lvalue.assign(env, getLocation(), expression);
+    Object rvalue = expression.eval(env);
+    lvalue.assign(env, getLocation(), rvalue);
   }
 
   @Override