eb7befc3d9
Container type masks depend on the allocation site of an object, but the allocation site "key" is an AST node. We need to assign types to nodes in the type propagation pass where the AST nodes are (and should be) inaccessible, so we cannot directly query the type inference from there. The key could be changed to an opaque "AllocationSiteID" object with no members (just a key), but for now, we're just preserving the type mask for container types from build-time. Also has some other type propagation improvements related to containers. BUG= R=kmillikin@google.com Review URL: https://codereview.chromium.org/1416723008 .
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 dartanalyzer" test if the assignment generates a static type warning.