summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gdscript/gdscript_parser.h')
-rw-r--r--modules/gdscript/gdscript_parser.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/gdscript/gdscript_parser.h b/modules/gdscript/gdscript_parser.h
index 43c5a48fa7..7840474a89 100644
--- a/modules/gdscript/gdscript_parser.h
+++ b/modules/gdscript/gdscript_parser.h
@@ -189,6 +189,8 @@ public:
GDScriptParser::DataType get_typed_container_type() const;
+ bool can_reference(const DataType &p_other) const;
+
bool operator==(const DataType &p_other) const {
if (type_source == UNDETECTED || p_other.type_source == UNDETECTED) {
return true; // Can be considered equal for parsing purposes.
@@ -1455,8 +1457,11 @@ private:
}
void apply_pending_warnings();
#endif
- void make_completion_context(CompletionType p_type, Node *p_node, int p_argument = -1);
- void make_completion_context(CompletionType p_type, Variant::Type p_builtin_type);
+ // Setting p_force to false will prevent the completion context from being update if a context was already set before.
+ // This should only be done when we push context before we consumed any tokens for the corresponding structure.
+ // See parse_precedence for an example.
+ void make_completion_context(CompletionType p_type, Node *p_node, int p_argument = -1, bool p_force = true);
+ void make_completion_context(CompletionType p_type, Variant::Type p_builtin_type, bool p_force = true);
// In some cases it might become necessary to alter the completion context after parsing a subexpression.
// For example to not override COMPLETE_CALL_ARGUMENTS with COMPLETION_NONE from string literals.
void override_completion_context(const Node *p_for_node, CompletionType p_type, Node *p_node, int p_argument = -1);