)]}'
{
  "commit": "da1647c7de24a819f1af2442b20f3f741eee6373",
  "tree": "b3ff6e5afb1b2e9b4da21215f95b394b30cca760",
  "parents": [
    "d057af5d49ad14f9ea26f01ec46f10df64d670bc"
  ],
  "author": {
    "name": "Hossein Yousefi",
    "email": "yousefi@google.com",
    "time": "Mon Nov 21 15:30:34 2022 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Nov 21 15:30:34 2022 +0100"
  },
  "message": "[jnigen] Generic support (https://github.com/dart-lang/jnigen/issues/136)\n\nAdded support for Generics – Closed https://github.com/dart-lang/jnigen/issues/66, Closed https://github.com/dart-lang/jnigen/issues/73 \r\n\r\n* TypeClasses are now public and have `fromRef`\r\n* Casting is possible between different types.\r\n* Nested generic classes are also supported.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "416916719830c4234cdecdc61d69f36f174daf1e",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jarray.dart",
      "new_id": "e24f8ac8ef33b2699ff2278e3edc8269d78ab28a",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jarray.dart"
    },
    {
      "type": "modify",
      "old_id": "1ec850ae41cd4ab2b17095b932e1fee201731f15",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jobject.dart",
      "new_id": "7477c55bf352a8ddd48d6f3e0dadf1a986d7f08b",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jobject.dart"
    },
    {
      "type": "modify",
      "old_id": "09ac4ab602ebb4b7e3136eb2b75edbdbb1eccf88",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jprimitives.dart",
      "new_id": "c83bf6d4ae59d7d88723212ac3d5bbd5d061d772",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jprimitives.dart"
    },
    {
      "type": "modify",
      "old_id": "c115e64f68c342abdbe610aad859e0be80bd57ab",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jreference.dart",
      "new_id": "1bd6c5ce32193e207f48956d6db5d810cc3ee788",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jreference.dart"
    },
    {
      "type": "modify",
      "old_id": "66b193540e1f3725509cfafc8434f05bbff84b9c",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jstring.dart",
      "new_id": "5746e23382a2c1bd315a8fd23e9784cabe2b9754",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jstring.dart"
    },
    {
      "type": "modify",
      "old_id": "c9265a7d443a6eb22ed080e555a36f5f5cae8155",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/types.dart",
      "new_id": "b1f4a771d2d2e63d6e9f4067d3e9e9a97f426b13",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/types.dart"
    },
    {
      "type": "modify",
      "old_id": "9722c7c45d5a0151186b7249c2185708770911c8",
      "old_mode": 33188,
      "old_path": "pkgs/jni/test/jobject_test.dart",
      "new_id": "5bafe752618179b6ba6777eae45b9263d9a7d5a4",
      "new_mode": 33188,
      "new_path": "pkgs/jni/test/jobject_test.dart"
    },
    {
      "type": "modify",
      "old_id": "9bc9ef6a9014cea31e7c3697da86dde4b59471dd",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/lib/android_utils.dart",
      "new_id": "1b6cc084d4b3f9fdcff7f66dbce16fb6f214c38c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/lib/android_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "0bb75e905efe3f61e236eeff06718d9f66a6ee60",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/notification_plugin/lib/notifications.dart",
      "new_id": "a8ccd100f2a6fd5de6d39fb13508c73174970332",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/notification_plugin/lib/notifications.dart"
    },
    {
      "type": "modify",
      "old_id": "1e827e324e872d68d7743b2556eb35ef3439d71e",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart",
      "new_id": "4f9512e43d4e3144573a32d46e50c6a7f59364b0",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart"
    },
    {
      "type": "modify",
      "old_id": "cc074618da1d58e639005212d18e49fea15606e5",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart",
      "new_id": "f1527676b17fd897524d1d7bebf9a5634fda0fc6",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart"
    },
    {
      "type": "modify",
      "old_id": "e35b19cfb60183a40be98d132d5aa2c4374c4d5d",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart",
      "new_id": "45eea01cbd086cdf312fcb9c77933c8f5de820a8",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart"
    },
    {
      "type": "modify",
      "old_id": "61931b8cf76bee07362712d870edb0372a92272e",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/common.dart",
      "new_id": "5c5a2c83141c34fd6a3432ad3b8ba7be9fce2d26",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/common.dart"
    },
    {
      "type": "modify",
      "old_id": "ba440a177018deee4a6c8b0c2f6d4b14e022792f",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/dart_bindings.dart",
      "new_id": "e9d58c04517a3c71e75bc14ecc907b90b37f788d",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/dart_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "0a451a5ae9ddc4690525003609059c5142049f73",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/preprocessor.dart",
      "new_id": "de49ade00de4bdec27d1061cad119f488b07996c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/preprocessor.dart"
    },
    {
      "type": "modify",
      "old_id": "ec3699f0732a1ddca92aa398594f66e3a92a02b5",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/pure_dart_bindings.dart",
      "new_id": "46f168b4b06ef41bb2ef014f30dfd56b137b4c2c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/pure_dart_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "adf065be82b440ee6587d460e70e02683e03550f",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/symbol_resolver.dart",
      "new_id": "4b158b9bba13d553904a26fe5cfa237ee2c105da",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/symbol_resolver.dart"
    },
    {
      "type": "modify",
      "old_id": "0c07b43231d4cf74d73e6a55eabb257427f7e65c",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/elements/elements.dart",
      "new_id": "80bdbb901f928476acad7bcde7ad39669d7ec125",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/elements/elements.dart"
    },
    {
      "type": "modify",
      "old_id": "4c552ae0dca66a27282ab34551d5b6f48e67c9ca",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/writers/files_writer.dart",
      "new_id": "9e78ea341b5da684c38b9ef987f12ce669a5f3d1",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/writers/files_writer.dart"
    },
    {
      "type": "modify",
      "old_id": "81cc036fc6498ad1285664dac14d921d57eff05a",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/writers/single_file_writer.dart",
      "new_id": "ee6875fe0b762a1d4775b7a3a0005911ba542252",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/writers/single_file_writer.dart"
    },
    {
      "type": "modify",
      "old_id": "bb6ce11c736f43c8c9ad0491afce6a679ec6064c",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/bindings_test.dart",
      "new_id": "cb0aa973d08d1367b983f55a4c374982a071ea24",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/bindings_test.dart"
    },
    {
      "type": "modify",
      "old_id": "eac4b95551d9aff05d05f5f22f0bf5f53832f299",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonFactory.dart",
      "new_id": "32377ce53b62e59ccaa4b98b2644ec6da6955674",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonFactory.dart"
    },
    {
      "type": "modify",
      "old_id": "949581471382d1a5059374d53e1ed882504ec9bd",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonParser.dart",
      "new_id": "4d049fb3eff6b7d2dcd00a077e4a0579b98673d6",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonParser.dart"
    },
    {
      "type": "modify",
      "old_id": "ae6e31c37b1665315c4482334878e99bf7c017cb",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonToken.dart",
      "new_id": "e3aa9b6bd0d13ecac83d5f42fcb8668d4fcb95c6",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonToken.dart"
    },
    {
      "type": "modify",
      "old_id": "cacb1594243a2e85579819bc65727e4b17224fee",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/package_resolver_test.dart",
      "new_id": "7645e129f3c5f61cb296c5edd827c3ea84c94d97",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/package_resolver_test.dart"
    },
    {
      "type": "modify",
      "old_id": "27dcdced09d8fac99f4caa8b2bde8a6c0f54dcc6",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/regenerate_examples_test.dart",
      "new_id": "0f28fed8f82e9e6601bd3974ba1f6a4772b91f6f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/regenerate_examples_test.dart"
    },
    {
      "type": "modify",
      "old_id": "c433d439662cad7eced18940755903a5d8267fb8",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/generate.dart",
      "new_id": "99eb0c1ce986c0eca85d47495065b9806deed070",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/generate.dart"
    },
    {
      "type": "modify",
      "old_id": "212e9696b948934da12d98102fa5ad93cea06503",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/generated_files_test.dart",
      "new_id": "98a6d5f7824d00de7d9c76a4f1620717b17a0a0d",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/generated_files_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a12675a6d3ff9aae050b04f29a7df7a38f20936b",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/GrandParent.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "21392ae5f977d3d1fbe699087e18c181fbb7c44d",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/MyMap.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fc85a3d07cd5d6f10cc223db5cf9786c3e578b42",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/MyStack.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1ca40aad49094443007259de0106ccc03ce02091",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/StringKeyedMap.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "87fd0412cc39e4a40fba68007699470f328f187a",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/StringStack.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f025b87317205986cd19af6eee5b92ffec09a1d",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/StringValuedMap.java"
    },
    {
      "type": "modify",
      "old_id": "86f861533f1a268641c4cc5061dd7c438c99ddac",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/simple_package/Example.java",
      "new_id": "abd87c4629bd76457cc0ddbc0d9b111855dd618d",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/simple_package/Example.java"
    },
    {
      "type": "modify",
      "old_id": "a668bbc7515578e8c31d7a133d3152631fcb3246",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/lib/simple_package.dart",
      "new_id": "841cabe4c7d6a7c3b52274d929f878d9f59a40e8",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/lib/simple_package.dart"
    },
    {
      "type": "modify",
      "old_id": "aa7d521b1e57ac8856845de0aacaaa5a38ffb254",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/src/simple_package.c",
      "new_id": "ba170282bf2363ad11d98356fd6cb5574c2e11a6",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/src/simple_package.c"
    }
  ]
}
