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

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

Issue 1394063004: Use common.dart to re-export commonly used entities. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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 library dart2js.ir_builder; 5 library dart2js.ir_builder;
6 6
7 import '../closure.dart' hide ClosureScope;
8 import '../common.dart';
7 import '../common/names.dart' show 9 import '../common/names.dart' show
8 Names, 10 Names,
9 Selectors; 11 Selectors;
10 import '../compile_time_constants.dart' show 12 import '../compile_time_constants.dart' show
11 BackendConstantEnvironment; 13 BackendConstantEnvironment;
12 import '../constants/constant_system.dart'; 14 import '../constants/constant_system.dart';
13 import '../constants/values.dart' show 15 import '../constants/values.dart' show
14 ConstantValue, 16 ConstantValue,
15 PrimitiveConstantValue; 17 PrimitiveConstantValue;
16 import '../dart_types.dart'; 18 import '../dart_types.dart';
17 import '../diagnostics/invariant.dart' show
18 invariant;
19 import '../elements/elements.dart'; 19 import '../elements/elements.dart';
20 import '../io/source_information.dart'; 20 import '../io/source_information.dart';
21 import '../js/js.dart' as js show
22 js,
23 LiteralStatement,
24 Template;
25 import '../native/native.dart' show
26 NativeBehavior;
21 import '../tree/tree.dart' as ast; 27 import '../tree/tree.dart' as ast;
22 import '../types/types.dart' show 28 import '../types/types.dart' show
23 TypeMask; 29 TypeMask;
24 import '../closure.dart' hide ClosureScope;
25 import '../universe/call_structure.dart' show 30 import '../universe/call_structure.dart' show
26 CallStructure; 31 CallStructure;
27 import '../universe/selector.dart' show 32 import '../universe/selector.dart' show
28 Selector, 33 Selector,
29 SelectorKind; 34 SelectorKind;
30 import 'cps_ir_nodes.dart' as ir; 35
31 import 'cps_ir_builder_task.dart' show 36 import 'cps_ir_builder_task.dart' show
32 DartCapturedVariables, 37 DartCapturedVariables,
33 GlobalProgramInformation; 38 GlobalProgramInformation;
39 import 'cps_ir_nodes.dart' as ir;
34 40
35 import '../common.dart' as types show
36 TypeMask;
37 import '../js/js.dart' as js show Template, js, LiteralStatement;
38 import '../native/native.dart' show
39 NativeBehavior;
40 41
41 /// A mapping from variable elements to their compile-time values. 42 /// A mapping from variable elements to their compile-time values.
42 /// 43 ///
43 /// Map elements denoted by parameters and local variables to the 44 /// Map elements denoted by parameters and local variables to the
44 /// [ir.Primitive] that is their value. Parameters and locals are 45 /// [ir.Primitive] that is their value. Parameters and locals are
45 /// assigned indexes which can be used to refer to them. 46 /// assigned indexes which can be used to refer to them.
46 class Environment { 47 class Environment {
47 /// A map from locals to their environment index. 48 /// A map from locals to their environment index.
48 final Map<Local, int> variable2index; 49 final Map<Local, int> variable2index;
49 50
(...skipping 2639 matching lines...) Expand 10 before | Expand all | Expand 10 after
2689 ir.Primitive buildInvocationMirror(Selector selector, 2690 ir.Primitive buildInvocationMirror(Selector selector,
2690 List<ir.Primitive> arguments) { 2691 List<ir.Primitive> arguments) {
2691 return addPrimitive(new ir.CreateInvocationMirror(selector, arguments)); 2692 return addPrimitive(new ir.CreateInvocationMirror(selector, arguments));
2692 } 2693 }
2693 2694
2694 ir.Primitive buildForeignCode(js.Template codeTemplate, 2695 ir.Primitive buildForeignCode(js.Template codeTemplate,
2695 List<ir.Primitive> arguments, 2696 List<ir.Primitive> arguments,
2696 NativeBehavior behavior, 2697 NativeBehavior behavior,
2697 {Element dependency}) { 2698 {Element dependency}) {
2698 assert(behavior != null); 2699 assert(behavior != null);
2699 types.TypeMask type = program.getTypeMaskForForeign(behavior); 2700 TypeMask type = program.getTypeMaskForForeign(behavior);
2700 ir.Primitive result = _continueWithExpression((k) => new ir.ForeignCode( 2701 ir.Primitive result = _continueWithExpression((k) => new ir.ForeignCode(
2701 codeTemplate, 2702 codeTemplate,
2702 type, 2703 type,
2703 arguments, 2704 arguments,
2704 behavior, 2705 behavior,
2705 k, 2706 k,
2706 dependency: dependency)); 2707 dependency: dependency));
2707 if (!codeTemplate.isExpression) { 2708 if (!codeTemplate.isExpression) {
2708 // Close the term if this is a "throw" expression or native body. 2709 // Close the term if this is a "throw" expression or native body.
2709 add(new ir.Unreachable()); 2710 add(new ir.Unreachable());
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
2885 } 2886 }
2886 2887
2887 class SwitchCaseInfo { 2888 class SwitchCaseInfo {
2888 final List<ir.Primitive> constants = <ir.Primitive>[]; 2889 final List<ir.Primitive> constants = <ir.Primitive>[];
2889 final SubbuildFunction buildBody; 2890 final SubbuildFunction buildBody;
2890 2891
2891 SwitchCaseInfo(this.buildBody); 2892 SwitchCaseInfo(this.buildBody);
2892 2893
2893 void addConstant(ir.Primitive constant) => constants.add(constant); 2894 void addConstant(ir.Primitive constant) => constants.add(constant);
2894 } 2895 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/constants/values.dart ('k') | pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698