Commit graph

323 commits

Author SHA1 Message Date
Alexander Markov bbf93acbe7 [tests] Cleanup test with absent deferred library
Deferred libraries with sources not available at compile-time
are not supported since Dart 2.
This change cleans up test for such a case.

Change-Id: I7e4abb551a4d9997535b06030e3628aab6655355
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/267100
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-11-03 17:06:42 +00:00
Alexander Markov b591fc9d2c [tests] Cleanup tests for unsupported --enable-debug-break
'--enable-debug-break' VM option is not supported since Dart 2.
This change cleans up obsolete tests for that feature.

Change-Id: I240d319f2c32dc451bb30b0fb85402cccfa1eb23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/267080
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2022-11-01 20:54:28 +00:00
Mayank Patke ed441e48d0 Update all Slow tests to be Slow, Pass.
Change-Id: I610b272355b045eab80cf941210774fb12d775eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134103
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-01 00:17:42 +00:00
Robert Nystrom fc1b1ecc71 Move files under language_2 into subdirectories.
Change-Id: Idbcc965a27e9ffeedf5e0a1068b019de4193070f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127745
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-11 19:18:00 +00:00
Robert Nystrom 582cec84f4 Set up new test suites for migrating the tests to NNBD.
- Copies corelib_2/a*    -> corelib/
- Copies language_2/ab*  -> language/
- Copies lib_2/math/     -> lib/math/
- Copies standalone_2/a* -> standalone/

And also copies over and renames all of the status files in those
directories.

Then it migrates those tests to be static error free in NNBD.

Finally, adds support to the test_runner for the new suites.

Note that this review is split into multiple patchsets. The first
patchset is a straight copy of the existing files. Then the later
patchsets have the interesting changes.

Change-Id: Icec2ff850a3aee30b653066ac184495d1e3814d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125467
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2019-11-19 00:18:43 +00:00
William Hesse 6485590527 Remove old java-based analyzer from test scripts and status files
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1537653002 .
2015-12-17 14:44:57 +01:00
Florian Loitsch af4983c6b2 dart2js: add support for configuration-specific imports.
R=johnniwinther@google.com, rnystrom@google.com

Committed: 64edfaf21a
Reverted: f38b810d33

Review URL: https://codereview.chromium.org/1388523002 .
2015-12-11 06:17:15 +01:00
Florian Loitsch f38b810d33 Revert "dart2js: add support for configuration-specific imports."
This reverts commit 64edfaf21a.

Review URL: https://codereview.chromium.org/1517013003 .
2015-12-11 00:49:38 +01:00
Florian Loitsch 64edfaf21a dart2js: add support for configuration-specific imports.
R=johnniwinther@google.com, rnystrom@google.com

Review URL: https://codereview.chromium.org/1388523002 .
2015-12-11 00:25:01 +01:00
Johnni Winther a48dbfefd8 Static/instance getter/setter override is a warning.
Closes #11496

R=karlklose@google.com

Review URL: https://codereview.chromium.org/1508343002.
2015-12-09 11:57:20 +01:00
Johnni Winther c9a1e1c1b1 Update analyzer status.
BUG=

Review URL: https://codereview.chromium.org/1510753003.
2015-12-08 12:00:07 +01:00
Regis Crelier 451eaab718 Remove --supermixin flag from VM.
Update tests and test status files.

Fixes #24479.

R=hausner@google.com

Review URL: https://codereview.chromium.org/1383923002 .
2015-10-01 18:04:31 -07:00
Stephen Adams c6ef91be72 Suppress other test configs that do not handle mixins with super calls
TBR=regis@google.com

Review URL: https://codereview.chromium.org//1375233005 .
2015-09-30 10:57:25 -07:00
Matthias Hausner 4ebab25d8f Implement constructor closures
One detail that isn't implemented yet is canonicalization of constructor tear-offs. At the moment, two tear-offs of the same constructor result in closures that are not equal.

BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org//1255063005 .
2015-08-03 15:50:46 -07:00
Matthias Hausner f1da09741d Implement tear-off closure operator #
BUG=
R=fschneider@google.com

Review URL: https://codereview.chromium.org//1234883005 .
2015-07-22 12:50:36 -07:00
Johnni Winther f49f00608f Add tests for problem with newline encoding in multiline strings.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1252443002.
2015-07-22 13:10:13 +02:00
Regis Crelier 15de03e2d5 Allow super calls in mixins (for now behind a --supermixin flag).
As a consequence, allow a mixin application alias as a mixin, even if it does
not extend Object.
Add new tests.
Fix an existing test.
Update status files.

Fixes #23771

R=hausner@google.com

Review URL: https://codereview.chromium.org//1232613005 .
2015-07-17 11:32:23 -07:00
Matthias Hausner ce917c5160 Redirection type of a redirecting factory can be deferred
BUG=23408
R=regis@google.com

