Kaydet (Commit) 50d100f4 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Make a separate method to detemine if an opcode is a jump command.

Jump to make it a bit more pleasant to follow the code...

Change-Id: Ie9bef122e8bb63a2d8cc54acc9c8ddc9ac9a2e8a
üst 8d3295bd
......@@ -805,6 +805,21 @@ bool FormulaCompiler::IsOpCodeVolatile( OpCode eOp )
return bRet;
}
bool FormulaCompiler::IsOpCodeJumpCommand( OpCode eOp )
{
switch (eOp)
{
case ocIf:
case ocIfError:
case ocIfNA:
case ocChose:
return true;
default:
;
}
return false;
}
// Remove quotes, escaped quotes are unescaped.
bool FormulaCompiler::DeQuote( OUString& rStr )
{
......@@ -1241,9 +1256,7 @@ void FormulaCompiler::Factor()
|| eOp == ocOr
|| eOp == ocBad
|| ( eOp >= ocInternalBegin && eOp <= ocInternalEnd )
|| ( bCompileForFAP
&& ( eOp == ocIf || eOp == ocIfError || eOp == ocIfNA || eOp == ocChose ) )
)
|| (bCompileForFAP && IsOpCodeJumpCommand(eOp)))
{
pFacToken = mpToken;
OpCode eMyLastOp = eOp;
......@@ -1291,7 +1304,7 @@ void FormulaCompiler::Factor()
pFacToken->SetByte( nSepCount );
PutCode( pFacToken );
}
else if (eOp == ocIf || eOp == ocIfError || eOp == ocIfNA || eOp == ocChose)
else if (IsOpCodeJumpCommand(eOp))
{
// the PC counters are -1
pFacToken = mpToken;
......
......@@ -231,6 +231,7 @@ public:
{ bCompileForFAP = bVal; bIgnoreErrors = bVal; }
static bool IsOpCodeVolatile( OpCode eOp );
static bool IsOpCodeJumpCommand( OpCode eOp );
static bool DeQuote( OUString& rStr );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment