|
Enable top level inference of instance property gets/sets.
To facilitate experimentation, I've left the old code in place, but
disabled it using a const bool `fullTopLevelInference`. The old code
can be re-enabled by setting this bool to `false`. Once we are sure
that we want to proceed with this approach, we can remove the old
code.
I believe that with this change, all expressions that can be type
inferred inside a method body can now be type inferred at top level,
provided that there are no circular dependencies.
R=sigmund@google.com
Committed: https://github.com/dart-lang/sdk/commit/953399512a5611ff103c7ef1f019e429d1a07d58
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+487 lines, -123 lines) |
Patch |
|
M |
pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
|
View
|
|
2 chunks |
+21 lines, -6 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/lib/src/fasta/type_inference/type_inference_engine.dart
|
View
|
|
2 chunks |
+7 lines, -8 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/test/fasta/kompile.status
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
D |
pkg/front_end/testcases/inference/infer_assign_to_property.dart
|
View
|
|
1 chunk |
+0 lines, -29 lines |
0 comments
|
Download
|
|
D |
pkg/front_end/testcases/inference/infer_assign_to_property_custom.dart
|
View
|
|
1 chunk |
+0 lines, -26 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference/infer_assign_to_ref.dart
|
View
|
|
1 chunk |
+0 lines, -3 lines |
2 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference/infer_assign_to_ref.dart.strong.expect
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference/property_get_toplevel.dart
|
View
|
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference/property_get_toplevel.dart.direct.expect
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference/property_get_toplevel.dart.outline.expect
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference/property_get_toplevel.dart.strong.expect
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property.dart
|
View
|
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.direct.expect
|
View
|
|
1 chunk |
+19 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.outline.expect
|
View
|
|
1 chunk |
+19 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.strong.expect
|
View
|
|
1 chunk |
+19 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart
|
View
|
|
1 chunk |
+22 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.direct.expect
|
View
|
|
1 chunk |
+24 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.outline.expect
|
View
|
|
1 chunk |
+23 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.strong.expect
|
View
|
|
1 chunk |
+24 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.strong.expect
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
A + |
pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart
|
View
|
|
1 chunk |
+14 lines, -10 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.direct.expect
|
View
|
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.outline.expect
|
View
|
|
1 chunk |
+30 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.strong.expect
|
View
|
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
|
A + |
pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart
|
View
|
|
1 chunk |
+13 lines, -10 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.direct.expect
|
View
|
|
1 chunk |
+30 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.outline.expect
|
View
|
|
1 chunk |
+27 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.strong.expect
|
View
|
|
1 chunk |
+30 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart
|
View
|
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.direct.expect
|
View
|
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.outline.expect
|
View
|
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
A |
pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect
|
View
|
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
A + |
pkg/front_end/testcases/inference_new/property_get_toplevel.dart
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
|
A + |
pkg/front_end/testcases/inference_new/property_get_toplevel.dart.direct.expect
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A + |
pkg/front_end/testcases/inference_new/property_get_toplevel.dart.outline.expect
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A + |
pkg/front_end/testcases/inference_new/property_get_toplevel.dart.strong.expect
|
View
|
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
Total messages: 6 (2 generated)
|