440b4cd84e
This preserves the invariant that method invocations and property sets with an interface target handle static types at the call site. This is a prerequisite to improving dart2js with implicit checks. With this we can mark dynamic invocations a statically safe and discover when instance methods don't need to check parameter types. Change-Id: Ife7a3f947952b3c1f73316b922b2aa107343068e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95400 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com>
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.