The multi-test language_2/assertion_initializer_const_error2_test used
to have outcomes caused by a syntax error (arising for all other cases
than `cc02` in this multi-test). This CL moves that comma such that all
subtests have the intended shape, and the test actually tests the
intended property. This causes a rather large number of status file
entries to be adjusted.
Change-Id: I2e176611813e5706e553fb51cda7553f17dfa300
Reviewed-on: https://dart-review.googlesource.com/19191
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
This fixes a number of issues caused by constant evalation reporting
an error, but not correctly propergating that error in AOT mode.
Fixes#31298
Bug:
Change-Id: I43d378e96f033a9bd5bc0d90e1c2cf130d2cce2e
Reviewed-on: https://dart-review.googlesource.com/19183
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
In strong mode, it is a compile-time error to attempt to pass C to a
function requiring A, since types A and C are unrelated.
Change-Id: Ifdd974ece6d040393ac2945c9393bb9683f09c64
Reviewed-on: https://dart-review.googlesource.com/19220
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This CL modifies the Dart source used from test.py such that it takes
`syntax error` into account as an expected outcome in test files (so
that we can have `//# 01: syntax error` with a similar meaning as
`//# 01: compile-time error`).
For all tools except the spec_parser, `syntax error` is the same
outcome as `compile-time error`; that is, nobody else will see the
difference.
For the spec_parser, `syntax error` is the outcome where parsing has
failed; `compile-time error` is taken to mean some other compile-time
error, i.e., the spec_parser is expected to _succeed_ when the
expected outcome is `compile-time error`.
Test files in language and language_2 have been adjusted to use the
outcome `syntax error` where appropriate.
The status files in language and language_2 for the spec_parser have
been adjusted such that they fit all the new `syntax error` outcomes
in test files.
Other status files have been adjusted in a few cases where tests were
corrected (because a compile-time error which was clearly not intended
to be a syntax error turned out to be caused by a typo, which means
that the actual compile-time error has never been tested).
The spec grammar Dart.g was adjusted in a few cases, when some bugs
were discovered. In particular, the treatment of Function has been
changed: It is now known by the parser that Function does not take
any type arguments. This makes no difference for developers, because
they cannot declare a type named Function anyway, but it means that
a number of tricky parsing issues were resolved.
Dart.g was also adjusted to allow `qualified` to contain three
identifiers, which is an old bug (preventing things like metadata on
the form `@p.C.myConst`).
Change-Id: Ie420887d45c882ef97c84143365219f8aa0d2933
Reviewed-on: https://dart-review.googlesource.com/18262
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
If the URI of a directive is invalid, use a special URI with a
scheme marking it as malformed. In the loader, treat a file with
an invalid URI as empty.
Order all dependencies (imports and exports) by source position to
allow the DietListener to match them up properly with metadata.
For the same reason, add imports and exports within parts to
dependencies even though they are not permitted here.
Closes https://github.com/dart-lang/sdk/issues/30997
Closes https://github.com/dart-lang/sdk/issues/31004
Change-Id: Ic7efd0da058c246531c165508b7474475b4bdad2
Reviewed-on: https://dart-review.googlesource.com/17901
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Currently, the Kernel FE doesn't set up parent pointers correctly for
signature function types. This prevents type parameters on generic
function types from being finalized correctly. In addition, finalization
of generic interface types within a generic function type can crash if they
reference not-yet-finalized type parameters of the enclosing function type.
This review solves both issues. Several failing tests pass again, although
more thorough testing is blocked on Github issue #31213 (nested generic function
types crashing in Fasta).
Bug:
Change-Id: Ib5ee6b2566492e3fd6688fe5a6b6976692562ea1
Reviewed-on: https://dart-review.googlesource.com/16360
Reviewed-by: Régis Crelier <regis@google.com>
This is an initial step and some entries say "Pass", which indicates
that the test was marked earlier in some other (more general) section and that
we should split that section.
Change-Id: I0417d55dcdec352f730c298bb155d112eb341711
Reviewed-on: https://dart-review.googlesource.com/16322
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
async_await_test was correct, but was using a misleading name. It really
cares about assertions being enabled, not "checked mode".
The setter tests originally validated the runtime type checks but were
changed to compile time checks. Used a little judicious dynamic to get
back to testing the runtime type checking.
Change-Id: I0e121bd1443376e885777d609f5d6507537c0b8c
Reviewed-on: https://dart-review.googlesource.com/14161
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
Both of these were 1.0 tests that tested how a function argument to an
assert in an intiailizer were handled.
In 2.0, assert() no longer supports functions as their initial
parameter. I updated the test to reflect that. After that, the two tests
are identical, so I removed
assertion_initializer_const_function_error_test.
Change-Id: I41768c4c64459cfa80c817bf9a6c9dea3efd7fb0
Reviewed-on: https://dart-review.googlesource.com/14160
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
This reverts commit 4bb83e9311
This reverts commit f1b07b2789.
Reason for revert on analyzer bots:
Analyzing pkg/analyzer...
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:625:9 • undefined_identifier
error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:625:18 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:626:13 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:635:9 • undefined_identifier
error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:635:18 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:636:13 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:645:9 • undefined_identifier
error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:645:18 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:646:13 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:655:9 • undefined_identifier
error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:655:18 • undefined_identifier
error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:656:13 • undefined_identifier
12 errors found.
Change-Id: Ie2035bf40e50c48f85b514c7a3786141cd0f2453
Reviewed-on: https://dart-review.googlesource.com/14061
Reviewed-by: Martin Kustermann <kustermann@google.com>
It looks like some of the tests in this block were already migrated,
but I re-migrated them and made a few tweaks that I think make them
better 2.0 tests.
Change-Id: I6d9058a53408f046d7db34f2244eeeb2c5eda625
Reviewed-on: https://dart-review.googlesource.com/13620
Reviewed-by: Ben Konyi <bkonyi@google.com>
Successfully migrated 11 tests. Need manual work on 5 tests:
- language_2/sync_generator1_test.dart:
(TODO) Merge from language/sync_generator1_test.dart into this file.
- language_2/syncstar_less_than_test.dart:
(TODO) Merge from language/syncstar_less_than_test.dart into this file.
- language_2/syncstar_yield_test.dart:
(TODO) Merge from language/syncstar_yield_test.dart into this file.
- language_2/syncstar_yieldstar_test.dart:
(TODO) Merge from language/syncstar_yieldstar_test.dart into this file.
- language_2/syntax_test.dart:
(TODO) Merge from language/syntax_test.dart into this file.
Bug:
Change-Id: I894d881a9c1182e6f2c9d190128cc3d0a53faa7f
Reviewed-on: https://dart-review.googlesource.com/12385
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>