312 Commits

Author SHA1 Message Date
Danil Alexeev 8299b03c1a GDScript: Fix type deduction for functions without return statements 2026-04-19 12:11:58 +03:00
HolonProduction 3d8ab757d5 GDScript: Use linked list for instance tracking 2026-04-09 15:57:22 +02:00
M4rchyS 03d7644d8b Fix crash in compilation error message 2026-03-28 20:02:12 +01:00
StarryWorm 4ae336740d Add missing resource_*.h includes
Add missing `resource_importer.h` includes
Add missing `resource_loader.h` includes
Add missing `resource_saver.h` includes
2026-03-27 07:03:39 -04:00
Danil Alexeev d0eb19359e GDScript: Fix compiler generates incorrect bytecode for conversion return 2026-03-18 11:44:20 +03:00
Rémi Verschelde 6d309c858e Remove unused includes in modules with clangd-tidy 2026-03-16 16:40:39 +01:00
StarryWorm 357fa00a4a rm class_db.h from resource.h 2026-02-27 19:08:29 -05:00
Danil Alexeev 376b2d8f57 Improve display of non-exported members in Remote Tree Inspector 2026-02-01 12:22:50 +03:00
Lukas Tenbrink 1825e89787 Change copy constructors of HashMap and AHashMap from implicit to explicit. 2026-01-21 13:01:23 +01:00
George Marques 501c5b0900 GDScript: Make check for exposed classes more consistent
Some places were already checking if classes from ClassDB were exposed,
while others didn't. This makes the check more consistent to avoid
disparities which can lead to crashes.
2025-11-25 12:24:18 -03:00
HolonProduction bf7d580e29 Remove raw base pointer from GDScript 2025-10-10 21:55:25 +02:00
Danil Alexeev 5f0ecf4c8c GDScript: Remove some unnecessary booleans
Co-authored-by: HolonProduction <holonproduction@gmail.com>
2025-10-02 13:36:03 +03:00
George Marques 38f8643b00 GDScript: Properly detect native class on static call optimization 2025-07-25 09:17:39 -03:00
Thaddeus Crews 0f05e91889 Merge pull request #82808 from dalexeev/gds-vararg
GDScript: Add support for variadic functions
2025-06-09 17:08:48 -05:00
Danil Alexeev a13fbc6e3e GDScript: Optimize non-constant for-range 2025-06-09 22:04:39 +03:00
Danil Alexeev ee121ef80e GDScript: Add support for variadic functions 2025-06-09 21:53:05 +03:00
Danil Alexeev a7cf2069d5 GDScript: Add abstract methods
Co-authored-by: ryanabx <ryanbrue@hotmail.com>
2025-06-09 20:11:58 +03:00
Rémi Verschelde 0518bd5fee Merge pull request #106683 from dalexeev/gds-remove-leftmost-rightmost-column
GDScript: Remove `leftmost_column` and `rightmost_column` fields
2025-06-05 13:12:02 +02:00
Serhii Snitsaruk e06541eb4c Fix backtrace reporting wrong line numbers in release exports 2025-05-21 17:50:01 +02:00
Danil Alexeev 7aafa6ef18 GDScript: Remove leftmost_column and rightmost_column fields 2025-05-21 18:16:20 +03:00
Aaron Franke 067704f1cd Add a keyword for abstract classes in GDScript
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2025-05-02 00:03:04 -07:00
Lukas Tenbrink fbe64ffb45 Change get_class_static to return StringName.
Use that static `get_class_static` for `_get_class_namev` to avoid duplication.
2025-04-08 23:25:05 +02:00
Thaddeus Crews 4248411baf Merge pull request #102521 from HolonProduction/cancel-await
GDScript: Cancel suspended functions when reloading a script
2025-04-08 12:32:52 -05:00
A Thousand Ships d9721954e6 [Core] Use Vector for MethodInfo::arguments 2025-03-10 13:57:53 +01:00
HolonProduction 676e4c9013 GDScript: Cancel suspended functions when reloading a script 2025-03-06 11:34:40 +01:00
Thaddeus Crews a4f423cc97 Merge pull request #78489 from dalexeev/gds-add-disassembling-implicit-funcs
GDScript: Add disassembling implicit and lambda functions
2024-12-19 19:59:36 -06:00
rune-scape d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
Rémi Verschelde 6e72b159ca Merge pull request #93301 from rune-scape/compiler-messages
GDScript: Add error messages to some compilation errors
2024-11-29 22:45:43 +01:00
rune-scape 9f8fec39f3 GDScript: Add error messages to some compilation errors 2024-11-29 15:37:32 +01:00
Rémi Verschelde 88e81ee730 Fix various typos and code style issues 2024-11-28 17:40:42 +01:00
Danil Alexeev a73573b093 GDScript: Add disassembling implicit and lambda functions 2024-11-26 17:07:21 +03:00
Thaddeus Crews 32c83a228d Style: Add WARNING: as new comment admonition 2024-09-25 09:44:42 -05:00
Thaddeus Crews 9853a69144 Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Danil Alexeev 5350e1beaa GDScript: Fix locals clearing after exiting while block 2024-07-25 12:10:37 +03:00
Danil Alexeev 8c82fd15d2 GDScript: Fix incorrect setter call for reference types 2024-07-24 10:37:35 +03:00
George Marques 87c90a573c GDScript: Call setter on simple setter chain without getter
Fixes a bug where a member variable was being set directly before
calling the setter.
2024-07-09 13:01:59 -03:00
rune-scape 7f7114c008 GDScript: partially allow some functions on invalid scripts
+ always default initialize static variables
+ dont invalidate script when dependant scripts don't compile/resolve
2024-06-02 02:08:26 -07:00
rune-scape 9fa13da16f GDScript: fix segfault on invalid script 2024-05-17 15:26:25 -07:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
Rémi Verschelde 0404e3a85e Merge pull request #84148 from KANAjetzt/fix_crash_take_over_path_named_class
Fix crash when extending taken-over named class
2024-05-07 13:48:36 +02:00
Kai f4192aad6f Fix crash when extending taken-over named class
Added error handling in `_prepare_compilation()` to address cases where the `base_type` cannot be found, preventing a crash.
2024-05-07 08:07:11 +02:00
A Thousand Ships 955d5affa8 Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
George Marques 7ca038effa GDScript: Perform validated calls with static methods
When the types are validated at compile time, this type of call runs
faster. It is already used for instance methods, this adds this
optimization to native static methods as well.
2024-04-25 21:19:40 -03:00
Rémi Verschelde 69a23e64e4 Merge pull request #89990 from dalexeev/gds-reset-uninit-local-vars
GDScript: Fix uninitialized local variables not being reset
2024-04-24 18:54:56 +02:00
A Thousand Ships c070c12ddd [GDScript] Clean up some unused code 2024-04-16 15:59:38 +02:00
Jamie Hill-Daniel 164b34a734 Don't pass self when calling a static function from a non-static context 2024-04-04 21:15:17 +00:00
Danil Alexeev 27d7760f41 GDScript: Fix uninitialized local variables not being reset 2024-03-30 23:25:30 +03:00
Rémi Verschelde 0bcc0e92b3 Merge pull request #86730 from reduz/64-bit-cowdata
Promote CowData to 64 bits
2024-01-19 18:46:11 +01:00
Juan Linietsky 24fe0715b5 Promote CowData to 64 bits
Fixes a lot of bugs, please help me fill the list.
2024-01-19 17:41:10 +01:00