| Index: pkg/analyzer2dart/test/sexpr_data.dart | 
| diff --git a/pkg/analyzer2dart/test/sexpr_data.dart b/pkg/analyzer2dart/test/sexpr_data.dart | 
| index b5d6e935d682722b956b23c2ed84ad7234e79b4e..a8cb90eb07341b948ff9f0d337a139062f11904a 100644 | 
| --- a/pkg/analyzer2dart/test/sexpr_data.dart | 
| +++ b/pkg/analyzer2dart/test/sexpr_data.dart | 
| @@ -1045,4 +1045,95 @@ main() { | 
| (InvokeContinuation k0 v0)) | 
| '''), | 
| ]), | 
| + | 
| +  const Group('For in loop', const <TestSpec>[ | 
| +// TODO(johnniwinther): Add tests for `i` as top-level, static and instance | 
| +// fields. | 
| +    const TestSpec(''' | 
| +main(a) { | 
| +  for (var i in a) { | 
| +    print(i); | 
| +  } | 
| +} | 
| +''', ''' | 
| +(FunctionDefinition main (a return) | 
| +  (LetCont (k0 v0) | 
| +    (LetCont* (k1 v1) | 
| +      (LetCont (k2 v2) | 
| +        (LetCont (k3) | 
| +          (LetPrim v3 (Constant NullConstant)) | 
| +          (InvokeContinuation return v3)) | 
| +        (LetCont (k4) | 
| +          (LetPrim v4 (Constant NullConstant)) | 
| +          (LetCont (k5 v5) | 
| +            (LetCont (k6 v6) | 
| +              (InvokeContinuation* k1 v1)) | 
| +            (InvokeStatic print v5 k6)) | 
| +          (InvokeMethod v0 current  k5)) | 
| +        (Branch (IsTrue v2) k4 k3)) | 
| +      (InvokeMethod v0 moveNext  k2)) | 
| +    (InvokeContinuation k1 a)) | 
| +  (InvokeMethod a iterator  k0)) | 
| +'''), | 
| + | 
| +    const TestSpec(''' | 
| +main(a) { | 
| +  for (var i in a) { | 
| +    print(i); | 
| +    i = 0; | 
| +    print(i); | 
| +  } | 
| +} | 
| +''', ''' | 
| +(FunctionDefinition main (a return) | 
| +  (LetCont (k0 v0) | 
| +    (LetCont* (k1 v1) | 
| +      (LetCont (k2 v2) | 
| +        (LetCont (k3) | 
| +          (LetPrim v3 (Constant NullConstant)) | 
| +          (InvokeContinuation return v3)) | 
| +        (LetCont (k4) | 
| +          (LetPrim v4 (Constant NullConstant)) | 
| +          (LetCont (k5 v5) | 
| +            (LetCont (k6 v6) | 
| +              (LetPrim v7 (Constant IntConstant(0))) | 
| +              (LetCont (k7 v8) | 
| +                (InvokeContinuation* k1 v1)) | 
| +              (InvokeStatic print v7 k7)) | 
| +            (InvokeStatic print v5 k6)) | 
| +          (InvokeMethod v0 current  k5)) | 
| +        (Branch (IsTrue v2) k4 k3)) | 
| +      (InvokeMethod v0 moveNext  k2)) | 
| +    (InvokeContinuation k1 a)) | 
| +  (InvokeMethod a iterator  k0)) | 
| +'''), | 
| + | 
| +    const TestSpec(''' | 
| +main(a) { | 
| +  var i; | 
| +  for (i in a) { | 
| +    print(i); | 
| +  } | 
| +} | 
| +''', ''' | 
| +(FunctionDefinition main (a return) | 
| +  (LetPrim v0 (Constant NullConstant)) | 
| +  (LetCont (k0 v1) | 
| +    (LetCont* (k1 v2 v3) | 
| +      (LetCont (k2 v4) | 
| +        (LetCont (k3) | 
| +          (LetPrim v5 (Constant NullConstant)) | 
| +          (InvokeContinuation return v5)) | 
| +        (LetCont (k4) | 
| +          (LetCont (k5 v6) | 
| +            (LetCont (k6 v7) | 
| +              (InvokeContinuation* k1 v2 v6)) | 
| +            (InvokeStatic print v6 k6)) | 
| +          (InvokeMethod v1 current  k5)) | 
| +        (Branch (IsTrue v4) k4 k3)) | 
| +      (InvokeMethod v1 moveNext  k2)) | 
| +    (InvokeContinuation k1 a v0)) | 
| +  (InvokeMethod a iterator  k0)) | 
| +'''), | 
| +  ]), | 
| ]; | 
|  |