Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] Re: Mac port: Status Update

On 12/11/01 9:59 PM, "stuartc@xxxxxxx" <stuartc@xxxxxxx> wrote:

> On second thought, that didn't come out right.  NSSelector, similar to a
> Smalltalk selector or a java.lang.reflect.Method object that can be
> called on any arbitrary class, is the way that events are handled in
> Cocoa..  That's probably going to involve a performance hit.

NSSelector.invoke throws java.lang.IllegalAccessException,
java.lang.NoSuchMethodException, and
java.lang.reflect.InvocationTargetException so I think we have a pretty good
idea how it works.  ;-)

I don't think that NSSelector using reflection will cause much of a
performance problem.  As long as it's not every method of every object, I
doubt that it will be too much of a problem.  Of course with some things
like this, it's almost impossible to tell until you test it.
 
> But the actual Java Bridge is a framework that can generate a proxy /
> JNI stub combo based on a mapping specification... And I believe most of
> Cocoa is mapped in this way.  It's pretty sophisticated stuff, but it's
> marked as "legacy" in Apple's documentation, and I don't believe the new
> Project Builder allows you to create a "Java Wrapper project"...

Right.  The .jobs file generator WrapIt is gone, but the .jobs processor
tool bridget is in /usr/bin.  I think that means you will be hand editing
the .jobs files if you want to do a new mapping.

WrapIt is probably gone because Project Builder was re-written from scratch
very recently and they haven't even got syntax completion put back in yet.
That or it's gone for ever.  With Apple who knows?  They're so damned tight
lipped about future products that you can never tell.

-Maurice



Back to the top