On 16/06/13 19:54, Gergő Mocsi wrote:
Hi all,
this is my GSOC weekly (now, two week) report. Unfortunately, I could work a few due to some other matters.
sorry to hear you were sick
Here's what I've got:
Accordig to the arrangement, I've started to investigate, how BASIC handles variable delarations (as I wrote in the email), and I've tried to do the same as it does in VBA mode. Now, it allows variable of any type to be declared, and does not complain about it (in experimental mode). Further, I've introduced reflection, so it checks if that interface exists, eg: Dim aPicker As com.sun.star.ui.dialogs.XFilePicker will be treated as a valid type, and Dim aVar As com.sun.star.foo.Foo will be an invalid one.
cool, this is this is the real keystone patch, somewhere down the line we can think improvements to this e.g. perhaps being able to accept just the leaf name ( XFilePicker ) or even ( like vba does ) accept all variant of the name e.g. ( dialogs.XFilePicker, ui.dialogs.XFilePicker etc. ) but.. anyway I think that is more cosmetic issue that can be looked into when we have actually something working
Also, i've moved further to find the function whick checks for newly declared subroutines in the IDE when writing the code.
so, any more luck with that ?, probably it is done in basic module ( and not the IDE module ) IIRC I saw where this was done at some point when we made the IDE accept run from cursor ( might be you could find it from there ) e.g. If you have a number of macros defined in a module and from the ide you place the cursor in a macro and press the 'Run' button on the toolbar (or press F5) then the IDE will try and invoke the procedure the cursor is in is run. I recall that when you are typing basic tracks any procedures that are defined ( and the line numbers that the procedure occupies )
This is needed to connect these two things together, but I've notices that the object inspector does not shows the declared variables, and maybe this is needed (another idea to solve :D ). This function is called void TreeListBox::ImpCreateLibSubEntries() and it's located in file basctl/source/basicide/bastype2.cxx in line 325. This is what I've done.
hmm, that's the not the object inspector but the browser ( that shows the modules and procedures ) Its surely related as it displays the SbMethod instances that represent the procedures we are interested in. Finding where those are created will eventually point to where the pre-parsing for that happens

Noel
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to