mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 16:14:38 +00:00
Don't generate op_inc whenever its used as an expression.
This commit is contained in:
parent
9b2f4976c9
commit
55c0a748b4
2 changed files with 15 additions and 1 deletions
|
|
@ -1083,7 +1083,7 @@ U32 AssignOpExprNode::compile(CodeStream& codeStream, U32 ip, TypeReq type)
|
||||||
|
|
||||||
bool oldVariables = arrayIndex || varName[0] == '$';
|
bool oldVariables = arrayIndex || varName[0] == '$';
|
||||||
|
|
||||||
if (op == opPLUSPLUS && !oldVariables)
|
if (op == opPLUSPLUS && !oldVariables && type == TypeReqNone)
|
||||||
{
|
{
|
||||||
const S32 varIdx = getFuncVars(dbgLineNumber)->assign(varName, TypeReqFloat, dbgLineNumber);
|
const S32 varIdx = getFuncVars(dbgLineNumber)->assign(varName, TypeReqFloat, dbgLineNumber);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -968,6 +968,20 @@ TEST(Script, MiscRegressions)
|
||||||
)");
|
)");
|
||||||
|
|
||||||
ASSERT_EQ(regression4.getFloat(), 0.5);
|
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
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue