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

Side by Side Diff: pkg/fletchc/lib/src/debug_info_lazy_field_initializer_codegen.dart

Issue 1659163007: Rename fletch -> dartino (Closed) Base URL: https://github.com/dartino/sdk.git@master
Patch Set: address comments Created 4 years, 10 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
(Empty)
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file
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.md file.
4
5 library fletchc.debug_info_lazy_field_initializer_codegen;
6
7 import 'package:compiler/src/elements/elements.dart';
8 import 'package:compiler/src/resolution/tree_elements.dart';
9 import 'package:compiler/src/tree/tree.dart';
10 import 'package:compiler/src/universe/selector.dart';
11
12 import 'package:compiler/src/dart_types.dart' show
13 DartType;
14
15 import 'package:compiler/src/diagnostics/spannable.dart' show
16 Spannable;
17
18 import 'fletch_context.dart';
19
20 import 'fletch_function_builder.dart' show
21 FletchFunctionBuilder;
22
23 import 'fletch_registry.dart' show
24 FletchRegistry;
25
26 import 'debug_registry.dart' show
27 DebugRegistry;
28
29 import 'closure_environment.dart';
30 import 'codegen_visitor.dart';
31 import 'lazy_field_initializer_codegen.dart';
32 import 'debug_info.dart';
33
34 class DebugInfoLazyFieldInitializerCodegen
35 extends LazyFieldInitializerCodegen with DebugRegistry {
36 final DebugInfo debugInfo;
37 final FletchCompilerImplementation compiler;
38
39 DebugInfoLazyFieldInitializerCodegen(this.debugInfo,
40 FletchFunctionBuilder functionBuilder,
41 FletchContext context,
42 TreeElements elements,
43 ClosureEnvironment closureEnvironment,
44 FieldElement field,
45 this.compiler)
46 : super(functionBuilder, context, elements, null,
47 closureEnvironment, field);
48
49 void recordDebugInfo(Node node) {
50 debugInfo.addLocation(compiler, assembler.byteSize, node);
51 }
52
53 void pushVariableDeclaration(LocalValue value) {
54 super.pushVariableDeclaration(value);
55 debugInfo.pushScope(assembler.byteSize, value);
56 }
57
58 void popVariableDeclaration(Element element) {
59 super.popVariableDeclaration(element);
60 debugInfo.popScope(assembler.byteSize);
61 }
62
63 void callIsSelector(
64 Node node,
65 DartType type,
66 Spannable diagnosticLocation) {
67 recordDebugInfo(node);
68 super.callIsSelector(node, type, diagnosticLocation);
69 }
70
71 void invokeMethod(Node node, Selector selector) {
72 recordDebugInfo(node);
73 super.invokeMethod(node, selector);
74 }
75
76 void invokeGetter(Node node, Name name) {
77 recordDebugInfo(node);
78 super.invokeGetter(node, name);
79 }
80
81 void invokeSetter(Node node, Name name) {
82 recordDebugInfo(node);
83 super.invokeSetter(node, name);
84 }
85
86 void invokeFactory(Node node, int constId, int arity) {
87 recordDebugInfo(node);
88 super.invokeFactory(node, constId, arity);
89 }
90
91 void invokeStatic(Node node, int constId, int arity) {
92 recordDebugInfo(node);
93 super.invokeStatic(node, constId, arity);
94 }
95
96 void generateReturn(Node node) {
97 recordDebugInfo(node);
98 super.generateReturn(node);
99 }
100
101 void generateSwitchCaseMatch(CaseMatch caseMatch, BytecodeLabel ifTrue) {
102 // We do not want to break on the evaluation of the individual
103 // case equality tests.
104 recordDebugInfo(null);
105 super.generateSwitchCaseMatch(caseMatch, ifTrue);
106 }
107
108 void generateIdentical(Node node) {
109 recordDebugInfo(node);
110 super.generateIdentical(node);
111 }
112
113 void generateIdenticalNonNumeric(Node node) {
114 recordDebugInfo(node);
115 super.generateIdenticalNonNumeric(node);
116 }
117
118 void generateThrow(Node node) {
119 recordDebugInfo(node);
120 super.generateThrow(node);
121 }
122
123 void visitForValue(Node node) {
124 recordDebugInfo(node);
125 super.visitForValue(node);
126 }
127
128 void visitForEffect(Node node) {
129 recordDebugInfo(node);
130 super.visitForEffect(node);
131 }
132 }
OLDNEW
« no previous file with comments | « pkg/fletchc/lib/src/debug_info_function_codegen.dart ('k') | pkg/fletchc/lib/src/debug_registry.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698