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

Side by Side Diff: pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart

Issue 1645053002: dart2js cps: Refactor tracking of side effects. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Treat named argument as optional Created 4 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 dart2js.ir_tracer; 5 library dart2js.ir_tracer;
6 6
7 import 'dart:async' show EventSink; 7 import 'dart:async' show EventSink;
8 import 'cps_ir_nodes.dart' as cps_ir; 8 import 'cps_ir_nodes.dart' as cps_ir;
9 import '../tracer.dart'; 9 import '../tracer.dart';
10 10
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 visitSetField(cps_ir.SetField node) { 262 visitSetField(cps_ir.SetField node) {
263 String object = formatReference(node.object); 263 String object = formatReference(node.object);
264 String field = node.field.name; 264 String field = node.field.name;
265 String value = formatReference(node.value); 265 String value = formatReference(node.value);
266 return 'SetField $object.$field = $value'; 266 return 'SetField $object.$field = $value';
267 } 267 }
268 268
269 visitGetField(cps_ir.GetField node) { 269 visitGetField(cps_ir.GetField node) {
270 String object = formatReference(node.object); 270 String object = formatReference(node.object);
271 String field = node.field.name; 271 String field = node.field.name;
272 return 'GetField($object.$field)'; 272 String finalFlag = node.isFinal ? 'final' : 'non-final';
273 return 'GetField $object.$field $finalFlag';
273 } 274 }
274 275
275 visitGetStatic(cps_ir.GetStatic node) { 276 visitGetStatic(cps_ir.GetStatic node) {
276 String element = node.element.name; 277 String element = node.element.name;
277 return 'GetStatic($element)'; 278 String finalFlag = node.isFinal ? 'final' : 'non-final';
279 return 'GetStatic $element $finalFlag';
278 } 280 }
279 281
280 visitSetStatic(cps_ir.SetStatic node) { 282 visitSetStatic(cps_ir.SetStatic node) {
281 String element = node.element.name; 283 String element = node.element.name;
282 String value = formatReference(node.value); 284 String value = formatReference(node.value);
283 return 'SetStatic $element = $value'; 285 return 'SetStatic $element = $value';
284 } 286 }
285 287
286 visitGetLazyStatic(cps_ir.GetLazyStatic node) { 288 visitGetLazyStatic(cps_ir.GetLazyStatic node) {
287 String element = node.element.name; 289 String element = node.element.name;
288 return "GetLazyStatic $element"; 290 String finalFlag = node.isFinal ? 'final' : 'non-final';
291 return "GetLazyStatic $element $finalFlag";
289 } 292 }
290 293
291 visitCreateBox(cps_ir.CreateBox node) { 294 visitCreateBox(cps_ir.CreateBox node) {
292 return 'CreateBox'; 295 return 'CreateBox';
293 } 296 }
294 297
295 visitCreateInstance(cps_ir.CreateInstance node) { 298 visitCreateInstance(cps_ir.CreateInstance node) {
296 String className = node.classElement.name; 299 String className = node.classElement.name;
297 String arguments = node.arguments.map(formatReference).join(', '); 300 String arguments = node.arguments.map(formatReference).join(', ');
298 String typeInformation = formatReference(node.typeInformation); 301 String typeInformation = formatReference(node.typeInformation);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 357
355 visitForeignCode(cps_ir.ForeignCode node) { 358 visitForeignCode(cps_ir.ForeignCode node) {
356 String id = names.name(node); 359 String id = names.name(node);
357 String arguments = node.arguments.map(formatReference).join(', '); 360 String arguments = node.arguments.map(formatReference).join(', ');
358 printStmt(id, 361 printStmt(id,
359 "ForeignCode ${node.type} ${node.codeTemplate.source} $arguments"); 362 "ForeignCode ${node.type} ${node.codeTemplate.source} $arguments");
360 } 363 }
361 364
362 visitGetLength(cps_ir.GetLength node) { 365 visitGetLength(cps_ir.GetLength node) {
363 String object = formatReference(node.object); 366 String object = formatReference(node.object);
364 return 'GetLength $object'; 367 String finalFlag = node.isFinal ? 'final' : 'non-final';
368 return 'GetLength $object $finalFlag';
365 } 369 }
366 370
367 visitGetIndex(cps_ir.GetIndex node) { 371 visitGetIndex(cps_ir.GetIndex node) {
368 String object = formatReference(node.object); 372 String object = formatReference(node.object);
369 String index = formatReference(node.index); 373 String index = formatReference(node.index);
370 return 'GetIndex $object $index'; 374 return 'GetIndex $object $index';
371 } 375 }
372 376
373 visitSetIndex(cps_ir.SetIndex node) { 377 visitSetIndex(cps_ir.SetIndex node) {
374 String object = formatReference(node.object); 378 String object = formatReference(node.object);
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } 683 }
680 684
681 visitBoundsCheck(cps_ir.BoundsCheck node) { 685 visitBoundsCheck(cps_ir.BoundsCheck node) {
682 unexpectedNode(node); 686 unexpectedNode(node);
683 } 687 }
684 688
685 visitReceiverCheck(cps_ir.ReceiverCheck node) { 689 visitReceiverCheck(cps_ir.ReceiverCheck node) {
686 unexpectedNode(node); 690 unexpectedNode(node);
687 } 691 }
688 } 692 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698