|
Adjusts dart2js backend to handle method type arguments.
This CL has the same purpose as 1969753002, stated in the title line,
but it works for checked mode execution (where 1969753002 was broken),
and for usage of method type arguments in additional situations.
Approach: `DartType` and subtypes have been extended with new methods
to erase `MethodTypeVariableType` to `DynamicType`. This is done early
(after resolution, before SsaBuilder), such that only few parts of the
compiler need to deal with anything new. This approach handles method
type variables in checked mode, in `new` expressions, and in function
typed parameters. Finally, tests are added for the new cases, and
status files updated.
UPDATE: See message #10 and #12 for an updated description of the approach.
R=johnniwinther@google.com
Committed: https://github.com/dart-lang/sdk/commit/04e45eb634fe06c293cdb9fbd973ed2614431bed
Total comments: 4
Total comments: 2
Total comments: 8
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+367 lines, -46 lines) |
Patch |
|
M |
pkg/compiler/lib/src/commandline_options.dart
|
View
|
1
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/compile_time_constants.dart
|
View
|
1
2
3
4
|
1 chunk |
+9 lines, -3 lines |
2 comments
|
Download
|
|
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
View
|
1
2
3
4
|
1 chunk |
+11 lines, -3 lines |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/dart_backend/backend_ast_to_frontend_ast.dart
|
View
|
1
|
4 chunks |
+8 lines, -4 lines |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/dart_types.dart
|
View
|
1
2
3
4
|
11 chunks |
+106 lines, -9 lines |
2 comments
|
Download
|
|
M |
pkg/compiler/lib/src/diagnostics/messages.dart
|
View
|
1
2
3
4
|
2 chunks |
+31 lines, -0 lines |
2 comments
|
Download
|
|
M |
pkg/compiler/lib/src/js_backend/backend.dart
|
View
|
1
2
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/js_backend/runtime_types.dart
|
View
|
1
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/resolution/constructors.dart
|
View
|
1
2
3
4
|
1 chunk |
+19 lines, -2 lines |
2 comments
|
Download
|
|
M |
pkg/compiler/lib/src/resolution/signatures.dart
|
View
|
1
|
1 chunk |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/resolution/type_resolver.dart
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/ssa/builder.dart
|
View
|
1
2
3
4
|
5 chunks |
+41 lines, -15 lines |
0 comments
|
Download
|
|
M |
pkg/compiler/lib/src/ssa/optimize.dart
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
tests/language/generic_local_functions_test.dart
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
A |
tests/language/generic_methods_function_type_test.dart
|
View
|
|
1 chunk |
+23 lines, -0 lines |
0 comments
|
Download
|
|
A + |
tests/language/generic_methods_function_type_test.options
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A |
tests/language/generic_methods_new_test.dart
|
View
|
1
2
|
1 chunk |
+31 lines, -0 lines |
0 comments
|
Download
|
|
A + |
tests/language/generic_methods_new_test.options
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A |
tests/language/generic_methods_type_expression_test.dart
|
View
|
1
2
3
4
|
1 chunk |
+52 lines, -0 lines |
0 comments
|
Download
|
|
A + |
tests/language/generic_methods_type_expression_test.options
|
View
|
1
2
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
M |
tests/language/language.status
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
tests/language/language_analyzer2.status
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
tests/language/language_dart2js.status
|
View
|
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
Total messages: 18 (5 generated)
|