[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