Interesting bits:
- Removed some behavior that is now unreachable in the presence of
type errors.
- Made if_null_behavior_test not a multitest since it doesn't need to
be any more.
- Likewise, if_null_evaluation_order_test never needed to be a
multitest.
R=lrn@google.com
Review-Url: https://codereview.chromium.org/3003933002 .
Interesting changes:
- A static getter colliding with an inherited non-static setter is a
compile error, not a type warning.
- Trying to call a setter on what is only a getter is a compile error
with no runtime behavior.
- Add support to test.dart for negative tests in DDC.
BUG=
R=jcollins@google.com
Review-Url: https://codereview.chromium.org/3005643002 .
There were tests that tested only checked mode, having their name on the form xx_checked_xx. Those files have been renamed to static.
We found an issue in the DDC regarding constant maps, the issue has been added to the status file.
R=rnystrom@google.com, whesse@google.com
Review-Url: https://codereview.chromium.org/2994383002 .
Obfuscation is controlled by obfuscate flag in Dart_IsolateFlags.
Obfuscation of identifiers is performed during script tokenization - when TokenStream is generated from the source. All kIDENT and kINTERPOL_VAR tokens are renamed consistently using a persistent obfuscation map stored in ObjectStore::obfuscation_map.
Some identifiers (pseudo-keywords, arithmetic operators, builtin recognized methods and entry-points) are not renamed to keep name based lookups from breaking. All other identifiers are renamed.
Constant instances of Symbol-s (both created via literal syntax #ident and using constant constructor const Symbol("ident")) are renamed consistently with corresponding identifiers.
Script urls and Library urls and names are also obfuscated.
Obfuscation map can be dumped as a JSON array at the end of precompilation using Dart_GetObfuscationMap API.
BUG=https://github.com/dart-lang/sdk/issues/30524R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/3003583002 .
Well, clearly this didn't edit the status files I intended and caused more havoc
than was already there. Reverting this and will follow up tomorrow morning.
This reverts commit 5a45aaafc4.
BUG=
Review-Url: https://codereview.chromium.org/3007523004 .
generic_instanceof ... getter_closure_execution_order_test.
The main interesting one is generic_methods_type_expression_test. It
was testing old Dart 1.0-specific behavior and needed a lot of changes.
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/3001803002 .
Finally clauses are inlined into try and catch blocks. This causes the parser to allocate at least two functions for any closure in a finally cause, only one of which will be registered by the flow graph builder. The unregistered function gets compiled, but the program visitor is unable to iterate it. To fix this, we use both the program visitor and the tree-shaker's work queue to apply fixups.
Fixes#30522R=asiva@google.com, cbernaschina@google.com
Review-Url: https://codereview.chromium.org/3003253002 .
Special items in this block:
- checked_mode_helper is a helper library that needed extensive modifications. Fixing it up for Dart 2.0 meant simultaneously migrating
its users in blocks 113 and 163. Renamed it to dynamic_type_helper to try to reflect what it's actually doing now.
- Many minor breakouts of compile-time errors and conversion from static warnings.
BUG=
R=bkonyi@google.com
Review-Url: https://codereview.chromium.org/2999733002 .
Start:
./language[_strong]/closure_side_effect_test.dart
End:
./language[_strong]/compile_time_constant2_test.dart
Except for tests/language_2/closure_type_test.dart, all other files has been copied automatically by the tool.
R=jcollins@google.com, whesse@google.com
PS: Forgot to run git cl upload command right after the migrate_tool, which I should have done, to make the automatic and manual changes clearer.
Review-Url: https://codereview.chromium.org/3002573002 .
./language[_strong]/class_keyword_test.dart
./language[_strong]/closure_shared_state_test.dart
R=johnniwinther@google.com
NOTE: I had to bypass hooks since the analyser fails on the files that have static compile-time errors. Should I do something else?
Review-Url: https://codereview.chromium.org/3001433002 .