[Libreoffice-commits] core.git: Branch 'feature/gsoc-basic-ide-completion-and-other-bits' - basctl/source basic/source

Gergo Mocsi gmocsi91 at gmail.com
Tue Aug 20 04:37:40 PDT 2013


 basctl/source/basicide/baside2b.cxx        |    4 ++--
 basic/source/classes/codecompletecache.cxx |    1 +
 basic/source/comp/dim.cxx                  |    6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)

New commits:
commit 0c681742db11bc18e3d3a5284e4a56128b1f5531
Author: Gergo Mocsi <gmocsi91 at gmail.com>
Date:   Tue Aug 20 13:29:18 2013 +0200

    GSOC work, multiple fixes
    
    Code completion: parser recognizes extended types ony when the checkbox is checked.
    Fixed a crash caused by a misspelled uno type.
    Fixed function CodeCompleteDataCache::Clear() to clear both internal variables.
    
    Change-Id: I82fdd2e1cf749237e2e2de4a9a2fc7d07fb7eb4a

diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 7d67327..8c09ada 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -2899,7 +2899,7 @@ UnoTypeCodeCompletetor::UnoTypeCodeCompletetor( const std::vector< OUString >& a
 std::vector< OUString > UnoTypeCodeCompletetor::GetXIdlClassMethods() const
 {
     std::vector< OUString > aRetVect;
-    if( bCanComplete )
+    if( bCanComplete && ( xClass != NULL ) )
     {
         Sequence< Reference< reflection::XIdlMethod > > aMethods = xClass->getMethods();
         if( aMethods.getLength() != 0 )
@@ -2916,7 +2916,7 @@ std::vector< OUString > UnoTypeCodeCompletetor::GetXIdlClassMethods() const
 std::vector< OUString > UnoTypeCodeCompletetor::GetXIdlClassFields() const
 {
     std::vector< OUString > aRetVect;
-    if( bCanComplete )
+    if( bCanComplete && ( xClass != NULL ) )
     {
         Sequence< Reference< reflection::XIdlField > > aFields = xClass->getFields();
         if( aFields.getLength() != 0 )
diff --git a/basic/source/classes/codecompletecache.cxx b/basic/source/classes/codecompletecache.cxx
index a5b9ce6..aad0e4f 100644
--- a/basic/source/classes/codecompletecache.cxx
+++ b/basic/source/classes/codecompletecache.cxx
@@ -136,6 +136,7 @@ void CodeCompleteDataCache::print() const
 void CodeCompleteDataCache::Clear()
 {
     aVarScopes.clear();
+    aGlobalVars.clear();
 }
 
 void CodeCompleteDataCache::InsertGlobalVar( const OUString& sVarName, const OUString& sVarType )
diff --git a/basic/source/comp/dim.cxx b/basic/source/comp/dim.cxx
index 2b94c39..64d0565 100644
--- a/basic/source/comp/dim.cxx
+++ b/basic/source/comp/dim.cxx
@@ -407,13 +407,13 @@ void SbiParser::DefVar( SbiOpcode eOp, bool bStatic )
                 OUString aTypeName( aGblStrings.Find( pDef->GetTypeId() ) );
                 if( rTypeArray->Find( aTypeName, SbxCLASS_OBJECT ) == NULL )
                 {
-                    if(!CodeCompleteOptions::IsCodeCompleteOn())
-                        Error( SbERR_UNDEF_TYPE, aTypeName );
-                    else
+                    if( CodeCompleteOptions::IsExtendedTypeDeclaration() )
                     {
                         if(!IsUnoInterface(aTypeName))
                             Error( SbERR_UNDEF_TYPE, aTypeName );
                     }
+                    else
+                        Error( SbERR_UNDEF_TYPE, aTypeName );
                 }
             }
 


More information about the Libreoffice-commits mailing list