GSOC report week 0,1

Noel Power nopower at suse.com
Mon Jun 17 02:29:56 PDT 2013


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


More information about the LibreOffice mailing list