mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
Don't generate op_inc whenever its used as an expression.
This commit is contained in:
parent
9b2f4976c9
commit
55c0a748b4
|
|
@ -1083,7 +1083,7 @@ U32 AssignOpExprNode::compile(CodeStream& codeStream, U32 ip, TypeReq type)
|
|||
|
||||
bool oldVariables = arrayIndex || varName[0] == '$';
|
||||
|
||||
if (op == opPLUSPLUS && !oldVariables)
|
||||
if (op == opPLUSPLUS && !oldVariables && type == TypeReqNone)
|
||||
{
|
||||
const S32 varIdx = getFuncVars(dbgLineNumber)->assign(varName, TypeReqFloat, dbgLineNumber);
|
||||
|
||||
|
|
|
|||
|
|
@ -968,6 +968,20 @@ TEST(Script, MiscRegressions)
|
|||
)");
|
||||
|
||||
ASSERT_EQ(regression4.getFloat(), 0.5);
|
||||
|
||||
Con::setBoolVariable("$Debug::DumpByteCode", true);
|
||||
|
||||
ConsoleValue regression5 = RunScript(R"(
|
||||
function noOpInc()
|
||||
{
|
||||
%count = 0;
|
||||
%var[%count++] = 2;
|
||||
return %var[1];
|
||||
}
|
||||
return noOpInc();
|
||||
)");
|
||||
|
||||
ASSERT_EQ(regression5.getInt(), 2);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue