[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