summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-09-26 11:30:54 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-09-26 11:49:06 +0000
commit365b13e1528683f24adc05cf94304f0bd3fd5505 (patch)
tree127e1d6eb971c86aba124865a4bf77a7beaf36fe /basic
parentb9d20625d29b5cf99e32e4a282546a7dd2889d5d (diff)
pVar != null, so static_cast(pVar) != null
Change-Id: Id22808858b5884b2f87064b389eb411e0712bab4 Reviewed-on: https://gerrit.libreoffice.org/18881 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'basic')
-rw-r--r--basic/source/comp/parser.cxx34
1 files changed, 16 insertions, 18 deletions
diff --git a/basic/source/comp/parser.cxx b/basic/source/comp/parser.cxx
index 2406e1c2e66d..97592cb9d3ba 100644
--- a/basic/source/comp/parser.cxx
+++ b/basic/source/comp/parser.cxx
@@ -150,32 +150,30 @@ SbiParser::SbiParser( StarBASIC* pb, SbModule* pm )
}
// part of the runtime-library?
-SbiSymDef* SbiParser::CheckRTLForSym( const OUString& rSym, SbxDataType eType )
+SbiSymDef* SbiParser::CheckRTLForSym(const OUString& rSym, SbxDataType eType)
{
- SbxVariable* pVar = GetBasic()->GetRtl()->Find( rSym, SbxCLASS_DONTCARE );
- SbiSymDef* pDef = NULL;
- if( pVar )
+ SbxVariable* pVar = GetBasic()->GetRtl()->Find(rSym, SbxCLASS_DONTCARE);
+ if (!pVar)
+ return nullptr;
+
+ if (pVar->IsA(TYPE(SbxMethod)))
{
- if( pVar->IsA( TYPE(SbxMethod) ) )
+ SbiProcDef* pProc_ = aRtlSyms.AddProc( rSym );
+ SbxMethod* pMethod = static_cast<SbxMethod*>(pVar);
+ if (pMethod->IsRuntimeFunction())
{
- SbiProcDef* pProc_ = aRtlSyms.AddProc( rSym );
- SbxMethod* pMethod = static_cast<SbxMethod*>(pVar);
- if ( pMethod && pMethod->IsRuntimeFunction() )
- {
- pProc_->SetType( pMethod->GetRuntimeFunctionReturnType() );
- }
- else
- {
- pProc_->SetType( pVar->GetType() );
- }
- pDef = pProc_;
+ pProc_->SetType( pMethod->GetRuntimeFunctionReturnType() );
}
else
{
- pDef = aRtlSyms.AddSym( rSym );
- pDef->SetType( eType );
+ pProc_->SetType( pVar->GetType() );
}
+ return pProc_;
}
+
+
+ SbiSymDef* pDef = aRtlSyms.AddSym(rSym);
+ pDef->SetType(eType);
return pDef;
}