Bug 8134

Summary: JavaList needs to provide java.util.List methods to make it valid to derive from ArrayList
Product: Android Reporter: Atsushi Eno <atsushi>
Component: BindingsAssignee: Atsushi Eno <atsushi>
Status: RESOLVED FIXED    
Severity: normal CC: jkolb, mono-bugs+monodroid
Priority: ---    
Version: 4.3.x   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Tags: Is this bug a regression?: ---
Last known good build:

Description Atsushi Eno 2012-11-01 08:35:45 UTC
This is an exposed bug from repro case for bug #8112. generator results in 
http://code.google.com/p/droidtext/

It results in such errors:

        obj/Debug/generated/src/Com.Lowagie.Text.Phrase.cs(8,30): error CS0535: `Com.Lowagie.Text.Phrase' does not implement interface member `Com.Lowagie.Text.ITextElementArray.Add(Java.Lang.Object)'
        obj/Debug/generated/src/Com.Lowagie.Text.Section.cs(8,30): error CS0535: `Com.Lowagie.Text.Section' does not implement interface member `Com.Lowagie.Text.ITextElementArray.Add(Java.Lang.Object)'

This happens because these types derive from java.util.ArrayList, but since we don't support these types, they simply cannot be bound.

(What's the point of dare to removing them now that lack of those types are rather harmful btw? Is optimization still preferred against those issues? The same applies to missing java.lang.reflect which blocks google-guice and roboguice.)
Comment 1 Atsushi Eno 2012-11-01 10:25:26 UTC
This turned out to be rather a (another) fundamental issue in supporting java.util.ArrayList as JavaList. Basically the problem is: we *alter* ArrayList with JavaList but without supplying lacking methods. 

They could be added to JavaList and that "fixes" this issue.
Comment 2 Jeremy Kolb 2012-11-01 10:27:15 UTC
This is unfortunate.  I need the Paragraph class that depends on Phrase.
Comment 3 Jeremy Kolb 2012-11-01 10:32:47 UTC
Ok I manually added them using add-node and that seems to work.
Comment 4 Atsushi Eno 2012-11-01 13:36:33 UTC
(subject changed, and) this is now implemented and will be available in the next release.