|
|
Implement constructor bodies and initializers in CPS->JS backend.
As in the SSA backend, a constructor consists of three parts:
1. Instantiator: creates an object and sets its fields
2. Factory: evaluates field initializers, calls instantiator, then
calls bodies.
3. Body: executes the body of a constructor.
The CreateClosureClass instruction has been replaced by CreateInstance
for invoking the instantiator for an arbitrary class.
The IrBuilderVisitor has been split into two subclasses to better
isolate the JS-specific code.
BUG=
R=floitsch@google.com
Committed: https://code.google.com/p/dart/source/detail?r=43092
Total comments: 3
Total comments: 18
Total comments: 47
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+819 lines, -253 lines) |
Patch |
 |
M |
pkg/analyzer2dart/lib/src/cps_generator.dart
|
View
|
1
2
3
4
5
6
7
8
9
|
4 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
11 chunks |
+46 lines, -19 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
14 chunks |
+566 lines, -174 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
4 chunks |
+12 lines, -12 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+11 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/glue.dart
|
View
|
1
2
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/js_tree_builder.dart
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/task.dart
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+0 lines, -7 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+0 lines, -5 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+0 lines, -5 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
View
|
|
4 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
A |
tests/compiler/dart2js/js_backend_cps_ir_constructor_test.dart
|
View
|
1
2
3
4
5
6
|
1 chunk |
+145 lines, -0 lines |
0 comments
|
Download
|
Total messages: 13 (3 generated)
|