Jonathan Pryor

Results 112 comments of Jonathan Pryor
trafficstars

One "corner case" which just came to mind: we *cannot* bind *`abstract`* types which unresolvable interface methods automagically/by default. Consider: ```java interface Fooable { void foo(); } public abstract class...

OK, so there are two issues here. Background: the relevant Javadoc contains a *relative* URL: ```java public /* partial */ interface BlockingDeque extends BlockingQueue, Deque { /** * … *...

A closely related problem is Xamarin.Android's `tools/generator`, which generates binding assemblies, which would be using `Java.Interop.JniPeerMembers`. [`JniPeerMembers.JniInstanceMethods`](https://github.com/xamarin/Java.Interop/blob/f33ed5b829392a3e292b3a481b98fbb34e626d1e/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs), meanwhile, uses `IJavaPeerable` and `IJavaPeerable.PeerReference` _extensively_; how can it possibly work without an...

At present, I can't think of a way to satisfy the goal of having a sanely designed API (no interfaces that can't actually be implemented) which is also _usable_ and...

Related: https://bugzilla.xamarin.com/show_bug.cgi?id=37560 People see an interface, and try to manually implement, and shit breaks. Film at 11. Even if the interface _were_ implementable...they'd probably implement it wrong, because they're clearly...

After discussion with @jpobst, we can probably: 1. Provide default implementations for all members on `IJavaPeerable`, and 2. Update `jcw-gen` to look for `IJavaPeerable` as an implemented interface, and generate...

After some further thought… *Can* we implement `IJavaPeerable` via `ConditionalWeakTable`? Kinda. We can implement the C# side, in a way that works: ```csharp var list = new Java.Util.ArrayList (); lits.Add...

@dellis1972 [wrote](https://github.com/xamarin/java.interop/issues/833#issuecomment-834216888): > So perhaps in addition to this we need an additional attribute which can be placed either on Methods or Parameters to change the JCW type? We have...

I think this should also apply to *generic* types, e.g. in `Java.Lang.ProcessBuilder` we have: ```csharp namespace Java.Lang { public class ProcessBuilder { public unsafe ProcessBuilder (System.Collections.Generic.IList? command); } } ```...

Discussed this. Arrays *are* generic, in terms of nullability nesting; you could have an `Array`, where two of the types are nullable while the "outermost" value *isn't* nullable, which is...