bool addMacro(types::Macro *_info);
bool addMacroFile(types::MacroFile *_info);
void print(std::wostream& ostr) const;
+ int getScopeLevel();
+
private :
types::InternalType* get(const Symbol& key, int _iLevel);
{
if (e.isGlobal())
{
- //return or resume
- if (ConfigVariable::getPauseLevel() != 0)
+ if (ConfigVariable::getPauseLevel() != 0 && symbol::Context::getInstance()->getScopeLevel() == 1)
{
+ //return or resume
ThreadId* pThreadId = ConfigVariable::getLastPausedThread();
if (pThreadId == NULL)
{
setExpectedSize(1);
e.getExp().accept(*this);
setExpectedSize(iSaveExpectedSize);
-
- if (getResultSize() == 1)
- {
- //protect variable
- getResult()->IncreaseRef();
- }
- else
- {
- for (int i = 0 ; i < getResultSize() ; i++)
- {
- //protect variable
- getResult(i)->IncreaseRef();
- }
- }
-
- if (getResultSize() == 1)
- {
- //unprotect variable
- getResult()->DecreaseRef();
- }
- else
- {
- for (int i = 0 ; i < getResultSize() ; i++)
- {
- //unprotect variable
- getResult(i)->DecreaseRef();
- }
- }
-
const_cast<ReturnExp*>(&e)->setReturn();
}
}