[jnigen] 0.2.0 (https://github.com/dart-lang/jnigen/issues/174)

* 0.2.0 version on pub
diff --git a/pkgs/jni/CHANGELOG.md b/pkgs/jni/CHANGELOG.md
index be4847a..8b4b98e 100644
--- a/pkgs/jni/CHANGELOG.md
+++ b/pkgs/jni/CHANGELOG.md
@@ -1,5 +1,11 @@
-## 0.1.0
-* Initial version: Android and Linux support, JObject API
+## 0.2.0
+* Added array support
+* Added generic support
+* `JniX` turned into `JX` for a more terse code.
 
 ## 0.1.1
 * Windows support for running tests and examples on development machines.
+
+## 0.1.0
+* Initial version: Android and Linux support, JObject API
+
diff --git a/pkgs/jni/pubspec.yaml b/pkgs/jni/pubspec.yaml
index dd4eda3..9a08b37 100644
--- a/pkgs/jni/pubspec.yaml
+++ b/pkgs/jni/pubspec.yaml
@@ -1,6 +1,6 @@
 name: jni
 description: Library to access JNI from dart and flutter
-version: 0.1.1
+version: 0.2.0
 repository: https://github.com/dart-lang/jnigen/tree/main/jni
 
 environment:
diff --git a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/compounddecl_parser.dart b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/compounddecl_parser.dart
index 6c7916f..a21d6e2 100644
--- a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/compounddecl_parser.dart
+++ b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/compounddecl_parser.dart
@@ -74,7 +74,6 @@
 Compound? parseCompoundDeclaration(
   clang_types.CXCursor cursor,
   CompoundType compoundType, {
-
   /// Option to ignore declaration filter (Useful in case of extracting
   /// declarations when they are passed/returned by an included function.)
   bool ignoreFilter = false,
@@ -147,7 +146,6 @@
 void fillCompoundMembersIfNeeded(
   Compound compound,
   clang_types.CXCursor cursor, {
-
   /// Option to ignore declaration filter (Useful in case of extracting
   /// declarations when they are passed/returned by an included function.)
   bool ignoreFilter = false,
diff --git a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/enumdecl_parser.dart b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/enumdecl_parser.dart
index 4e5e150..68012ed 100644
--- a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/enumdecl_parser.dart
+++ b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/enumdecl_parser.dart
@@ -27,7 +27,6 @@
 /// Parses an enum declaration.
 EnumClass? parseEnumDeclaration(
   clang_types.CXCursor cursor, {
-
   /// Option to ignore declaration filter (Useful in case of extracting
   /// declarations when they are passed/returned by an included function.)
   bool ignoreFilter = false,
diff --git a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart
index bf9d038..94fff92 100644
--- a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart
+++ b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart
@@ -30,7 +30,6 @@
 
 Type? parseObjCInterfaceDeclaration(
   clang_types.CXCursor cursor, {
-
   /// Option to ignore declaration filter (Useful in case of extracting
   /// declarations when they are passed/returned by an included function.)
   bool ignoreFilter = false,
diff --git a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/type_extractor/extractor.dart b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/type_extractor/extractor.dart
index 1a69715..7a497a3 100644
--- a/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/type_extractor/extractor.dart
+++ b/pkgs/jni/third_party/ffigen_patch_jni/lib/src/header_parser/type_extractor/extractor.dart
@@ -24,7 +24,6 @@
 /// Converts cxtype to a typestring code_generator can accept.
 Type getCodeGenType(
   clang_types.CXType cxtype, {
-
   /// Option to ignore declaration filter (Useful in case of extracting
   /// declarations when they are passed/returned by an included function.)
   bool ignoreFilter = true,
diff --git a/pkgs/jnigen/CHANGELOG.md b/pkgs/jnigen/CHANGELOG.md
index f70e588..107c11a 100644
--- a/pkgs/jnigen/CHANGELOG.md
+++ b/pkgs/jnigen/CHANGELOG.md
@@ -1,6 +1,8 @@
-## 0.1.0
-* Initial version: Basic bindings generation, maven and android utilities
+## 0.2.0
+* Support generating bindings for generics.
 
 ## 0.1.1
 * Windows support for running tests and examples on development machines.
 
+## 0.1.0
+* Initial version: Basic bindings generation, maven and android utilities
diff --git a/pkgs/jnigen/lib/src/elements/elements.dart b/pkgs/jnigen/lib/src/elements/elements.dart
index 80bdbb9..85269c2 100644
--- a/pkgs/jnigen/lib/src/elements/elements.dart
+++ b/pkgs/jnigen/lib/src/elements/elements.dart
@@ -96,36 +96,36 @@
   // synthesized attributes
 
   /// Final name of this class
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String finalName;
 
   /// Parent's [ClassDecl] obtained from [parentName]
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   ClassDecl? parent;
 
   /// Type parameters including the ones from its ancestors
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   List<TypeParam> allTypeParams = const [];
 
   /// Unique name obtained by renaming conflicting names with a number.
   ///
   /// This is used by C bindings instead of fully qualified name to reduce
   /// the verbosity of generated bindings
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String uniqueName;
 
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   bool isPreprocessed = false;
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   bool isIncluded = true;
 
   /// Contains number with which certain overload of a method is renamed to,
   /// so the overriding method in subclass can be renamed to same final name.
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   Map<String, int> methodNumsAfterRenaming = {};
 
   /// Name counts map, it's a field so that it can be later used by subclasses.
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   Map<String, int> nameCounts = {..._definedSyms};
 
   @override
@@ -158,7 +158,7 @@
 
   String shorthand;
   Kind kind;
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late ReferredType type;
   @JsonKey(name: "type")
   Map<String, dynamic> typeJson;
@@ -282,14 +282,14 @@
   List<Param> params;
   TypeUsage returnType;
 
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String finalName;
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late bool isOverridden;
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   bool isIncluded = true;
 
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String javaSig = _javaSig();
 
   String _javaSig() {
@@ -337,9 +337,9 @@
   TypeUsage type;
   Object? defaultValue;
 
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String finalName;
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   bool isIncluded = true;
 
   factory Field.fromJson(Map<String, dynamic> json) => _$FieldFromJson(json);
@@ -351,7 +351,7 @@
   String name;
   List<TypeUsage> bounds;
 
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String erasure;
 
   factory TypeParam.fromJson(Map<String, dynamic> json) =>
@@ -363,7 +363,7 @@
   JavaDocComment({String? comment}) : comment = comment ?? '';
   String comment;
 
-  @JsonKey(ignore: true)
+  @JsonKey(includeFromJson: false)
   late String dartDoc;
 
   factory JavaDocComment.fromJson(Map<String, dynamic> json) =>
diff --git a/pkgs/jnigen/pubspec.yaml b/pkgs/jnigen/pubspec.yaml
index 54e2b36..0ac0eb5 100644
--- a/pkgs/jnigen/pubspec.yaml
+++ b/pkgs/jnigen/pubspec.yaml
@@ -3,7 +3,7 @@
 # BSD-style license that can be found in the LICENSE file.
 
 name: jnigen
-version: 0.1.1
+version: 0.2.0
 description: Experimental generator for FFI+JNI bindings.
 repository: https://github.com/dart-lang/jnigen/tree/main/jnigen