dart-sdk/tests
Paul Berry 506ac7f953 Rework linker type inference using ExprBuilder.
This CL changes the way linker type inference works.  Instead of
walking the operations in an UnlinkedExpr in order and inferring types
directly, it first builds an AST for the expression using ExprBuilder,
then uses ResolverVisitor to resolve the AST and perform type
inference.

This helps ensure that summary type inference and ordinary AST-based
type inference produce the same result, since they now use the same
core algorithm.  In particular, this means that summary type inference
now does downwards inference properly.

Since the ResolverVisitor makes greater use of the element model than
the rest of the linker, this required implementing additional methods
in the linker's element model.

This CL includes some minor fixes to ExprBuilder that were uncovered
during testing.  It also contains some minor changes to
ResolverVisitor to make it work during linking.

Fixes #32525.
Fixes #32394.

Change-Id: I5ec9b2bf5565ad30b8cc856475334323dc118da8
Reviewed-on: https://dart-review.googlesource.com/48741
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-03-29 17:16:39 +00:00
..
angular
co19 Updated for proper failure. 2018-03-28 00:08:05 +00:00
co19_2 Improve for statement errors and recovery 2018-03-15 11:43:13 +00:00
compiler Fix jsinterop bug: we incorrectly added null values for js-interop constructor 2018-03-28 00:06:04 +00:00
corelib Remove Maps; move _fillMapWith* methods to MapBase 2018-03-26 21:23:21 +00:00
corelib_2 Remove Maps; move _fillMapWith* methods to MapBase 2018-03-26 21:23:21 +00:00
dart
html Update getClientRects, removed xtab, removed bogus entry in dom.json, 2018-03-27 20:45:33 +00:00
isolate Round 6 of status updates: remaining issues in d8, safari, ie11, ff (hopefully) 2018-03-14 19:25:29 +00:00
kernel More status preparations to make the CQ clean 2018-03-09 06:47:28 +00:00
language Fix csp bots: update .status file for recently fixed tests (I incorrectly didn't 2018-03-23 19:21:39 +00:00
language_2 Rework linker type inference using ExprBuilder. 2018-03-29 17:16:39 +00:00
lib Round 6 of status updates: remaining issues in d8, safari, ie11, ff (hopefully) 2018-03-14 19:25:29 +00:00
lib_2 [VM] Added '--enable-asserts' to the top-level help message. 2018-03-28 18:54:00 +00:00
search
standalone [dart:io] Adds IOOverrides.socketConnect 2018-03-28 23:07:49 +00:00
standalone_2 Update status for analyzer on Windows after test.py fixes 2018-03-13 12:25:24 +00:00
light_unittest.dart
README

Run Existing Tests
==================

See the output of

  ../tools/test.py --help

for how to run tests.

See also

  https://code.google.com/p/dart/wiki/Building#Testing

for detailed examples.

Create New Tests
================

See comments above

  factory StandardTestSuite.forDirectory

in

  ../tools/testing/dart/test_suite.dart

for the default test directory layout. By default test-file names must
end in "_test.dart", but some test suites, such as ./co19, subclass
StandardTestSuite and override this default.

See comments at the beginning of

  ../tools/testing/dart/multitest.dart

for how to create tests that pass by failing with a known error. For
example,

  ...
  int x = "not an int"; /// 01: static type warning
  ...

as part of a test will only pass the "--compiler dart2analyzer" test if
the assignment generates a static type warning.