GDScript: Remove unused switch, case and do CF keywords

They had been reserved for future implementation, but we now have the
`match` CF keyword which does the same and more.

According to @reduz `do` was even added by mistake when copying from
the shader language parser, it was never intended to add support for
`do`... `while` loops, as the syntax would be awkward in GDScript,
and the added sugar is not worth it.

Fixes #25787.
This commit is contained in:
Rémi Verschelde 2019-02-19 08:55:04 +01:00
parent 29fd942dd6
commit d35003d92a
5 changed files with 1 additions and 20 deletions

View file

@ -359,9 +359,6 @@ static void _parser_show_block(const GDScriptParser::BlockNode *p_block, int p_i
} break;
case GDScriptParser::ControlFlowNode::CF_MATCH: {
// FIXME: Implement
} break;
case GDScriptParser::ControlFlowNode::CF_SWITCH: {
} break;
case GDScriptParser::ControlFlowNode::CF_CONTINUE: {

View file

@ -1507,9 +1507,6 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo
codegen.opcodes.write[break_addr + 1] = codegen.opcodes.size();
} break;
case GDScriptParser::ControlFlowNode::CF_SWITCH: {
} break;
case GDScriptParser::ControlFlowNode::CF_BREAK: {

View file

@ -445,7 +445,6 @@ public:
CF_IF,
CF_FOR,
CF_WHILE,
CF_SWITCH,
CF_BREAK,
CF_CONTINUE,
CF_RETURN,

View file

@ -80,10 +80,7 @@ const char *GDScriptTokenizer::token_names[TK_MAX] = {
"elif",
"else",
"for",
"do",
"while",
"switch (reserved)",
"case (reserved)",
"break",
"continue",
"pass",
@ -224,9 +221,6 @@ static const _kws _keyword_list[] = {
{ GDScriptTokenizer::TK_CF_ELSE, "else" },
{ GDScriptTokenizer::TK_CF_FOR, "for" },
{ GDScriptTokenizer::TK_CF_WHILE, "while" },
{ GDScriptTokenizer::TK_CF_DO, "do" },
{ GDScriptTokenizer::TK_CF_SWITCH, "switch" },
{ GDScriptTokenizer::TK_CF_CASE, "case" },
{ GDScriptTokenizer::TK_CF_BREAK, "break" },
{ GDScriptTokenizer::TK_CF_CONTINUE, "continue" },
{ GDScriptTokenizer::TK_CF_RETURN, "return" },
@ -291,9 +285,6 @@ bool GDScriptTokenizer::is_token_literal(int p_offset, bool variable_safe) const
case TK_CF_ELSE:
case TK_CF_FOR:
case TK_CF_WHILE:
case TK_CF_DO:
case TK_CF_SWITCH:
case TK_CF_CASE:
case TK_CF_BREAK:
case TK_CF_CONTINUE:
case TK_CF_RETURN:

View file

@ -86,10 +86,7 @@ public:
TK_CF_ELIF,
TK_CF_ELSE,
TK_CF_FOR,
TK_CF_DO,
TK_CF_WHILE,
TK_CF_SWITCH,
TK_CF_CASE,
TK_CF_BREAK,
TK_CF_CONTINUE,
TK_CF_PASS,
@ -118,7 +115,7 @@ public:
TK_PR_REMOTE,
TK_PR_SYNC,
TK_PR_MASTER,
TK_PR_SLAVE,
TK_PR_SLAVE, // Deprecated by TK_PR_PUPPET, to remove in 4.0
TK_PR_PUPPET,
TK_PR_REMOTESYNC,
TK_PR_MASTERSYNC,