)]}'
{
  "commit": "611c9646d5de7b67f95a3b018322d5a5fa9efaed",
  "tree": "85e28afe8b0261bfc16aae0ac84a50056f56a495",
  "parents": [
    "c195412164f3b6a3ded03dac9d4f11f0814059e9"
  ],
  "author": {
    "name": "Hossein Yousefi",
    "email": "yousefi@google.com",
    "time": "Tue Dec 13 17:57:39 2022 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Dec 13 18:57:39 2022 +0100"
  },
  "message": "[jnigen] Use .jar metadata to generate generic types (https://github.com/dart-lang/jnigen/issues/158)\n\nCloses https://github.com/dart-lang/jnigen/issues/132.\r\n\r\nASM backend, parses classes, fields and method signatures from the metadata to add generic type information to other-wise type-erased generics.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e34427068a8931265207d18a05289a19cdf6cac9",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/jnigen.yaml",
      "new_id": "f77215b14ccf645999ca7d204bb017adffe55186",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/jnigen.yaml"
    },
    {
      "type": "modify",
      "old_id": "1b6cc084d4b3f9fdcff7f66dbce16fb6f214c38c",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/lib/android_utils.dart",
      "new_id": "6929631cce2048fb87298c6d77adc95c3c302690",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/lib/android_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "901eb76b0b572e9ff075cebdb81b2c22150d61f1",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/lib/main.dart",
      "new_id": "61c9d2b175ac007d0d7d51842934581a5776a2e9",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/lib/main.dart"
    },
    {
      "type": "modify",
      "old_id": "b1e887afffee361285bd59c1f370259b516b463a",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/src/android_utils/android_utils.c",
      "new_id": "1a1cb55cb9247e4bf7de0cb766ff2fb9f044746f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/src/android_utils/android_utils.c"
    },
    {
      "type": "modify",
      "old_id": "4f9512e43d4e3144573a32d46e50c6a7f59364b0",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart",
      "new_id": "f32c1190c003e91ef6189c46fad6d14ede6cbd29",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart"
    },
    {
      "type": "modify",
      "old_id": "f1527676b17fd897524d1d7bebf9a5634fda0fc6",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart",
      "new_id": "46928c010823caf37c189edb22c5154be1bdc5f9",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart"
    },
    {
      "type": "modify",
      "old_id": "45eea01cbd086cdf312fcb9c77933c8f5de820a8",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart",
      "new_id": "e442778ffb74e648cf7ef251234e107541f531c9",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8805c7f149f71bddb7ae5d417240abbb80f3ba2d",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassSignatureVisitor.java"
    },
    {
      "type": "modify",
      "old_id": "c82234201588069f14394a5f7cf8a0de3506b0c2",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java",
      "new_id": "f542fe86c7f4c12d1fe41d73eadd3b5e42dac4c7",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9067f9eb905e390d50cff4396d77c46acfd37974",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmMethodSignatureVisitor.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dc0f5a477b5734084cef97d8f1c3286051867810",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmTypeUsageSignatureVisitor.java"
    },
    {
      "type": "modify",
      "old_id": "8131a553b0c38b0be025603be7da1ae0fcdbe32f",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java",
      "new_id": "42e069e4f6c9c0653e4fbcc0c67e7d1947c1cee9",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java"
    },
    {
      "type": "modify",
      "old_id": "bb558f4728fcc11e05ec6422c0aa4fc46efe4c8b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Method.java",
      "new_id": "0711c10c1008695ff197fee794c7f0050e00aceb",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Method.java"
    },
    {
      "type": "modify",
      "old_id": "9045578ee0eb4a73f2abc1812f53610ea92de4ae",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeParam.java",
      "new_id": "8172ee6d8ca39b999d0e88f418ffaa7d0b1a967e",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeParam.java"
    },
    {
      "type": "modify",
      "old_id": "5c5a2c83141c34fd6a3432ad3b8ba7be9fce2d26",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/common.dart",
      "new_id": "19fba1139be0343bf8a1eb47f07b7a67c805cc8e",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/common.dart"
    },
    {
      "type": "modify",
      "old_id": "9e78ea341b5da684c38b9ef987f12ce669a5f3d1",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/writers/files_writer.dart",
      "new_id": "73619152d6acff42484b17929cf409feff8f29f2",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/writers/files_writer.dart"
    },
    {
      "type": "modify",
      "old_id": "ee6875fe0b762a1d4775b7a3a0005911ba542252",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/writers/single_file_writer.dart",
      "new_id": "8d8e5c745ed24e3c6f3d7c8da4272beb18709700",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/writers/single_file_writer.dart"
    },
    {
      "type": "modify",
      "old_id": "37749d5cb3ced449decf5a8ab7561acc7faa04c0",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/generate.dart",
      "new_id": "c804e5792e5cbac88f63718417b9044240c7284a",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/generate.dart"
    },
    {
      "type": "modify",
      "old_id": "32377ce53b62e59ccaa4b98b2644ec6da6955674",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonFactory.dart",
      "new_id": "be5fc9f2916a9d2f6f9a822f9d180d90de6e8084",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonFactory.dart"
    },
    {
      "type": "modify",
      "old_id": "4d049fb3eff6b7d2dcd00a077e4a0579b98673d6",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonParser.dart",
      "new_id": "2e1305edb2a0cb120c531042eef1145cc67d2937",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core/JsonParser.dart"
    },
    {
      "type": "modify",
      "old_id": "657dd90488ed531dab14fa2cb72ce33e2a1662ae",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/generate.dart",
      "new_id": "962fe17b5a2231ca3781fc5ea112e7931baa35d1",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/generate.dart"
    },
    {
      "type": "modify",
      "old_id": "0f025b87317205986cd19af6eee5b92ffec09a1d",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/StringValuedMap.java",
      "new_id": "c005ae0d3627e433a42622469ffecedca750960c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/generics/StringValuedMap.java"
    }
  ]
}