Review URL: https://codereview.chromium.org//1219023002.
2015-06-30 14:57:07 -07:00
paulberry@google.com 7138d01444 In constant evaluation, handle final vars initialized at declaration site.
Previously final variables initialized at the declaration site
would simply be ignored, causing some checked-mode compile time
errors to be missed, and causing the analyzer to produce
incorrect values for any such constants.

BUG=dartbug.com/23292
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1099953004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45494 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 16:21:54 +00:00
hausner@google.com 21ca62f8bc Properly resolve top-level setters
Fixes issue 4386.

When converting a getter to a setter (converting a right-hand
side expression to a left-hand side, assignable entity),
we need to know where to look for the setter function.
Top-level setters need to be resolved in the library or prefix
scope in which the getter was found.

R=regis@google.com

Review URL: https://codereview.chromium.org//1090373006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45316 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 17:36:34 +00:00
regis@google.com 240c208462 Add a separate test verifying that the optimizer does not trip over debug break.
R=iposva@google.com

Review URL: https://codereview.chromium.org//1091133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45300 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 23:19:58 +00:00
paulberry@google.com 2da94d7abb Update analyzer status files after r45169.
TBR=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1085343002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45174 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 17:17:46 +00:00
paulberry@google.com 0457770df5 Don't permit annotations inside variable declarations.
This addresses the root cause of dartbug.com/23176.

BUG=dartbug.com/23204
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1083093002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45165 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 13:28:38 +00:00
paulberry@google.com e0ee1cb68f Rework type assignability, subtype, and "more specific than" checking.
The key change in this CL is to change the technique for avoiding
infinite recursion in the presence of illegal code.  Rather than track
type pairs, we track (a) the function typedef elements that have been
expanded while examining the LHS and RHS, and (b) the class and type
parameter elements that have been visited while exploring the class
hierarchy.  If a function typedef is encountered while expanding
itself, or a class or type parameter element is encountered while
searching its own class hierarchy, then it is skipped.  Since both
class hierarchy loops and self-referential function typedefs are
prohibited by the spec, this ensures that the checks to avoid
recursion will only trigger in the presence of compile errors, so
analyzer will produce correct warnings in the absence of compile
errors.

As a consequence of the new technique, bugs 21912 and 22976 are fixed.

In addition, there are a few other improvements:

- Optional arguments are used to keep track of elements already
  visited, so it's not necessary to have separate functions
  isAssignableTo2, isSubtypeOf2, and isMoreSpecificThan2, nor do we
  need "internal" versions of those functions.

- InterfaceTypeImpl no longer needs a special implementation of
  isSubtypeOf.  It's now implemented in the same way it's defined (in
  terms of isMoreSpecificThan).

- Some flaws were discovered in the co19 tests.  I've filed a co19 bug
  for these, and updated the co19-analyzer2 status file.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1070443002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44965 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 13:00:57 +00:00
paulberry@google.com 635c6a11ec Implement the new '?.' operator in analyzer.
As in r44802, the new operator is only accepted by the tokenizer if
the command-line option "--enable-null-aware-operators" is supplied.
Only static analysis of '?.' is implemented; however, the tests in
tests/language will verify behavior once it is implemented.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1062723002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44907 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-05 20:59:05 +00:00
paulberry@google.com 0e488419b6 Implement the new '??=' operator in analyzer.
As in r44802, the new operator is only accepted by the tokenizer if
the command-line option "--enable-null-aware-operators" is supplied.
Only static analysis of '??=' is implemented; however, the tests in
tests/language will verify behavior once it is implemented.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1052243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44873 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 20:37:09 +00:00
paulberry@google.com 53e52f0a31 Implement the new '??' operator in analyzer.
The new operator is only accepted by the tokenizer if the command-line
option "--enable-null-aware-operators" is supplied.

Only static analysis of '??' is implemented.  However, the tests in
tests/language/if_null_*_test.dart will also verify behavior once it
is implemented.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1045553002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44802 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 12:38:12 +00:00
paulberry@google.com ad0cce176a Avoid infinite loop if const constructor redirects don't reach a fixed point.
BUG=dartbug.com/23038
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1042963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44789 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 21:00:36 +00:00
hausner@google.com 411a26e37e Evaluate parameters of static calls that throw NSM
The spec mandates that parameters of calls get evaluated
even if the function can’t be resolved and the call results
in a noSuchMethod being thrown.

Fixes issue 17382.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//1038283004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44784 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 19:31:20 +00:00
paulberry@google.com 5677e52ad6 Generate warnings for assignment to a type.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1042133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44774 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 00:08:17 +00:00
paulberry@google.com b073936fd0 Allow "dynamic" as a constant value in analyzer.
BUG=dartbug.com/22989
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1004353006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44723 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 21:50:44 +00:00
rmacnak@google.com ecdee95907 Separate is_debuggable and is_visible again. The outer async functions (that produce the Futures or Streams) should be visible but not debuggable. Visible so their frames are included in stacktraces for return type errors during checked mode. Not debuggable so breakpoints are resolved to the function that implements the async body.
BUG=http://dartbug.com/22891
R=hausner@google.com

