|
@@ -333,6 +333,7 @@ public:
|
|
virtual DataType get_datatype() const { return datatype_cache; }
|
|
virtual DataType get_datatype() const { return datatype_cache; }
|
|
|
|
|
|
VariableNode() {
|
|
VariableNode() {
|
|
|
|
+
|
|
type = TYPE_VARIABLE;
|
|
type = TYPE_VARIABLE;
|
|
datatype_cache = TYPE_VOID;
|
|
datatype_cache = TYPE_VOID;
|
|
}
|
|
}
|
|
@@ -643,6 +644,12 @@ private:
|
|
const DataType args[MAX_ARGS];
|
|
const DataType args[MAX_ARGS];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ struct BuiltinFuncOutArgs { //arguments used as out in built in funcions
|
|
|
|
+
|
|
|
|
+ const char *name;
|
|
|
|
+ int argument;
|
|
|
|
+ };
|
|
|
|
+
|
|
CompletionType completion_type;
|
|
CompletionType completion_type;
|
|
int completion_line;
|
|
int completion_line;
|
|
BlockNode *completion_block;
|
|
BlockNode *completion_block;
|
|
@@ -653,6 +660,7 @@ private:
|
|
bool _get_completable_identifier(BlockNode *p_block, CompletionType p_type, StringName &identifier);
|
|
bool _get_completable_identifier(BlockNode *p_block, CompletionType p_type, StringName &identifier);
|
|
|
|
|
|
static const BuiltinFuncDef builtin_func_defs[];
|
|
static const BuiltinFuncDef builtin_func_defs[];
|
|
|
|
+ static const BuiltinFuncOutArgs builtin_func_out_args[];
|
|
bool _validate_function_call(BlockNode *p_block, OperatorNode *p_func, DataType *r_ret_type);
|
|
bool _validate_function_call(BlockNode *p_block, OperatorNode *p_func, DataType *r_ret_type);
|
|
|
|
|
|
bool _parse_function_arguments(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, OperatorNode *p_func, int *r_complete_arg = NULL);
|
|
bool _parse_function_arguments(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, OperatorNode *p_func, int *r_complete_arg = NULL);
|