You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 19:41:11 +00:00
Add support for the TAU constant. Fixes #12094.
This commit is contained in:
@@ -337,6 +337,11 @@ void GDScriptLanguage::get_public_constants(List<Pair<String, Variant> > *p_cons
|
||||
pi.second = Math_PI;
|
||||
p_constants->push_back(pi);
|
||||
|
||||
Pair<String, Variant> tau;
|
||||
tau.first = "TAU";
|
||||
tau.second = Math_TAU;
|
||||
p_constants->push_back(tau);
|
||||
|
||||
Pair<String, Variant> infinity;
|
||||
infinity.first = "INF";
|
||||
infinity.second = Math_INF;
|
||||
|
||||
@@ -362,6 +362,13 @@ GDParser::Node *GDParser::_parse_expression(Node *p_parent, bool p_static, bool
|
||||
constant->value = Math_PI;
|
||||
tokenizer->advance();
|
||||
expr = constant;
|
||||
} else if (tokenizer->get_token() == GDTokenizer::TK_CONST_TAU) {
|
||||
|
||||
//constant defined by tokenizer
|
||||
ConstantNode *constant = alloc_node<ConstantNode>();
|
||||
constant->value = Math_TAU;
|
||||
tokenizer->advance();
|
||||
expr = constant;
|
||||
} else if (tokenizer->get_token() == GDTokenizer::TK_CONST_INF) {
|
||||
|
||||
//constant defined by tokenizer
|
||||
|
||||
@@ -1324,6 +1324,7 @@ void GDScriptLanguage::init() {
|
||||
}
|
||||
|
||||
_add_global(StaticCString::create("PI"), Math_PI);
|
||||
_add_global(StaticCString::create("TAU"), Math_TAU);
|
||||
_add_global(StaticCString::create("INF"), Math_INF);
|
||||
_add_global(StaticCString::create("NAN"), Math_NAN);
|
||||
|
||||
@@ -1700,6 +1701,7 @@ void GDScriptLanguage::get_reserved_words(List<String> *p_words) const {
|
||||
"bool",
|
||||
"null",
|
||||
"PI",
|
||||
"TAU",
|
||||
"INF",
|
||||
"NAN",
|
||||
"self",
|
||||
|
||||
@@ -123,6 +123,7 @@ const char *GDTokenizer::token_names[TK_MAX] = {
|
||||
"'$'",
|
||||
"'\\n'",
|
||||
"PI",
|
||||
"TAU",
|
||||
"_",
|
||||
"INF",
|
||||
"NAN",
|
||||
@@ -217,6 +218,7 @@ static const _kws _keyword_list[] = {
|
||||
{ GDTokenizer::TK_CF_PASS, "pass" },
|
||||
{ GDTokenizer::TK_SELF, "self" },
|
||||
{ GDTokenizer::TK_CONST_PI, "PI" },
|
||||
{ GDTokenizer::TK_CONST_TAU, "TAU" },
|
||||
{ GDTokenizer::TK_WILDCARD, "_" },
|
||||
{ GDTokenizer::TK_CONST_INF, "INF" },
|
||||
{ GDTokenizer::TK_CONST_NAN, "NAN" },
|
||||
@@ -280,6 +282,7 @@ bool GDTokenizer::is_token_literal(int p_offset, bool variable_safe) const {
|
||||
case TK_CF_PASS:
|
||||
case TK_SELF:
|
||||
case TK_CONST_PI:
|
||||
case TK_CONST_TAU:
|
||||
case TK_WILDCARD:
|
||||
case TK_CONST_INF:
|
||||
case TK_CONST_NAN:
|
||||
|
||||
@@ -128,6 +128,7 @@ public:
|
||||
TK_DOLLAR,
|
||||
TK_NEWLINE,
|
||||
TK_CONST_PI,
|
||||
TK_CONST_TAU,
|
||||
TK_WILDCARD,
|
||||
TK_CONST_INF,
|
||||
TK_CONST_NAN,
|
||||
|
||||
Reference in New Issue
Block a user