| Index: pkg/kernel/lib/transformations/closure/rewriter.dart | 
| diff --git a/pkg/kernel/lib/transformations/closure/rewriter.dart b/pkg/kernel/lib/transformations/closure/rewriter.dart | 
| index 3f4d0d3910623b206461687963df5426f2df342a..ea272605ea11bc3d4637701e4f004404ce355ef5 100644 | 
| --- a/pkg/kernel/lib/transformations/closure/rewriter.dart | 
| +++ b/pkg/kernel/lib/transformations/closure/rewriter.dart | 
| @@ -30,9 +30,10 @@ abstract class AstRewriter { | 
| void _createDeclaration() { | 
| assert(contextDeclaration == null && vectorCreation == null); | 
|  | 
| -    // Context size is set to 1 initially, because the 0-th element of it works | 
| -    // as a link to the parent context. | 
| -    vectorCreation = new VectorCreation(1); | 
| +    // Context size is set to 2 initially, because the 0-th element of it holds | 
| +    // the vector of type arguments that the VM creates, and the 1-st element | 
| +    // works as a link to the parent context. | 
| +    vectorCreation = new VectorCreation(2); | 
| contextDeclaration = new VariableDeclaration.forValue(vectorCreation, | 
| type: new VectorType()); | 
| contextDeclaration.name = "#context"; | 
| @@ -74,9 +75,9 @@ class BlockRewriter extends AstRewriter { | 
| _createDeclaration(); | 
| _insertStatement(contextDeclaration); | 
| if (accessParent is! NullLiteral) { | 
| -      // Index 0 of a context always points to the parent. | 
| +      // Index 1 of a context always points to the parent. | 
| _insertStatement(new ExpressionStatement( | 
| -          new VectorSet(new VariableGet(contextDeclaration), 0, accessParent))); | 
| +          new VectorSet(new VariableGet(contextDeclaration), 1, accessParent))); | 
| } | 
| } | 
|  | 
|  |