GSoC25: BASIC IDE Phase 1/Part 1 - SymbolInfo + Cache Interface(Regarding new files for cache)

Devansh Varshney varshney.devansh614 at gmail.com
Wed May 14 07:15:33 UTC 2025


Hi mentors,

As per my proposal (Section 5.2, Weeks 1–2), I've designed and implemented
the
core data structures and interfaces for the new Knowledge Base & Cache.

I've added two new files:

   -

   include/basic/idecodecompletiontypes.hxx: Contains enums (SymbolKind,
   ScopeKind, AccessModifier) and structs (ParamInfo, DimensionInfo,
   SymbolInfo).
   -

   include/basic/idecodecompletioncache.hxx: Defines the main cache class
   interface.

A corresponding implementation file *idecodecompletioncache.cxx* may be
added.

The existing basic/source/classes/codecompletecache.cxx includes:

   -

   CodeCompleteOptions: Manages user-configurable options related to code
   completion stored via officecfg.
   -

   CodeCompleteDataCache: Currently limited, storing variable names and
   types
   as strings.

To support new features, we need to store detailed SymbolInfo for all
entities (variables, functions, UDTs, classes, UNO objects, libraries,
modules). This includes full signatures, hierarchical relationships, and
precise scope and origin information.

Refactoring CodeCompleteDataCache would mean a complete redesign?

So should I be doing that or go by creating a new file for our objective?


I also found prior GSoC work on the Basic IDE:

   -


   https://cgit.freedesktop.org/libreoffice/core/log/?h=feature/gsoc-basic-ide-completion-and-other-bits
   -

   https://lists.freedesktop.org/archives/libreoffice/2013-July/054488.html

The CodeCompleteOptions class will be reused and likely extended for
managing
user settings related to these new features?
-- 
*Regards,*
*Devansh*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20250514/09ea3413/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: devansh_libreoffice_proposal.odt
Type: application/vnd.oasis.opendocument.text
Size: 988832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20250514/09ea3413/attachment-0001.odt>


More information about the LibreOffice mailing list