)]}'
{
  "commit": "068d88fe7a2654ece0357b5daad4cbb40072bcda",
  "tree": "8056c6afa332ce9796a22fb5cce94d8675e0009c",
  "parents": [
    "5e87326a3728d0ec3858993ef6ed8aeb998e0db6"
  ],
  "author": {
    "name": "Hossein Yousefi",
    "email": "yousefi@google.com",
    "time": "Tue Nov 08 18:31:14 2022 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Nov 08 18:31:14 2022 +0100"
  },
  "message": "[jnigen] Array support (https://github.com/dart-lang/jnigen/issues/118)\n\nAdded support for Java arrays. Closed https://github.com/dart-lang/jnigen/issues/69.\r\n\r\n* `jni`: Added `JniArray\u003cT\u003e` and `JniType\u003cT\u003e` that includes signature information about Java types.\r\n\r\n* `jnigen` generates an extension for `JniArray\u003cGeneratedClass\u003e` so we can use `operator []` and `operator []\u003d` on all arrays. `jni` types also have this extension.\r\n\r\n* Arrays also have a `setRange` method similar to `List`s.\r\n\r\n* `jnigen` generates a private type class that extends `JniType\u003cGeneratedClass\u003e` accessible through `.type` static getter. This is useful for creating arrays since they require a type parameter like `JniArray(JniString.type, 5)` which creates an array of `JniString` with a length of 5.\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b0fd840bc6bd9cde0b38fb2d31772f49b915dcb",
      "old_mode": 33188,
      "old_path": "pkgs/jni/example/integration_test/on_device_jni_test.dart",
      "new_id": "0cc2411ef06f4b5d575c79c74b349363f2d9868c",
      "new_mode": 33188,
      "new_path": "pkgs/jni/example/integration_test/on_device_jni_test.dart"
    },
    {
      "type": "modify",
      "old_id": "69f59339af1714dcf9329a97c5dc7c835429fad5",
      "old_mode": 33188,
      "old_path": "pkgs/jni/example/lib/main.dart",
      "new_id": "00088e5883b1996994856e9300c57a4909b33830",
      "new_mode": 33188,
      "new_path": "pkgs/jni/example/lib/main.dart"
    },
    {
      "type": "modify",
      "old_id": "b02230985d6284c1de91c73e4b825a924d4747ce",
      "old_mode": 33188,
      "old_path": "pkgs/jni/ffigen.yaml",
      "new_id": "73b9f7550a181daa2905fcd394e3101a2c268ab9",
      "new_mode": 33188,
      "new_path": "pkgs/jni/ffigen.yaml"
    },
    {
      "type": "modify",
      "old_id": "1d37907052797317e2023f6ad09d556766e0559c",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/accessors.dart",
      "new_id": "383cfaab5517a65b6ff130e1bec12de7547a9b49",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/accessors.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f8e69c8f0786262ef389c49a1ee13b52a41ae4e9",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jni_array.dart"
    },
    {
      "type": "modify",
      "old_id": "073b4b29013dfbb6ad1ab458840a1f26c3c312ea",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jni_exceptions.dart",
      "new_id": "45df05d789111005b343e5ebaf84790a21beefdd",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jni_exceptions.dart"
    },
    {
      "type": "modify",
      "old_id": "92d5581e98b6ff03861a85eb6af87482db468270",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/jni_object.dart",
      "new_id": "ddb78a742b755d69a1d4589a008885a931b3a54d",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jni_object.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "27b8636eb145ff6e3b472949fe0e123a57fb05d8",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/jni_type_class.dart"
    },
    {
      "type": "modify",
      "old_id": "db16319bb578cc04632b02cac1d4f5687d855db4",
      "old_mode": 33188,
      "old_path": "pkgs/jni/lib/src/third_party/jni_bindings_generated.dart",
      "new_id": "089592900924a58308631d135a90e8645a85d2e1",
      "new_mode": 33188,
      "new_path": "pkgs/jni/lib/src/third_party/jni_bindings_generated.dart"
    },
    {
      "type": "modify",
      "old_id": "6ad55dfeee2a77f429cb55f5e740c30962f90276",
      "old_mode": 33188,
      "old_path": "pkgs/jni/pubspec.yaml",
      "new_id": "dd4eda35a49ecc66ed7797f48a43d2b839c1d694",
      "new_mode": 33188,
      "new_path": "pkgs/jni/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "8ab951511351a504468b5663b9cc5030230313df",
      "old_mode": 33188,
      "old_path": "pkgs/jni/src/dartjni.c",
      "new_id": "6673edee1be03e30149ad2115d3a231d40223e59",
      "new_mode": 33188,
      "new_path": "pkgs/jni/src/dartjni.c"
    },
    {
      "type": "modify",
      "old_id": "efb90792f721aad62817f652e5a1c242683d71dc",
      "old_mode": 33188,
      "old_path": "pkgs/jni/src/dartjni.h",
      "new_id": "12e38b972765e6d482da9dbded3aa6cfda43dd5f",
      "new_mode": 33188,
      "new_path": "pkgs/jni/src/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "a2538e126dc7a7366f26983fb7c227eaad63eb7f",
      "old_mode": 33188,
      "old_path": "pkgs/jni/test/exception_test.dart",
      "new_id": "c954678ae1569a4448fbb435f2a0e82f546f6f42",
      "new_mode": 33188,
      "new_path": "pkgs/jni/test/exception_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2965474f4a063c67e9553492c3dec41ca6e4cac2",
      "new_mode": 33188,
      "new_path": "pkgs/jni/test/jni_array_test.dart"
    },
    {
      "type": "modify",
      "old_id": "2a86dd435fab8f0e5050fcec11203e1c9d76ad90",
      "old_mode": 33188,
      "old_path": "pkgs/jni/test/jni_object_test.dart",
      "new_id": "3bbd31755375ef162f328b0014553bc7a06eae28",
      "new_mode": 33188,
      "new_path": "pkgs/jni/test/jni_object_test.dart"
    },
    {
      "type": "modify",
      "old_id": "2bb369a857f829da380f135d301ce25d147916cb",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/lib/android_utils.dart",
      "new_id": "d8f37a0146ffb71f8be00635e1390e63a5e79c9b",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/lib/android_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "efb90792f721aad62817f652e5a1c242683d71dc",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h",
      "new_id": "12e38b972765e6d482da9dbded3aa6cfda43dd5f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "2473d8ed2b0e7d2e0285042d5adcb20422e8d4c0",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/notification_plugin/lib/notifications.dart",
      "new_id": "4ddcbc60f3e0862a5280f63e1e14649f8a208508",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/notification_plugin/lib/notifications.dart"
    },
    {
      "type": "modify",
      "old_id": "efb90792f721aad62817f652e5a1c242683d71dc",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/notification_plugin/src/dartjni.h",
      "new_id": "12e38b972765e6d482da9dbded3aa6cfda43dd5f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/notification_plugin/src/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "57505e366ff108d9e7ad497443944e8980787e31",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart",
      "new_id": "20fdd06455c0be5ecb907baeb82f5222902c3525",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart"
    },
    {
      "type": "modify",
      "old_id": "d525c6913222d824cf53e428f5f5a285ab4ad9c2",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart",
      "new_id": "771a9e9d0e5129e55f6afd6640af81f8fd9036c6",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart"
    },
    {
      "type": "modify",
      "old_id": "acc83fc9489a730adf5bdd39b801f09520e70a79",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart",
      "new_id": "7ad5ef6431aa70c2205afe0ae9467610bce1e5c1",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart"
    },
    {
      "type": "modify",
      "old_id": "efb90792f721aad62817f652e5a1c242683d71dc",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h",
      "new_id": "12e38b972765e6d482da9dbded3aa6cfda43dd5f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "05907afa19e55cdade386889211d0bc7ec6babf7",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/common.dart",
      "new_id": "41b08f5483e1e4c767add2bfd69d52741af01af0",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/common.dart"
    },
    {
      "type": "modify",
      "old_id": "f69dffcc68408187ee83d948122e9975e810eaf6",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/dart_bindings.dart",
      "new_id": "ba440a177018deee4a6c8b0c2f6d4b14e022792f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/dart_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "664d9d9e9e380c98e29b29aca9b01a36c23565c2",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/pure_dart_bindings.dart",
      "new_id": "ee0d4c8d1a23f448536c55fc0627bd40ce522722",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/pure_dart_bindings.dart"
    },
    {
      "type": "modify",
      "old_id": "cba0af6f60048a47f5099ce2e5bb056a3cc92934",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/bindings_test.dart",
      "new_id": "eb1ec8faf06d7e271e4741702ab869f2533f8241",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/bindings_test.dart"
    },
    {
      "type": "modify",
      "old_id": "0d8c37bce4ef76125fc08f13d491f2e71ff4fff9",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonFactory.dart",
      "new_id": "dff4205da46fb48061f50ccbef00237a45fe8233",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonFactory.dart"
    },
    {
      "type": "modify",
      "old_id": "988100c4483cb507513e06370c6181c926acd811",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonParser.dart",
      "new_id": "64867c75e94d18ca3f85f8b0f7c1169eafd2b636",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonParser.dart"
    },
    {
      "type": "modify",
      "old_id": "280ea6beb3925e9bd83bc4062d8f8a5879cdbb78",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonToken.dart",
      "new_id": "20af2a4a3074b13112853e8832ddeb9b7c666a16",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonToken.dart"
    },
    {
      "type": "modify",
      "old_id": "1b2aaf4117c8a8e056eda79829c46242e7cc14fe",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/simple_package/Example.java",
      "new_id": "86f861533f1a268641c4cc5061dd7c438c99ddac",
      "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": "6dab93272e07a5aa6dc19e46e98a4fc42030c9c1",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/lib/simple_package.dart",
      "new_id": "a65c0f401add9de73133bf13be461e6a7044f608",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/lib/simple_package.dart"
    },
    {
      "type": "modify",
      "old_id": "efb90792f721aad62817f652e5a1c242683d71dc",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/src/dartjni.h",
      "new_id": "12e38b972765e6d482da9dbded3aa6cfda43dd5f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/src/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "c3b82d27c1062e4d9594999ef6ead708c1d49ce0",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/src/simple_package.c",
      "new_id": "aa7d521b1e57ac8856845de0aacaaa5a38ffb254",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/src/simple_package.c"
    }
  ]
}