Review URL: https://codereview.chromium.org//1033483002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44646 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-23 20:26:05 +00:00
rmacnak@google.com 4b1de421ac Revert "Mark async and generator functions as debuggable, so their frames are visible for return type errors during checked mode."
This makes it impossible to set a breakpoint inside a async or generator body.

TBR=hausner@google.com

Review URL: https://codereview.chromium.org//1025633003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44615 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-20 22:01:56 +00:00
rmacnak@google.com 406270bf8d Mark async and generator functions as debuggable, so their frames are visible for return type errors during checked mode.
BUG=http://dartbug.com/22891
R=asiva@google.com

Review URL: https://codereview.chromium.org//1025783002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44614 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-20 21:50:14 +00:00
lrn@google.com bddb668174 Add some async/await tests.
R=sgjesse@google.com, sigurdm@google.com

Committed: https://code.google.com/p/dart/source/detail?r=44368

Review URL: https://codereview.chromium.org//968963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44395 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-11 10:15:59 +00:00
regis@google.com 438d13fc9e Allow direct access to type parameters from factory (issue 22700).
Add regression test.
Fix wrong test and update status files.

Review URL: https://codereview.chromium.org//985203002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44339 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-09 19:39:17 +00:00
paulberry@google.com c867649e4a Don't define parameters when visiting a function-typed formal parameter.
BUG=dartbug.com/13179
R=scheglov@google.com

Review URL: https://codereview.chromium.org//978633003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44212 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-04 00:39:14 +00:00
regis@google.com a9e03a9166 More fixes in async machinery (issue 22438 and maybe more).
Add a regression test.

R=hausner@google.com

Review URL: https://codereview.chromium.org//969903002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44153 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 23:09:01 +00:00
paulberry@google.com 726a18e9ee Status file fixes for bugs 22411 and 22412
TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//923913003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43768 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 16:43:53 +00:00
sigurdm@google.com 0bde4dab58 Fix status-files for the analyzer
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//922183002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43754 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 13:04:37 +00:00
paulberry@google.com d7c763003d Re-apply "Fix warning in sync_generator1_test.dart"
This re-applies commit 43626, which was reverted in 43628.

What happened: I accidentally tested r43626 against a work-in-progress
build of the Java-based dartanalyzer that contained r43655, so I
failed to update the status files properly.  This resulted in a build
failure, which was addressed by reverting r43626.  Now that r43655 has
landed, the build failure should not occur.

R=hausner@google.com

Review URL: https://codereview.chromium.org//910243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43666 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 20:32:41 +00:00
paulberry@google.com 6ea61b5686 Partial backport of analyzer async/await fixes to Java.
Backport of r43613, r43537, r43446, r43427, r43424, r43418, r43403,
r43361 to the Java-based analyzer.  The backport is partial in that
the TypeProvider was not modified to include Future and Stream types
(this would have required substantial additional effort), and
consequently not all static warnings are correctly produced.  However,
all NonErrorResolverTest cases were successfully backported and pass,
meaning that the Java-based analyzer shouldn't produce false positive
warnings for async/await code anymore.

BUG=dartbug.com/22252
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//913623002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43655 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 16:04:50 +00:00
brianwilkerson@google.com 67889f0c72 Fix the build
R=paulberry@google.com

Review URL: https://codereview.chromium.org//910733003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43606 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 19:07:06 +00:00
hausner@google.com 2487c76886 Add support for sync* and yield and yield*
R=srdjan@google.com

Review URL: https://codereview.chromium.org//888463004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43516 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 18:36:40 +00:00
paulberry@google.com d0b87e247c Implement new "yield*" type checking rules in analyzer.
This updates analyzer to reflect the new static type checking rules
for yield each added in r43420.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//888943004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43446 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 23:13:09 +00:00
paulberry@google.com 2cd86b7e29 Add static type checking of "yield*" statements to analyzer.
This does not include the new static typing rules that were introduced
in revision 43420.  I will address those in a later CL.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//895673005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43424 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 20:32:14 +00:00
paulberry@google.com 5482dcb769 Mark known async test failures in analyzer status file.
These failures are happening because recent async/await improvements
were made only to the Dart-based analysis code, not the Java-based
analysis code.

TBR=johnniwinther@google.com

Review URL: https://codereview.chromium.org//893793004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43397 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 14:18:43 +00:00
johnniwinther@google.com 801c4e5735 More status updates.
BUG=

Review URL: https://codereview.chromium.org//896663003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43394 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 13:40:24 +00:00
johnniwinther@google.com d9e1bcc91b Support async/await in dart2dart.
BUG=
R=floitsch@google.com, paulberry@google.com

Review URL: https://codereview.chromium.org//880973005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43380 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 08:31:54 +00:00
johnniwinther@google.com d0ece3e22f Remove status lines.
BUG=

Review URL: https://codereview.chromium.org//884693002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43234 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 11:51:21 +00:00