[jnigen] Type inference for generics (https://github.com/dart-lang/jnigen/issues/236)

Type parameters are now named parameters instead. This allows us to toggle whether or not they're "required". A type parameter is not required if we can find it somewhere in the list of arguments. For example in `<T> f(ArrayList<T> arr)`, `T` can be inferred because it's also the element type in the `ArrayList`. There might be multiple places where a certain type parameter `T` is found within the arguments. In that case we choose the lowest common super type of all the cases.
31 files changed
tree: 7b52e9c1a0695a0aeb30fc76dcfde4321981be10
  1. .github/
  2. pkgs/