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

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

Issue 1130813002: dart2js cps: Handle error cases. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Whitelist unused API due to semantic visitor being WIP Created 5 years, 7 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 | Annotate | Revision Log
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 8
9 import 'cps_ir_nodes.dart' as cps_ir hide Function; 9 import 'cps_ir_nodes.dart' as cps_ir hide Function;
10 import '../tracer.dart'; 10 import '../tracer.dart';
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 362
363 visitTypeExpression(cps_ir.TypeExpression node) { 363 visitTypeExpression(cps_ir.TypeExpression node) {
364 return "TypeExpression ${node.dartType} " 364 return "TypeExpression ${node.dartType} "
365 "${node.arguments.map(formatReference).join(', ')}"; 365 "${node.arguments.map(formatReference).join(', ')}";
366 } 366 }
367 367
368 visitNonTailThrow(cps_ir.NonTailThrow node) { 368 visitNonTailThrow(cps_ir.NonTailThrow node) {
369 String value = formatReference(node.value); 369 String value = formatReference(node.value);
370 return "NonTailThrow($value)"; 370 return "NonTailThrow($value)";
371 } 371 }
372
373 visitCreateInvocationMirror(cps_ir.CreateInvocationMirror node) {
374 String args = node.arguments.map(formatReference).join(', ');
375 return "CreateInvocationMirror(${node.selector.name}, $args)";
376 }
372 } 377 }
373 378
374 /** 379 /**
375 * Invents (and remembers) names for Continuations, Parameters, etc. 380 * Invents (and remembers) names for Continuations, Parameters, etc.
376 * The names must match the conventions used by IR Hydra, e.g. 381 * The names must match the conventions used by IR Hydra, e.g.
377 * Continuations and Functions must have names of form B### since they 382 * Continuations and Functions must have names of form B### since they
378 * are visualized as basic blocks. 383 * are visualized as basic blocks.
379 */ 384 */
380 class Names { 385 class Names {
381 final Map<Object, String> names = {}; 386 final Map<Object, String> names = {};
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 unexpectedNode(node); 622 unexpectedNode(node);
618 } 623 }
619 624
620 visitTypeExpression(cps_ir.TypeExpression node) { 625 visitTypeExpression(cps_ir.TypeExpression node) {
621 unexpectedNode(node); 626 unexpectedNode(node);
622 } 627 }
623 628
624 visitNonTailThrow(cps_ir.NonTailThrow node) { 629 visitNonTailThrow(cps_ir.NonTailThrow node) {
625 unexpectedNode(node); 630 unexpectedNode(node);
626 } 631 }
632
633 visitCreateInvocationMirror(cps_ir.CreateInvocationMirror node) {
634 unexpectedNode(node);
635 }
627 } 636 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart ('k') | pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698