)]}'
{
  "commit": "4f93f6e8ac18f3a54ccfef52fad9fbd104d7f1b0",
  "tree": "ac092fb716410f7ae63b67171b6b9d15f42282ae",
  "parents": [
    "cecaba72f00e2394bcc78cfa068009a04cbad7de"
  ],
  "author": {
    "name": "Liam Appelbe",
    "email": "liama@google.com",
    "time": "Fri Apr 08 09:18:43 2022 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Apr 08 09:18:43 2022 -0700"
  },
  "message": "[ffigen] Make type polymorphic (#290)\n\n* Make Type polymorphic\r\n\r\n* Migrate tests\r\n\r\n* Fix analysis errors\r\n\r\n* Fix analysis",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6944957c70c8f2f33a947592a40420fb5b0ecd15",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator.dart",
      "new_id": "a0c5d7e63f357d10fc0ee5ec24166da052f0a03c",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator.dart"
    },
    {
      "type": "modify",
      "old_id": "031bf5a67454326b39423a52c9861e43a032a659",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/binding_string.dart",
      "new_id": "84c4da8bdccd227e10317e1ece289bbefc6eb849",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/binding_string.dart"
    },
    {
      "type": "modify",
      "old_id": "067e64fe3e1f26baee389fc8c0bb70c77415be2f",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/compound.dart",
      "new_id": "2656e04c102928c3eb2fde02eb97a43adb9d2099",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/compound.dart"
    },
    {
      "type": "modify",
      "old_id": "2765aef53c9f63636515fcf42060b42e2a9e3fec",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/enum_class.dart",
      "new_id": "07b9eede3166b2cea85b164518431dd210ad65ea",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/enum_class.dart"
    },
    {
      "type": "modify",
      "old_id": "d33f135d82390da25a6cbdc12f5bd5d35f5c5d38",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/func.dart",
      "new_id": "815c3036ee3b38d2368cce3ca4eb2e4cf6b4bbd5",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/func.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7f4050249b4e6b0d4e66f2f38c71fd7c23648463",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/func_type.dart"
    },
    {
      "type": "modify",
      "old_id": "df4c7f059a8a766f918e231f0f5a8bd15d5f3f17",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/global.dart",
      "new_id": "579d8ddaf47be0237882c5bbfd79c1d596093e29",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/global.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1b2d47e3f3d32e1984f367e4643bda858a4b78a",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/handle.dart"
    },
    {
      "type": "modify",
      "old_id": "e62062641ed640cb1c8d2a66a04b7c7736c5f609",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/imports.dart",
      "new_id": "1a516112b708022c7cbbb567b47648078553d50a",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/imports.dart"
    },
    {
      "type": "modify",
      "old_id": "20c0e24a3a2ce30bf4c55cb8fa672ada61679edd",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/library.dart",
      "new_id": "e00215ce7f789319b119a84cb4e86aa7b3ec5a10",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/library.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e51581d0740d9dd83fa6c42336184f068a2f6da9",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/native_type.dart"
    },
    {
      "type": "modify",
      "old_id": "bc00b7c29da456009acbea57da1b85287e32d1cc",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/objc_interface.dart",
      "new_id": "23724855d349ce26336a2249ca6d8b3e4ff8bf6f",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/objc_interface.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "445c3600378372a714422e6d67cb39964fbcaa95",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/pointer.dart"
    },
    {
      "type": "rename",
      "old_id": "4f06369b6f48d73632ddf1f94e0f1842320899ee",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/struc.dart",
      "new_id": "f430d0f81fa45a9f741d094dfdcdf37f27d2f2f0",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/struct.dart",
      "score": 89
    },
    {
      "type": "modify",
      "old_id": "a708167e72e08218da3a19c36e7de0782cce5c28",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/type.dart",
      "new_id": "af580b3f3eb2c4d12e62e7315490e1cadfc5c33f",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/type.dart"
    },
    {
      "type": "modify",
      "old_id": "ea8ef9597cda5ddf7ce672e2aeb6e69e12a128f8",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/typealias.dart",
      "new_id": "f83c0ba8e01ff4c469180b0b2b47a4a7f76a1597",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/typealias.dart"
    },
    {
      "type": "modify",
      "old_id": "a8a08611ca17e0facaf71a412a3f854bcb903996",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/union.dart",
      "new_id": "fc7be967c7c734482c9257cda2c77ab50477c8a8",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/union.dart"
    },
    {
      "type": "modify",
      "old_id": "f1eb651b7ba24f33879ebdf5fd5a32c751feffae",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart",
      "new_id": "49e241867e203021dd0feff866f28c8df1c0386e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "870cf472108b4a519db7e8cd5edf85961c1bfbf6",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart",
      "new_id": "b4c40fc22ea1189bf96a6bcfd873eaaa9027c5bb",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "1905c53ae64007142aeffcc1e593b6ce29d781db",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart",
      "new_id": "41aae404dfd4ccf5c19b6f11f2e144cf59d0e3f9",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "d8f84cf08981e90d375a7d7bd90e657f629995cb",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/typedefdecl_parser.dart",
      "new_id": "988a45e39bc98248904370eed455b71f51d5d720",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/typedefdecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "9114f82e8905b99193232710d1eda69dc469ccbe",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/var_parser.dart",
      "new_id": "8376199fbf260668b84e8b7312a724f110496972",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/var_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "7778ddf5058d2dca3105cf36b6a9d676dd184f45",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart",
      "new_id": "f64397955dcecf7666a71990c329a45dccd6e3b3",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "0f487a937f94770aec0e68b57ebc7c7ce479b4a5",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart",
      "new_id": "ae96a5a36c5af0c2008d5976f958113a25dccd44",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart"
    },
    {
      "type": "modify",
      "old_id": "9178cf01d0c480ff6301238ecb8c51dbeb5a4188",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/code_generator_tests/code_generator_test.dart",
      "new_id": "5ef4980b02228732ee5097476966aad50fa48022",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/code_generator_tests/code_generator_test.dart"
    },
    {
      "type": "modify",
      "old_id": "df895e3412d4688aa1bad05c77b91f1c02a6c092",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_n_struct_bindings.dart",
      "new_id": "73a44cc01f2fd169b5fc79b17ed30517fb8fdf10",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_function_n_struct_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "e0c4884ec05371d5d1c6fd211da2bb4d95bd4b70",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_typealias_bindings.dart",
      "new_id": "206a36ccd2290ce9de00c20c5c0f9f0f492f04da",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/code_generator_tests/expected_bindings/_expected_typealias_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "914563bf9bd5f0d91f238e1607eed5c747a593a7",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/collision_tests/decl_decl_collision_test.dart",
      "new_id": "4529f290142d1678fbb31521e38a62f938c430e5",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/collision_tests/decl_decl_collision_test.dart"
    },
    {
      "type": "modify",
      "old_id": "95201397965f242eb63b8c0bbe46fe5d42797886",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/collision_tests/decl_symbol_address_collision_test.dart",
      "new_id": "1d2744b135157dbbeba76d9bd354cea0d3e58d5f",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/collision_tests/decl_symbol_address_collision_test.dart"
    },
    {
      "type": "modify",
      "old_id": "eb2e61c13e5d1dad13d2c9f7e93fa1eb5575087f",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/collision_tests/reserved_keyword_collision_test.dart",
      "new_id": "c6873f295cefd73f4a1e714ffb57ab03284b5001",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/collision_tests/reserved_keyword_collision_test.dart"
    },
    {
      "type": "modify",
      "old_id": "ca371d8f56048781a83713a3033510b276825e81",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/config_tests/packed_struct_override_test.dart",
      "new_id": "9f9726dfcef55d0e4f2419928169f59037eebfd8",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/config_tests/packed_struct_override_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8a2d802ceb04347ad9e149670950115887522f8d",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/dart_handle.h",
      "new_id": "26d73fa82af9c047e19b73da042033e328b78a3e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/dart_handle.h"
    },
    {
      "type": "modify",
      "old_id": "14b429c665453a8e26f270e1d6859d8787c8d96d",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart",
      "new_id": "e9ebee73409f02c2f9da5d3adac4cd0495207f9e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "baf9c6eb825f82ce9d043117f442bde2f8da80c4",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart",
      "new_id": "a980d68abf5afb8fae2017538eb52ca7dadc4702",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "d56cd4e6202c8eb2f3935ee13ffaf7ba838945dd",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/function_n_struct_test.dart",
      "new_id": "98dfafec4d67b9df31bbbeb32f0a04e3ee788a1b",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/function_n_struct_test.dart"
    },
    {
      "type": "modify",
      "old_id": "be10f3c24ba3bbdf7dc6cab0f6d62b5404492721",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/globals_test.dart",
      "new_id": "1872ced9cea376c05e6c00efe72f78181ab996d5",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/globals_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8b942d0e626ab5ce5407c920d0b50ca1df48da4f",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/native_func_typedef.h",
      "new_id": "0c6f7a00172feb480bfc6e220f249dfeccf29f52",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/native_func_typedef.h"
    },
    {
      "type": "modify",
      "old_id": "10dc3906f79b6329aa773f34e4d428b21f1e7c2c",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart",
      "new_id": "70c205d764db5b358a83229fab75fb9e5971352e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart"
    },
    {
      "type": "modify",
      "old_id": "896b3dbde9d829f6846f343172395bb4d5583758",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/rename_tests/rename_test.dart",
      "new_id": "0b976a89cba6353a11d9793a372d9d3d3f008b73",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/rename_tests/rename_test.dart"
    }
  ]
}
