Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: pkg/kernel/lib/transformations/closure/converter.dart

Issue 2777883002: Remove Fasta's copy of accessors.dart. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library kernel.transformations.closure.converter; 5 library kernel.transformations.closure.converter;
6 6
7 import '../../ast.dart' 7 import '../../ast.dart'
8 show 8 show
9 Arguments, 9 Arguments,
10 Block, 10 Block,
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 Statement body = function.body; 259 Statement body = function.body;
260 assert(body != null); 260 assert(body != null);
261 261
262 rewriter = makeRewriterForBody(function); 262 rewriter = makeRewriterForBody(function);
263 263
264 VariableDeclaration contextVariable = new VariableDeclaration( 264 VariableDeclaration contextVariable = new VariableDeclaration(
265 "#contextParameter", 265 "#contextParameter",
266 type: contextClass.rawType, 266 type: contextClass.rawType,
267 isFinal: true); 267 isFinal: true);
268 Context parent = context; 268 Context parent = context;
269 context = context.toNestedContext(new VariableAccessor(contextVariable)); 269 context = context.toNestedContext(
270 new VariableAccessor(contextVariable, null, TreeNode.noOffset));
270 271
271 Set<TypeParameter> captured = capturedTypeVariables[currentFunction]; 272 Set<TypeParameter> captured = capturedTypeVariables[currentFunction];
272 if (captured != null) { 273 if (captured != null) {
273 typeSubstitution = copyTypeVariables(captured); 274 typeSubstitution = copyTypeVariables(captured);
274 } else { 275 } else {
275 typeSubstitution = const <TypeParameter, DartType>{}; 276 typeSubstitution = const <TypeParameter, DartType>{};
276 } 277 }
277 278
278 function.transformChildren(this); 279 function.transformChildren(this);
279 280
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
833 // TODO(ahe): Remove this method when we don't generate closure classes 834 // TODO(ahe): Remove this method when we don't generate closure classes
834 // anymore. 835 // anymore.
835 void addClosureClassNote(Class closureClass) { 836 void addClosureClassNote(Class closureClass) {
836 closureClass.addMember(new Field(new Name("note"), 837 closureClass.addMember(new Field(new Name("note"),
837 type: coreTypes.stringClass.rawType, 838 type: coreTypes.stringClass.rawType,
838 initializer: new StringLiteral( 839 initializer: new StringLiteral(
839 "This is temporary. The VM doesn't need closure classes."), 840 "This is temporary. The VM doesn't need closure classes."),
840 fileUri: currentFileUri)); 841 fileUri: currentFileUri));
841 } 842 }
842 } 843 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698