GDScript: Allow "match" to be used as an identifier
This is needed to call the String.match() function.
This commit is contained in:
parent
d45e1befe3
commit
9ecd042e78
|
@ -156,6 +156,18 @@ const char *GDScriptTokenizer::Token::get_name() const {
|
|||
return token_names[type];
|
||||
}
|
||||
|
||||
bool GDScriptTokenizer::Token::is_identifier() const {
|
||||
// Note: Most keywords should not be recognized as identifiers.
|
||||
// These are only exceptions for stuff that already is on the engine's API.
|
||||
switch (type) {
|
||||
case IDENTIFIER:
|
||||
case MATCH: // Used in String.match().
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
String GDScriptTokenizer::get_token_name(Token::Type p_token_type) {
|
||||
ERR_FAIL_INDEX_V_MSG(p_token_type, Token::TK_MAX, "<error>", "Using token type out of the enum.");
|
||||
return token_names[p_token_type];
|
||||
|
|
|
@ -168,9 +168,8 @@ public:
|
|||
String source;
|
||||
|
||||
const char *get_name() const;
|
||||
// TODO: Allow some keywords as identifiers?
|
||||
bool is_identifier() const { return type == IDENTIFIER; }
|
||||
StringName get_identifier() const { return literal; }
|
||||
bool is_identifier() const;
|
||||
StringName get_identifier() const { return source; }
|
||||
|
||||
Token(Type p_type) {
|
||||
type = p_type;
|
||||
|
|
Loading…
Reference in New Issue