)]}'
{
  "commit": "c499fe52e90dae538d7a00539c8238a85d058195",
  "tree": "791d1f17668db2c6cfca657ed8dfbb7d9d0c714b",
  "parents": [
    "e8034cc5c82c1f0553acd2f6d67dae04597e8ee1"
  ],
  "author": {
    "name": "Prerak Mann",
    "email": "31154435+mannprerak2@users.noreply.github.com",
    "time": "Fri Jul 17 15:00:57 2020 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 17 11:30:57 2020 +0200"
  },
  "message": "[ffigen] Added large tests, bug fixes (#33)\n\ncloses #29, closes #17\r\n\r\n- Added large tests for Libclang, cJSON and SQLite #17.\r\n- Bug fix: Nested parsing, added tests for nested parsing. Sub parsers now use a stack to hold information about current declaration.\r\n- Bug fix: Unsupported operation error when finding dynamic library path on windows #29.\r\n- Added property originalName to Binding.\r\n- Config provider now throws ConfigError if a required config is missing. This fixes tests not running previously due to exit call in config provider.\r\n- Updated libclang wrapper to support running from multiple isolates (fixes concurrent test running).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26f260572c9fd43aa2bf835011043bf73f54a1b2",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/bin/ffigen.dart",
      "new_id": "4a321ee65c924b4aeff79067e355f794fd7c53b6",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/bin/ffigen.dart"
    },
    {
      "type": "modify",
      "old_id": "eee8d524bb4d704e210f12c3d2f1daf9a1657b20",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/example/libclang-example/generated_bindings.dart",
      "new_id": "924da2a174ae3779723ad7139c3a6d10ef44da5f",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/example/libclang-example/generated_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "f6acbebcfc28cebad91a60bdd58096406b24b54d",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/example/libclang-example/pubspec.yaml",
      "new_id": "bc02bad7dcdcb480c5ccc35c38b2a3de513858e6",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/example/libclang-example/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "507de6c02056f19e809dae36fe34b41fdc399e77",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/binding.dart",
      "new_id": "5a10c06f15923c6823137d90ad1a90f1f3fa892c",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/binding.dart"
    },
    {
      "type": "modify",
      "old_id": "d64e7ac5af4de57fa54a765d6c4c3ff8ffca4c0d",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/constant.dart",
      "new_id": "6af8a6de23a1ce5dc801581ad30f991debbcdf0e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/constant.dart"
    },
    {
      "type": "modify",
      "old_id": "f578793f0cdf8bb4086c222969d7b7412f7698d5",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/enum_class.dart",
      "new_id": "8232ccb1880e4cd63ebd02b72ae361acbf3e6a39",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/enum_class.dart"
    },
    {
      "type": "modify",
      "old_id": "4c321be30e43c2f9dac3bb7bcd16944a955b6f51",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/func.dart",
      "new_id": "f0f317ee8a267e545dff80bb5c04d333f69c3962",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/func.dart"
    },
    {
      "type": "modify",
      "old_id": "f1f919f08872bece41163d2bd798f57fb431790c",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/global.dart",
      "new_id": "d0e67cf37d17c80eb6cae1003e864967b1cd4a40",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/global.dart"
    },
    {
      "type": "modify",
      "old_id": "13a7340cf1669397a171cad09775cf6400731920",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/library.dart",
      "new_id": "6c292fd6b140e9ca91b3ec79679dc7049c8c9553",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/library.dart"
    },
    {
      "type": "modify",
      "old_id": "7c41a47ce1622599a96e0c2572de4ef7704f77d1",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/code_generator/struc.dart",
      "new_id": "11bae3dac8bd757f501d257d233c3f7cedd508c2",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/code_generator/struc.dart"
    },
    {
      "type": "modify",
      "old_id": "3e6e336de87de8f93f55796c68231fb627c54af5",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/config_provider/config.dart",
      "new_id": "b0abcc04069dfdc402150bca1b2489eacb7c0818",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/config_provider/config.dart"
    },
    {
      "type": "modify",
      "old_id": "4674bc52fc40bd548709ba573aa5e78d437a9eeb",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/config_provider/declaration.dart",
      "new_id": "f808f13273ea01ad88a41b8510541b83e376767e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/config_provider/declaration.dart"
    },
    {
      "type": "modify",
      "old_id": "70cccdd30a08ba38d83ee2abdc1af970576c1095",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/config_provider/spec_utils.dart",
      "new_id": "0dff6e43b4c2e56ec5e129cead8958c7391ef9d7",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/config_provider/spec_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "809109f1b660173ade39bc9130129e8427607aea",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart",
      "new_id": "7040fb5461a2d5c1e056165b4b773684624776b6",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "c1b57bf9fa6dbcbde79834a2298c78de3acde208",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/data.dart",
      "new_id": "ebda2dc84cda7e2e9473adb1b71912b25bd968c3",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/data.dart"
    },
    {
      "type": "modify",
      "old_id": "48944df2aa07f6c9f8ab8972e6aa2ff2307a5e76",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/parser.dart",
      "new_id": "bc3c7f8ad042f6bbcb87763d4721cd6915b0b326",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/parser.dart"
    },
    {
      "type": "modify",
      "old_id": "a98738b5e4cc8c375d45fd9aefd2c288ed560c6b",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/enumdecl_parser.dart",
      "new_id": "8cba1c99cd30a24a4723b1d9148afa29c4cc511d",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/enumdecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "18c341b881e494a48bccfac297ec72b22d8ad5d2",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart",
      "new_id": "8f35c24a01e6d96a153f314d87135e20a7b41548",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/functiondecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "309ab3947706f060915ef52bda2dfaec906c0fb8",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/structdecl_parser.dart",
      "new_id": "32e2fd780aea959f8d213278f3e895b968f196d8",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/structdecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "8d2a8310b4d3dc00d110c26b6b4713279c1e692c",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/typedefdecl_parser.dart",
      "new_id": "558fce335edee080fa51b151378d2b1270eb2701",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/sub_parsers/typedefdecl_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "73c8880af4c835be0dd4d727ce4f5b6a06a23d6c",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart",
      "new_id": "987254e2b3b29f830d320bd7a42f28e67cfa42e0",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "6c59dd608447753ce07a72e2541f6b26799378ff",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart",
      "new_id": "2c0f6665b4f0b6caead98675289631be50a828ed",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart"
    },
    {
      "type": "modify",
      "old_id": "dc7efcf8da5646e97e66a1152ec5441ff5797cea",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/lib/src/header_parser/utils.dart",
      "new_id": "052ea5f6854c7a10276c7900241533dc636c13b7",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/lib/src/header_parser/utils.dart"
    },
    {
      "type": "modify",
      "old_id": "a7a66c96334065c61e45a46dd5605ee25489bc6c",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/code_generator_test.dart",
      "new_id": "4fd5aea4e1adae80e4960e29f11f1e1f5074c59f",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/code_generator_test.dart"
    },
    {
      "type": "modify",
      "old_id": "7e1bfd0146c4a9d48317403df8c51c3109d2e216",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/collision_tests/decl_decl_collision_test.dart",
      "new_id": "3b09841dca565f0b43dc4a5a2950b1ecc81dfd5c",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/collision_tests/decl_decl_collision_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f8fe72f6382933a3803a5278243de4f1a1f7b0ca",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/debug_generated/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e779d5fb546af3896b8062658a325fbfefb36e18",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/function_n_struct.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e99faf0181d88caf3af0118951b6790348eabc03",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/function_n_struct_.dart"
    },
    {
      "type": "modify",
      "old_id": "b566fb4bb5c749a51bb417c418bd73848fba6de2",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/header_parser_tests/functions_test.dart",
      "new_id": "67a147a4c8045f624450fa6b5f6afca722b719e7",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/functions_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "29ad832c6de94048b649575145a62502b0e4f815",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/nested_parsing.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8783f46166771e79576c025078b0d58d4d4a4cdd",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/header_parser_tests/nested_parsing_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7766d2ac9634afe0d4217322663cee7bdc911af",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1aa4cb5af964567eaaab1e6fd2a3100741f421e0",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4f8ef6eb5cecfa11e55dde8e242e4a031b524960",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "87d9f2e4412df0e9095555c9f64f48ce252a7933",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/large_integration_tests/large_test.dart"
    },
    {
      "type": "modify",
      "old_id": "11e18a86921b80d29a591596609a433987f5dc53",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/native_test/native_test.dart",
      "new_id": "eab5dfe29e6bdb69b704234a904762ff5e95d006",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/native_test/native_test.dart"
    },
    {
      "type": "modify",
      "old_id": "f2d6f914a8532135a4bcc414a1a46d42114ab1ba",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/native_test/native_test.def",
      "new_id": "f6853d167bedbf5afa6d0f42b8dfd8af16944d90",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/native_test/native_test.def"
    },
    {
      "type": "modify",
      "old_id": "0f913278f07351a57fad0a43dd09e92a2c0e9059",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/test/prefix_tests/prefix_test.dart",
      "new_id": "0031c3b6ec9e20abc37df351fa5a561703157499",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/prefix_tests/prefix_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b9d9ebc987ce62b1081057e87a61559d80ec997",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/test/test_utils.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4e9f6dee027959014dbe12d4d7d3d139b9d070ec",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/BuildSystem.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2b336e5464a2fcb0877595f42984efbb03243dbb",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/CXCompilationDatabase.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b3a0b9d66d5f8bbf808e57675b077128f5426ecd",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/CXErrorCode.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f117010c71a462b3bfc5cf7837fcb2c928e2f13b",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/CXString.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5bece2cb6758f3c59e3b1e45235a6ba55bce4bad",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/Documentation.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "384f24d47b0b61e91d4efd5cf78f3ebb4ee8787e",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/ExternC.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22f34fa815ccf8ca83e6067405e7f6e5cb204e00",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/FatalErrorHandler.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b653995ebbd0116c8ccee554ec45a622b6df9e5a",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/Index.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3bb66bb0df48ff77cf02762bf6000227eeb4e600",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/libclang/include/clang-c/Platform.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f34a7b5f2ceaccb715268de4490b64486e881bcb",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/third_party/sqlite/sqlite3.h"
    },
    {
      "type": "modify",
      "old_id": "aa1e94da14f82ef9c7c8345a08a8fbe0b729fd18",
      "old_mode": 33188,
      "old_path": "pkgs/ffigen/tool/wrapped_libclang/wrapper.c",
      "new_id": "978b7e76be11f531508b513d890294eeabe5184c",
      "new_mode": 33188,
      "new_path": "pkgs/ffigen/tool/wrapped_libclang/wrapper.c"
    }
  ]
}
