[jnigen] Array support (https://github.com/dart-lang/jnigen/issues/118)

Added support for Java arrays. Closed https://github.com/dart-lang/jnigen/issues/69.

* `jni`: Added `JniArray<T>` and `JniType<T>` that includes signature information about Java types.

* `jnigen` generates an extension for `JniArray<GeneratedClass>` so we can use `operator []` and `operator []=` on all arrays. `jni` types also have this extension.

* Arrays also have a `setRange` method similar to `List`s.

* `jnigen` generates a private type class that extends `JniType<GeneratedClass>` 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.
34 files changed
tree: 8056c6afa332ce9796a22fb5cce94d8675e0009c
  1. .github/
  2. pkgs/