mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-29 05:17:58 +03:00
reuse ImplicitRef and ExplicitRef for enable, disable, getdisabled, startscript; move scriptrunning and stopscript
This commit is contained in:
parent
05ffda9b47
commit
f0e2ee45fa
19 changed files with 155 additions and 601 deletions
|
@ -247,35 +247,6 @@ namespace Compiler
|
|||
|
||||
if (mState==BeginState || mState==ExplicitState)
|
||||
{
|
||||
switch (keyword)
|
||||
{
|
||||
case Scanner::K_enable:
|
||||
|
||||
Generator::enable (mCode, mLiterals, mExplicit);
|
||||
mState = PotentialEndState;
|
||||
return true;
|
||||
|
||||
case Scanner::K_disable:
|
||||
|
||||
Generator::disable (mCode, mLiterals, mExplicit);
|
||||
mState = PotentialEndState;
|
||||
return true;
|
||||
|
||||
case Scanner::K_startscript:
|
||||
|
||||
mExprParser.parseArguments ("c", scanner, mCode);
|
||||
Generator::startScript (mCode, mLiterals, mExplicit);
|
||||
mState = EndState;
|
||||
return true;
|
||||
|
||||
case Scanner::K_stopscript:
|
||||
|
||||
mExprParser.parseArguments ("c", scanner, mCode);
|
||||
Generator::stopScript (mCode);
|
||||
mState = EndState;
|
||||
return true;
|
||||
}
|
||||
|
||||
// check for custom extensions
|
||||
if (const Extensions *extensions = getContext().getExtensions())
|
||||
{
|
||||
|
@ -323,21 +294,6 @@ namespace Compiler
|
|||
}
|
||||
}
|
||||
|
||||
if (keyword==Scanner::K_getdisabled || keyword==Scanner::K_getdistance)
|
||||
{
|
||||
if (mAllowExpression)
|
||||
{
|
||||
scanner.putbackKeyword (keyword, loc);
|
||||
parseExpression (scanner, loc);
|
||||
}
|
||||
else
|
||||
{
|
||||
getErrorHandler().warning ("Unexpected naked expression", loc);
|
||||
}
|
||||
mState = EndState;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (const Extensions *extensions = getContext().getExtensions())
|
||||
{
|
||||
char returnType;
|
||||
|
@ -416,13 +372,6 @@ namespace Compiler
|
|||
mState = EndState;
|
||||
return true;
|
||||
|
||||
case Scanner::K_stopscript:
|
||||
|
||||
mExprParser.parseArguments ("c", scanner, mCode);
|
||||
Generator::stopScript (mCode);
|
||||
mState = EndState;
|
||||
return true;
|
||||
|
||||
case Scanner::K_else:
|
||||
|
||||
getErrorHandler().warning ("Stray else", loc);
|
||||
|
@ -487,8 +436,7 @@ namespace Compiler
|
|||
if (mAllowExpression)
|
||||
{
|
||||
if (keyword==Scanner::K_getsquareroot || keyword==Scanner::K_menumode ||
|
||||
keyword==Scanner::K_random || keyword==Scanner::K_scriptrunning ||
|
||||
keyword==Scanner::K_getsecondspassed)
|
||||
keyword==Scanner::K_random || keyword==Scanner::K_getsecondspassed)
|
||||
{
|
||||
scanner.putbackKeyword (keyword, loc);
|
||||
parseExpression (scanner, loc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue