You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Move Variant::evaluate() switch to computed goto
In an effort to make GDScript a little faster replace the double switch() with a computed goto on compilers that set __GNUC__. For compilers that don't support computed goto it will fall back to regular switch/case statements. In addition disable using boolean values in a mathematical context. Now boolean values can only be compared with other booleans. Booleans will also no longer be coerced to integers. This PR replaces #11308 and fixes #11291
This commit is contained in:
@@ -908,7 +908,7 @@ static bool _guess_expression_type(GDCompletionContext &context, const GDParser:
|
||||
Variant::Operator vop = Variant::OP_MAX;
|
||||
switch (op->op) {
|
||||
case GDParser::OperatorNode::OP_ADD: vop = Variant::OP_ADD; break;
|
||||
case GDParser::OperatorNode::OP_SUB: vop = Variant::OP_SUBSTRACT; break;
|
||||
case GDParser::OperatorNode::OP_SUB: vop = Variant::OP_SUBTRACT; break;
|
||||
case GDParser::OperatorNode::OP_MUL: vop = Variant::OP_MULTIPLY; break;
|
||||
case GDParser::OperatorNode::OP_DIV: vop = Variant::OP_DIVIDE; break;
|
||||
case GDParser::OperatorNode::OP_MOD: vop = Variant::OP_MODULE; break;
|
||||
|
||||
Reference in New Issue
Block a user