On 28 Aug 2011, at 21:59, Sven Barth wrote:

> Here it is:
> 
> === output begin ===
> 
> Compiled from "FileObserver.java"
> public abstract class android.os.FileObserver extends java.lang.Object{
>    public static final int ACCESS;
>    public static final int MODIFY;
>    public static final int ATTRIB;
>    public static final int CLOSE_WRITE;
>    public static final int CLOSE_NOWRITE;
>    public static final int OPEN;
>    public static final int MOVED_FROM;
>    public static final int MOVED_TO;
>    public static final int CREATE;
>    public static final int DELETE;
>    public static final int DELETE_SELF;
>    public static final int MOVE_SELF;
>    public static final int ALL_EVENTS;
>    public android.os.FileObserver(java.lang.String);
>    public android.os.FileObserver(java.lang.String, int);
>    protected void finalize();
>    public void startWatching();
>    public void stopWatching();
>    public abstract void onEvent(int, java.lang.String);
> }

It's caused by the fact that javapp calls all constructors to "create". It then 
notices that the method name "create" conflicts with the constant CREATE, and 
tries to solve it by renaming the constructor to its original name + '_' (and 
setting the external name to the original name). Internally, the name of the 
constructor in class files is "<init>", so that gets changed into "<init>_" and 
as a result the filter afterwards to translate "<init>" to "create" isn't 
triggered anymore.

I can fix that, but then the constructor will still be called "Create_" rather 
than "Create" :/


Jonas_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to