summaryrefslogtreecommitdiff
path: root/modules/gdscript/gdscript_function.cpp
AgeCommit message (Collapse)Author
2018-07-25GDScript: Fix type detection on Object typed assignGeorge Marques
Also make typed assigns a debug-only thing, so release builds are more lenient on errors.
2018-07-25GDScript: Allow strict conversion when assigning typed variablesGeorge Marques
2018-07-25GDScript: Fix returned value of get_default_argument_count()George Marques
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-20Add typed instructions to GDScriptGeorge Marques
- Typed assignment (built-in, native, and script). - Cast (built-in conversion; native and script checks). - Check type of functions arguments on call. - Check type of members on set.
2018-07-20Add static type checks in the parserGeorge Marques
- Resolve types for all identifiers. - Error when identifier is not found. - Match return type and error when not returning a value when it should. - Check unreachable code (code after sure return). - Match argument count and types for function calls. - Determine if return type of function call matches the assignment. - Do static type check with match statement when possible. - Use type hints to determine export type. - Check compatibility between type hint and explicit export type.
2018-06-28Fix memory leak in GDScript during infinnity loops with yieldsYasha Borevich
2018-05-29Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-29Revert "RPCMode refactor, more sync modes"Max Hilbrunner
2018-05-26Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-14Merge pull request #18545 from vnen/editor-autoloadJuan Linietsky
Enable autoload in editor
2018-05-01Fix a crash when trying to run Godot debugger on a release build.Brian Richardson
The GDScriptLanguage::enter_function is wrapped in #ifdef DEBUG but the exit_function is not, resulting in a stack underflow error.
2018-05-01Enable autoload in editorGeorge Marques
- Tool scripts will be executed and can be accessed by plugins. - Other script languages can implement add/remove_named_global_constant to make use of this functionality.
2018-04-22Change ".." punctuation for "..." in editor strings (#16507)Hugo Locurcio
2018-03-14completed-signal is emitted by all GDScriptFunctionStates of a coroutine ↵Lars Kokemohr
now, allowing to yield for completion of a function with more than one yield inside.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-03Merge pull request #15089 from poke1024/funcref-warnRémi Verschelde
Warn about funcref creation
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-26Warn about funcref creationBernhard Liebl
2017-12-17Cleanup some #if 0'd codeRémi Verschelde
2017-12-10Style: Re-apply clang-format over recent invalid additionsRémi Verschelde
2017-12-07Fixed is_playing funtion (was reporting wrong), closes #13928Juan Linietsky
Made error reporting to opcode_set in gdscript a bit clearer
2017-12-07Style: Apply new clang-format 5.0 style to all filesRémi Verschelde
2017-11-16GDScript: Refactor "GD" class prefix to "GDScript"Rémi Verschelde