)]}'
{
  "commit": "3c5767ccd34d0aeaf084bbf50b0849e24c17d710",
  "tree": "686510d5fef85abff553f213fc01efc3d9022a23",
  "parents": [
    "97771fb2f2ccce6aa9a994b07dcefe059fa21e6a"
  ],
  "author": {
    "name": "Mayank Patke",
    "email": "fishythefish@google.com",
    "time": "Fri Mar 12 04:47:59 2021 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Fri Mar 12 04:47:59 2021 +0000"
  },
  "message": "[dart2js] Ensure RTI need/checks account for instantiations.\n\nIf a type variable T is used in an `is` or `as` expression (e.g.\n`42 is T` or `42 as T`) or is part of a subtype check, then any types\nwhich may be substituted for T via instantiation must also be treated as\nparticipating in a type check.\n\nThis CL ensures that the RTI need computation includes type arguments\nfor those substituted types and that those types are included in the\nlist of implicit checks.\n\nAdditionally, in order for this to work, this CL fixes a bug in which\nthe impact transformer was failing to register generic instantiations\noccurring in (partial) constants.\n\nFixes: https://github.com/dart-lang/sdk/issues/45046\nChange-Id: I98ae0eca0adcbbb26cdd664318da0da578b289b5\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/190460\nReviewed-by: Stephen Adams \u003csra@google.com\u003e\nCommit-Queue: Mayank Patke \u003cfishythefish@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4c261dabdbe78135920cc4685b1cebb2bd8ad81f",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/elements/types.dart",
      "new_id": "41e58ebb444a1d8e693954e605028c8d00d19e71",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/elements/types.dart"
    },
    {
      "type": "modify",
      "old_id": "474f12793afc99c488101a5ceb07440e74735b9b",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_backend/impact_transformer.dart",
      "new_id": "fee1573ad9821b28db6fe19b44a9100978c032fc",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_backend/impact_transformer.dart"
    },
    {
      "type": "modify",
      "old_id": "c24e8289d8e1c386c56873303ca23a1ec28e7544",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_backend/runtime_types.dart",
      "new_id": "e7113dfc17b576fd36565b2037875c2df6a72f2f",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_backend/runtime_types.dart"
    },
    {
      "type": "modify",
      "old_id": "7afc77eb72d048a2e5d075ebefe6fc96f21604ee",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart",
      "new_id": "9348b7998245699f2b1fd7c1e6835189b1e2492f",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart"
    },
    {
      "type": "modify",
      "old_id": "41f9170a1b3659e7469617891e6430a1bb7490d4",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_model/closure.dart",
      "new_id": "216f25e8214fb00e6789869656b5ce1ff8a6d939",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_model/closure.dart"
    },
    {
      "type": "modify",
      "old_id": "f2fdbe6d7896e10413a92dc7682754015e6940ee",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/js_model/js_world_builder.dart",
      "new_id": "c07ccead0557004e62f4f1058296ae6125fb96c0",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/js_model/js_world_builder.dart"
    },
    {
      "type": "modify",
      "old_id": "f3df3a2dbd0d7adc56ecb27cfc60fb49a3f0ffca",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/kernel/kernel_impact.dart",
      "new_id": "9a40f6891e3b774d28fcfebecdea8274bc1a7a41",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/kernel/kernel_impact.dart"
    },
    {
      "type": "modify",
      "old_id": "083df9585c35d4edfeba0ff0c42f6b8f3986e338",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/ssa/builder_kernel.dart",
      "new_id": "2831f5c2af3061805ec9fc6cdb38726ad790e81f",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/ssa/builder_kernel.dart"
    },
    {
      "type": "modify",
      "old_id": "7ea60b726a19b8fdc5614836819457621e92cde5",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/universe/feature.dart",
      "new_id": "f907c36c0321c149036909a2b8c5c6358915180b",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/universe/feature.dart"
    },
    {
      "type": "modify",
      "old_id": "8fbd5f3b63ce6339222b581f82de119d341a6082",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation1.dart",
      "new_id": "c838bbe0b69fab0317a02e16e87d7ea5e32e1020",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation1.dart"
    },
    {
      "type": "modify",
      "old_id": "dbb5db86032c0feac3f19f9364208061031e487f",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation2.dart",
      "new_id": "934152ab7136ff939c35251bf312c29684cc5db7",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation2.dart"
    },
    {
      "type": "modify",
      "old_id": "96e7c7a2cdd1bb39fd976fa7d4a404b95d5f5b7c",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation3.dart",
      "new_id": "f852f9fb0f729687542b88cf042365cc66f08ef5",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation3.dart"
    },
    {
      "type": "modify",
      "old_id": "7ec0433e817b4f98a0b16e9742423be8c6c9c55f",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation4.dart",
      "new_id": "be3b9756c18db93cc34d0d80b9b00d751998e600",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation4.dart"
    },
    {
      "type": "modify",
      "old_id": "80063c5b20608d9a025019ceb46982b2656edb31",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation5.dart",
      "new_id": "525be336131021ddeeb8c92f183c10957519c5e0",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation5.dart"
    },
    {
      "type": "modify",
      "old_id": "fdfa1d235d388417c054e531a4d015968b7612b2",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation6.dart",
      "new_id": "e596af21b34e35b751a45572415236fb00c4adfb",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation6.dart"
    },
    {
      "type": "modify",
      "old_id": "fda2e4a1a7ad53077b198e4a1494e3a2c1d92d3f",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/instantiation7.dart",
      "new_id": "a47924b201c6f1e861ecf45387f02f628764f881",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/instantiation7.dart"
    },
    {
      "type": "modify",
      "old_id": "dc86b33b2ad8acee273a9ff2aff8b287448c31bb",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/local_function_signatures_generic.dart",
      "new_id": "7956fe4cb4e34c7df5fa49283c179903c05126df",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/local_function_signatures_generic.dart"
    },
    {
      "type": "modify",
      "old_id": "b3866f8dc3f077d76ccc56401270b22aad6f0488",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/data/method_signatures_generic.dart",
      "new_id": "0d2c352cce1c8ffd7a311c123b5a8048c54124d3",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/data/method_signatures_generic.dart"
    },
    {
      "type": "modify",
      "old_id": "4170976eedb8f37939ea02f106112b3a8dba2742",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/rti/rti_need_test_helper.dart",
      "new_id": "4206006747fea202a89776851ce02ac641c25976",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/rti/rti_need_test_helper.dart"
    }
  ]
}
