)]}'
{
  "commit": "77ac3d0a5cadcecb00a68b0eb0001c9ef8fc5add",
  "tree": "7045c822eb057be791f487a85d65be20be6305ad",
  "parents": [
    "3931d43d42520a8aa894bd29bffb48d956777815"
  ],
  "author": {
    "name": "Alexander Markov",
    "email": "alexmarkov@google.com",
    "time": "Thu Nov 21 23:36:59 2019 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu Nov 21 23:36:59 2019 +0000"
  },
  "message": "[vm/aot/tfa] Introduce TFA-specific representation of classes (refactoring)\n\nNew class representation is used in ConcreteType and ConeType instead of\nDartType. Uses of pre-NNBD legacy raw types are eliminated in most cases.\nThis also simplifies subtype checks.\n\nTypesBuilder class is created to translate static types into\nTFA types. It holds CoreTypes which is used to recognize Null class\nand supersedes Type.cone and Type.fromStatic factory constructors.\n\nChange-Id: Ia1cd48cf8c738173a06dd04864f6cec8ae6def83\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/124286\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b665b3c9868c7dbc24fc44f2526e0f3af1cff8c1",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/analysis.dart",
      "new_id": "b03f94349ef32341916332866b825d76fa1248e7",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/analysis.dart"
    },
    {
      "type": "modify",
      "old_id": "3f06a5de7027f3b122e772fd4472925c0e0c63fd",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/native_code.dart",
      "new_id": "c9093dd17421d3a79eeb843275351dc1956bd223",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/native_code.dart"
    },
    {
      "type": "modify",
      "old_id": "efcf37f9299a8768b298a2578421eeef079270ea",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/summary.dart",
      "new_id": "9589729847e8e08639847ec4fa1fee2589576bf8",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/summary.dart"
    },
    {
      "type": "modify",
      "old_id": "13b4e4fcd4ffd008babf4203afa5ab2e838d8f0c",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/summary_collector.dart",
      "new_id": "30f5508db8e455c7e917b686f532fd4e2967d723",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/summary_collector.dart"
    },
    {
      "type": "modify",
      "old_id": "4fd62e1fa8ce72e2aaab103f1fa200bc095446de",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/transformer.dart",
      "new_id": "a6289ea0907d8ba2131d2a9693a47338e53b39fb",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/transformer.dart"
    },
    {
      "type": "modify",
      "old_id": "4f5bf7b369aa71f4ab92abbd055f0c84849af078",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/types.dart",
      "new_id": "35ec3c527f3edbb0720e699aa4fecefb18de53e9",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/types.dart"
    },
    {
      "type": "modify",
      "old_id": "4ab863b5079c5f7494c4645e5a4aebe370c2a584",
      "old_mode": 33188,
      "old_path": "pkg/vm/test/transformations/type_flow/summary_collector_test.dart",
      "new_id": "2bb4e8bb0f7ecedb318b250242e02930953eeb80",
      "new_mode": 33188,
      "new_path": "pkg/vm/test/transformations/type_flow/summary_collector_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1689617bb2de4ba6eaedf3d8c53fa9b5b00a77c1",
      "old_mode": 33188,
      "old_path": "pkg/vm/test/transformations/type_flow/types_test.dart",
      "new_id": "ec6e53001816cd1807a121d45ebb1211cba70228",
      "new_mode": 33188,
      "new_path": "pkg/vm/test/transformations/type_flow/types_test.dart"
    },
    {
      "type": "modify",
      "old_id": "c6072b878dbaa6f1de52bf12db66dcce7dcdf94e",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/bool_expressions.dart.expect",
      "new_id": "96a90420a0bcc480009d8229ef6069081d39a967",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/bool_expressions.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "5f9c5ddbb57bc9c42784bb93534b46b2e2636128",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/calls.dart.expect",
      "new_id": "55cbdec73df6915c57feffb6109b9fef0a8daf18",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/calls.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "4a9d2edf00df51368c91672549748b4adf4dba97",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/class_generics_basic.dart.expect",
      "new_id": "75d7a9e1e4a1d6fb51e419945bbc1aa984474330",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/class_generics_basic.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "1f6fa5b6bf221b843b48e88001445bf614ab9c56",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/class_generics_case1.dart.expect",
      "new_id": "6c510f9dbb2fb65d04c1ded31a3220eb069eacb6",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/class_generics_case1.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "39e0f9410535b2eb019cc43e56092daa7baf519f",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/constants.dart.expect",
      "new_id": "40d9eb1024be6d14a3b89de98b402fda10e68a61",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/constants.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "5488d3d3e89fe8b4f4713e0deb7914fac5789099",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/hello.dart.expect",
      "new_id": "31ccb74ee85b22e21b81b0c9922444afc4287ecb",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/hello.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "0546decbd64cb1495c9799e636c52abd5fa0c154",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/implicit_return_null.dart.expect",
      "new_id": "9a3e510f1f61a5d14c37b62e8f9336881de914db",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/implicit_return_null.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "ceb6d3385253dcf21097734dbee22f8002926122",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/setter_result.dart.expect",
      "new_id": "e79a010246404328f32cda84f5344e976cd3f483",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/setter_result.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "81dbe5be6d5913bfa760c884549fa8b3d1e07db1",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/vars.dart.expect",
      "new_id": "107564e654e2c617bdec8bfd3f94ab5e424acd9d",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/summary_collector/vars.dart.expect"
    }
  ]
}
