Now kernel-service sends an "error" status whenever there are compile time errors,
so many of these tests that were not executed at runtime are now correctly being
reported by the VM as compile time errors.
This was only possible now that we are plumbing all error messages through a
single API, we can later evaluate whether it makes sense to recover
on some of these errors and how to deal better with recovery
Review-Url: https://codereview.chromium.org/2976403002 .
Revert "Precompiler doesn't report Dart 2.0 static type errors yet."
This reverts commit 7af2d86ed3.
Revert "Move absstract_exact_selector back into the language tests. (#30169)"
This reverts commit 452d2d0840.
Revert "Set up directories for migrated Dart 2.0 tests and migrate a couple. (#30149)"
This reverts commit 47985d6dbd.
R=zra@google.com
BUG:dartbug.com/30171
Review-Url: https://codereview.chromium.org/2979073002 .
* Set up directories for migrated Dart 2.0 tests and migrate a couple.
- Create new "_2" directories where tests that have been validated as
ready for Dart 2.0 will end up.
- Create empty status files for each directory.
- Add those directories to the set of default selectors you get when you
run test.py. This gets the VM bots running them.
- Get the DDC bots running those suites.
- Move abstract_exact_selector_test over to dart2js since it's a
dart2js-specific regression test and not an actual language test.
- Migrate corelib/apply_test.dart.
- Delete abstract_beats_arguments[2]_test.dart since that code is
statically wrong in 2.0 and can't be run.
This doesn't get the dart2js bots running the new suites. I'll email
the relevant folks to get help with that.
* Resurrect abstract_beats_arguments_test.dart.
It usefully checked that an implementation reports an warning (now
error) if you construct an abstract class.
Also added support to test.dart to mark a test as expecting to
generate a compile error in the test itself. That way, the status file
reflects what is *wrong* about the current status, not what is *right*.
* Change static error syntax to match front_end notation.
* Migrate abstract_getter_test.
Previously failing assertions in the implementations of
ShiftMintOpInstr::EmitNativeCode for various architectures are revised:
* Incorrect assertion !has_shift_count_check() is removed
* Assertion for shift >= 0 is restored
* Assertion for shift < 64 on X64 is moved to kSHL branch
Also, misleading ShiftMintopInstr::has_shift_count_check() method
is replaced with method IsShiftCountInRange() with opposite meaning.
On X64, bug in the implementation of right shifts with constant shift
amount >= 64 is fixed. Corresponding test case is added.
R=regis@google.com, zra@google.com
Review-Url: https://codereview.chromium.org/2974953002 .
* update test because fasta scanner correctly warns on 1.e+2
* fasta scanner correctly produces compile time error
see dartbug.com/28664
fix dartbug.com/28680
* update fasta AsciiControlCharacter error code
* enable fasta scanner in analyzer by default
R=ahe@google.com, paulberry@google.com
Review-Url: https://codereview.chromium.org/2967363003 .
Currently some tests pass in checked mode but fails in non-checked mode
because we don't check the result of a constant-evaluation that should
be bool in non-checked mode.
This CL changes it so we always check the bool result in the constant-evaluator.
BUG=
R=kustermann@google.com
Review-Url: https://codereview.chromium.org/2956493003 .
It can compile and run tests on Chrome. There are a lot of failing tests
that I (or the team) will need to triage, but I think at least basic
tests are working as expected.
There is code that could be cleaned up to more neatly factor how dart2js
and dartdevc are handled now that there are two separate compilers to
JS. There's also some redundant code between the path for testing
compile errors (enqueueStandardTest()) and the path for running a test
in the browser.
R=whesse@google.com
Review-Url: https://codereview.chromium.org/2947473002 .
Catch simply gave NullConstant as arguments to _instanceOf,
now I've copied what the IsExpression does, and made
LoadInstantiatorTypeArguments actually work in this case
(by filling out the scopes_->this_variable value,
by actually visiting the catch guard in the scope builder
rather than skipping it).
Fixes#29553.
BUG=
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2938173002 .
Before this, if a generic class was instantiated with only dynamic,
TypeArgument::null would be used as the type argument, ignoring
types from the super.
Now it only returns TypeArguments::null if the class directly gives all
type arguments (and they are all dynamic).
Fixes#29537
BUG=
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2941983002 .