Hi,
Great to hear it's working at least ;-)
I hope to find some time for cleaning the code and making it more
platform-independent, but it's encouraging at least.
On 20 Dec 2007, at 11:06, Lukas Renggli wrote:
Then I set the workspace location and start Eclipse.
It seems that
this happens in the background, as I can't see anything starting (it
just takes a while). Is that correct?
Yes.
Eclipse is started 'headless' as a java application, running the
Penumbra Eclipse plugin as the main application. When eclipse is
started, the only thing you notice is that the button label changes
to 'stop eclipse'. (However, restarting eclipse in the same image is
still a problem, we will solve that later.).
The actual plugin instance (a Java object) is available from within
Smalltalk as the singleton instance of the PenumbraApplication class.
You can retrieve it by executing:
JavaWorldPrototypes.org.dmp.penumbra.PenumbraApplication current.
(for now, please forget and forgive that the class side is in another
namespace than the actual object you obtain. this is another point on
our todo list)
You can inspect that object and take a look at the methods you can
send it. For example, you can get the javaModel instance:
pluginObject getJavaModel
-or you can retrieve all CompilationUnit parsetrees from a project
doing the following:
pluginObject getCompilationUnitsForProject_IJavaProject:
(pluginObject getJavaModel getJavaProjects asOrderedCollection first)
There's more when using the TableGatheringVisitor that is also
packaged in there. It can walk all parsetrees and gather enums,
classes, interfaces and methods separately.
Now I notice that the Penumbra-Moose has troubles if
Eclipse is
already running. So I restart the image and try again without using
the PenumbraConsole. I get a debugger as it tries to import an Enum,
so I hack your code to only consider interfaces and classes.
The importer is indeed far from complete. We're mostly working on the
ability for Soul to reason about eclipse trees.
----------------------------
Johan Brichau
johan.brichau(a)uclouvain.be