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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.