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

Side by Side Diff: pkg/compiler/lib/src/js_backend/checked_mode_helpers.dart

Issue 2608143002: Refactor BackendHelpers to make 'find' methods private. (Closed)
Patch Set: Updated cf. comments. Created 3 years, 11 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import '../compiler.dart' show Compiler; 5 import '../compiler.dart' show Compiler;
6 import '../dart_types.dart'; 6 import '../dart_types.dart';
7 import '../elements/elements.dart'; 7 import '../elements/elements.dart';
8 import '../js/js.dart' as jsAst; 8 import '../js/js.dart' as jsAst;
9 import '../js/js.dart' show js; 9 import '../js/js.dart' show js;
10 import '../ssa/codegen.dart' show SsaCodeGenerator; 10 import '../ssa/codegen.dart' show SsaCodeGenerator;
11 import '../ssa/nodes.dart' show HTypeConversion; 11 import '../ssa/nodes.dart' show HTypeConversion;
12 import '../universe/call_structure.dart' show CallStructure; 12 import '../universe/call_structure.dart' show CallStructure;
13 import '../universe/use.dart' show StaticUse; 13 import '../universe/use.dart' show StaticUse;
14 import 'backend.dart'; 14 import 'backend.dart';
15 15
16 class CheckedModeHelper { 16 class CheckedModeHelper {
17 final String name; 17 final String name;
18 18
19 const CheckedModeHelper(String this.name); 19 const CheckedModeHelper(String this.name);
20 20
21 StaticUse getStaticUse(Compiler compiler) { 21 StaticUse getStaticUse(Compiler compiler) {
22 JavaScriptBackend backend = compiler.backend; 22 JavaScriptBackend backend = compiler.backend;
23 // TODO(johnniwinther): Refactor this to avoid looking up directly in the
24 // js helper library but instead access helpers directly on backend helpers.
23 return new StaticUse.staticInvoke( 25 return new StaticUse.staticInvoke(
24 backend.helpers.findHelper(name), callStructure); 26 backend.helpers.jsHelperLibrary.find(name), callStructure);
25 } 27 }
26 28
27 CallStructure get callStructure => CallStructure.ONE_ARG; 29 CallStructure get callStructure => CallStructure.ONE_ARG;
28 30
29 jsAst.Expression generateCall( 31 jsAst.Expression generateCall(
30 SsaCodeGenerator codegen, HTypeConversion node) { 32 SsaCodeGenerator codegen, HTypeConversion node) {
31 StaticUse staticUse = getStaticUse(codegen.compiler); 33 StaticUse staticUse = getStaticUse(codegen.compiler);
32 codegen.registry.registerStaticUse(staticUse); 34 codegen.registry.registerStaticUse(staticUse);
33 List<jsAst.Expression> arguments = <jsAst.Expression>[]; 35 List<jsAst.Expression> arguments = <jsAst.Expression>[];
34 codegen.use(node.checkedInput); 36 codegen.use(node.checkedInput);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 DartType type = node.typeExpression; 133 DartType type = node.typeExpression;
132 Element element = type.element; 134 Element element = type.element;
133 jsAst.Name isField = codegen.backend.namer.operatorIs(element); 135 jsAst.Name isField = codegen.backend.namer.operatorIs(element);
134 arguments.add(js.quoteName(isField)); 136 arguments.add(js.quoteName(isField));
135 codegen.use(node.typeRepresentation); 137 codegen.use(node.typeRepresentation);
136 arguments.add(codegen.pop()); 138 arguments.add(codegen.pop());
137 jsAst.Name asField = codegen.backend.namer.substitutionName(element); 139 jsAst.Name asField = codegen.backend.namer.substitutionName(element);
138 arguments.add(js.quoteName(asField)); 140 arguments.add(js.quoteName(asField));
139 } 141 }
140 } 142 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_backend/backend_impact.dart ('k') | pkg/compiler/lib/src/js_backend/constant_system_javascript.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698