Chromium Code Reviews| Index: tests/compiler/dart2js/sourcemaps/trace_graph.dart |
| diff --git a/tests/compiler/dart2js/sourcemaps/trace_graph.dart b/tests/compiler/dart2js/sourcemaps/trace_graph.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9a16d15d46053c8415fa11576804ed0fb814f873 |
| --- /dev/null |
| +++ b/tests/compiler/dart2js/sourcemaps/trace_graph.dart |
| @@ -0,0 +1,54 @@ |
| +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +library sourcemap.trace_graph; |
| + |
| +import 'dart:collection'; |
| + |
| +import 'package:compiler/src/io/source_information.dart'; |
| +import 'package:compiler/src/io/position_information.dart'; |
| + |
| +import 'sourcemap_html_helper.dart'; |
| + |
| +class TraceGraph { |
| + List<TraceStep> steps = <TraceStep>[]; |
| + TraceStep entry; |
| + Queue stack = new Queue(); |
| + |
| + void addStep(TraceStep step) { |
| + steps.add(step); |
| + step.stack = stack.toList(); |
| + } |
| + |
| + void pushBranch(branch) { |
| + stack.addLast(branch); |
| + } |
| + |
| + void popBranch() { |
| + stack.removeLast(); |
| + } |
| +} |
| + |
| +class TraceStep<N> { |
|
Siggi Cherem (dart-lang)
2016/01/21 18:18:35
drop the generic? Make it directly use js.Node bel
Johnni Winther
2016/01/22 15:12:39
Removed for now.
|
| + final int id; |
| + final N node; |
| + final Offset offset; |
| + final List text; |
| + final SourceLocation sourceLocation; |
| + |
| + TraceStep next; |
| + Map<dynamic, TraceStep> branchMap; |
| + |
| + List stack; |
| + |
| + TraceStep( |
| + this.id, |
| + this.node, |
| + this.offset, |
| + this.text, |
| + [this.sourceLocation]); |
| + |
| + String toString() => '<span style="background:${toColorCss(id)}">$id</span>'; |
| +} |
| + |