summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "platform", ↵Robin Hübner2019-08-091-24/+9
| | | | "modules/gdnative", "modules/gdscript" directories.
* Remove unnecessary code and add some error explanationsqarmin2019-07-011-1/+1
|
* Some code changed with Clang-Tidyqarmin2019-06-261-1/+1
|
* Merge pull request #27886 from LeonardMeagher2/obj_to_stringRémi Verschelde2019-05-201-0/+22
|\ | | | | Allow overriding how scripted objects are converted to strings
| * Allow overriding how scripted objects are converted to stringsLeonard Meagher2019-05-031-0/+22
| | | | | | | | | | | | | | | | | | | | solves #26796 - ADD `String to_string()` method to Object which can be overriden by `String _to_string()` in scripts - ADD `String to_string(r_valid)` method to ScriptInstance to allow langauges to control how scripted objects are converted to strings - IMPLEMENT to_string for GDScriptInstance, VisualScriptInstance, and NativeScriptInstance - ADD Documentation about `Object.to_string` and `Object._to_string` - Changed `Variant::operator String` to use `obj->to_string()`
* | Fix typos with codespellRémi Verschelde2019-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* | Fix slight issues with autocompletion and member lists in GDScriptBojidar Marinov2019-05-021-1/+1
| | | | | | | | | | Fixes #27152 Fixes #28591
* | GDScript: add variable shadowing warninglupoDharkael2019-04-151-0/+5
|/
* Replace a few #if/#elif with #ifdef and "#elif defined"Ignacio Etcheverry2019-04-051-1/+1
|
* Fix typo in GDScript narrowing conversion warning messageHugo Locurcio2019-03-081-1/+1
| | | | This closes #26790.
* Close file handles after use of new get_as_utf8_strings, fixes #26578Juan Linietsky2019-03-041-3/+4
|
* Add a dependency search mode for GDScript parserGeorge Marques2019-03-031-49/+87
| | | | | | | | - This mode avoids loading any other resource. - Search for class_name now uses this mode, to avoid loading in the scan thread. - Implement get_dependencies() for GDScript loader, now exporting dependencies only should include the preloaded resources.
* Merge pull request #26034 from QbieShay/issue_25596Rémi Verschelde2019-02-281-1/+2
|\ | | | | Inheriting from virtual class no longer causes the engine to crash.
| * Inheriting from virtual class no longer causes the engine to crash, it ↵QbieShay2019-02-271-1/+2
| | | | | | | | | | | | prints an error instead. Co-authored-by: Hein-Pieter van Braam <hp@tmm.cx>
* | Add -Wshadow=local to warnings and fix reported issues.marxin2019-02-201-4/+4
|/ | | | Fixes #25316.
* Fix exported property values being lost if base GDScript fails to parseIgnacio Etcheverry2019-02-141-1/+1
|
* Ensure get script method list also checks base classes, fixes #23384Juan Linietsky2019-01-251-8/+13
|
* GDScript: don't allow calling non-static function from scriptGeorge Marques2019-01-231-1/+2
|
* Merge pull request #24877 from neikeq/issue-24280Rémi Verschelde2019-01-101-15/+22
|\ | | | | Fix properties being lost when reloading placeholder GDScript instance
| * Fix properties being lost when reloading placeholder GDScript instanceIgnacio Etcheverry2019-01-101-15/+22
| | | | | | | | | | | | | | During reloading in `GDScriptLanguage::reload_all_scripts` a placeholder instance that must remain so is replaced with a new placeholder instance. The state is then restored by calling `ScriptInstance::set` for each property. This does not work if the script is missing the properties due to build/parse failing. The fix for such cases is to call `placeholder_set_fallback` instead of `set` on the script instance. I took this chance to move the `build_failed` flag from `PlaceHolderScriptInstance` to `Script`. That improves the code a lot. I also renamed it to `placeholder_fallback_enabled` which is a much better name (`build_failed` could lead to misunderstandings).
* | Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* Allow signal connecting even if script is invalid (only when compiled with ↵Juan Linietsky2018-11-271-1/+0
| | | | tools), fixes #17070
* Merge pull request #22953 from DualMatrix/properties_goneRémi Verschelde2018-11-221-18/+27
|\ | | | | Fixed parents export vars not appearing in inspector if parent is class_name.
| * Fixed parents properties not appearing in inspector if parent is class_name.DualMatrix2018-10-121-18/+27
| | | | | | | | Fixed parents properties not appearing in inspector if parent is class_name.
* | Fix GDScript placeholder fallbackIgnacio Etcheverry2018-11-101-0/+7
| |
* | Merge pull request #22779 from Superwaitsum/LimitSettingsRémi Verschelde2018-10-251-2/+2
|\ \ | | | | | | Limit several project settings
| * | Add some limits on the Editor SettingsSuperwaitsum2018-10-241-2/+2
| |/
* / Optional getters/setters editor autocompleteJakub Grzesik2018-10-231-0/+1
|/ | | | solves #22291
* Fix warnings about unhandled enum value in switch [-Wswitch]Rémi Verschelde2018-09-271-0/+1
| | | | | | | | | | | Fixes GCC 5 warnings of the form: core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch] core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch] Those can be trivial cases where adding a default fallback is the solution, or more complex issues/hidden bugs where missed values are actually meant to be handled.
* GDScript: Revert extra deletion when creating instanceGeorge Marques2018-09-191-4/+1
| | | | | Revert part of e4af39cbc00446b03d142882a69813e94f0838b2 that was causing a crash.
* Add GDScript slave keyword deprecation warning.Fabio Alessandrelli2018-09-151-0/+5
|
* Rename slave keyword to puppetFabio Alessandrelli2018-09-151-1/+2
| | | | | The slave keyword will still be available as deprecated in 3.1 but will be dropped from future releases.
* Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde2018-09-131-3/+3
|\ | | | | Misc. typos
| * Misc. typosluz.paz2018-09-121-3/+3
| | | | | | Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
* | Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-6/+6
|/ | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Fix crash when extending non-existing GDScript fileRémi Verschelde2018-09-101-11/+2
| | | | | | Fixes #21682 with a partial revert of #21411. The ~Ref() destructor (from 'scriptres') already takes care of freeing the 'script' resource.
* Fixes several resource leaks in ...Crazy-P2018-08-261-4/+22
| | | | | | | | - gdscript - gdscript_compiler - regex - android/export - gles3/rasterizer (scene and storage)
* Make some debug prints verbose-only, remove othersRémi Verschelde2018-08-241-31/+5
|
* GDScript: Show warning messages only on debuggerGeorge Marques2018-08-211-3/+5
| | | | Don't show on console/output anymore.
* Fix error spam from loading script class iconsWill Nations2018-08-151-1/+1
|
* Add custom icons to script classes.Will Nations2018-08-141-1/+7
|
* Merge pull request #20583 from neikeq/issue-15371Rémi Verschelde2018-08-141-23/+31
|\ | | | | Fix case where exported properties value is lost
| * Fix case where exported properties value is lostIgnacio Etcheverry2018-07-291-23/+31
| | | | | | | | | | | | | | | | | | | | Fixes exported property modified values lost when creating a placeholder script instance with a failed script compilation - Object set/get will call PlaceHolderScriptInstance's new fallback set/get methods as a last resort. This way, placeholder script instances can keep the values for storage or until the script is compiled successfuly. - Script::can_instance() will only return true if a real script instance can be created. Otherwise, in the case of placeholder script instances, it will return false. - Object::set_script(script) is now in charge of requesting the creation of placeholder script instances. It's no longer Script::instance_create(owner)'s duty. - PlaceHolderScriptInstance has a new method set_build_failed(bool) to determine whether it should call into its script methods or not. - Fixed a few problems during reloading of C# scripts.
* | Added system for GDScript warningsGeorge Marques2018-08-101-0/+172
|/ | | | | | | - Count and panel per script. - Ability to disable warnings per script using special comments. - Ability to disable warnings globally using Project Settings. - Option to treat enabled warnings as errors.
* Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam2018-07-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Use type information to enable GDScript introspectionGeorge Marques2018-07-201-12/+8
| | | | | This makes the Script API provide accurate information when requesting property or method info.
* Add typed instructions to GDScriptGeorge Marques2018-07-201-1/+5
| | | | | | | - 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.
* Move inheritance resolution to the parserGeorge Marques2018-07-201-2/+34
|
* Add typing syntaxGeorge Marques2018-07-201-0/+2
|
* Global class names (and GDScript support for it)Juan Linietsky2018-07-151-0/+45
|