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
George Marques
b4e08eb752
Allow free()
to be used as Callable
...
This method is registered in a special way so ClassDB doesn't naturally
know about its existence. Here it is hardcoded if any other option fail
to check if it is about the `free()` method and, if so, say it exists
and return a Callable.
2024-01-18 09:33:44 -03:00
Rémi Verschelde
bf1de980e5
Merge pull request #86569 from rune-scape/rune-fix-lambda-hotswap2
...
GDScript: Lambda hotswap fixes
2024-01-05 12:05:32 +01:00
rune-scape
49bce5c9ef
GDScript: Lambda hotswap fixes
2024-01-04 16:33:54 -08:00
Danil Alexeev
10dcb21d8b
GDScript: Fix accessing static function as Callable
in static context
2023-12-12 22:19:39 +03:00
Thaddeus Crews
5cf0d772bc
Change container_element_type to vector container
2023-12-05 08:51:49 -06:00
rune-scape
9fb8862d73
GDScript: Lambda hot reloading
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2023-10-17 15:52:52 -04:00
George Marques
4a7d49a89a
GDScript: Replace ptrcalls on MethodBind to validated calls
...
This improves the performance of typed calls to engine methods when the
argument types are exact.
Using validated calls delegate more of the work the core instead of
doing argument unpacking in the VM. It also does not need different
instructions for each return type, simplifying the code.
2023-10-06 11:15:44 -03:00
Yuri Sizov
78483a1df2
Merge pull request #82186 from dalexeev/gds-fix-property-duplication
...
GDScript: Fix duplication of inherited script properties
2023-09-28 20:04:18 +02:00
Yuri Sizov
813cd1dfc8
Merge pull request #80085 from vnen/gdscript-pattern-guards
...
GDScript: Implement pattern guards for match statement
2023-09-28 20:03:57 +02:00
Yuri Sizov
aa474c9feb
Merge pull request #75988 from dalexeev/gds-unsafe-call-argument
...
GDScript: Improve call analysis
2023-09-27 19:07:46 +02:00
George Marques
54a1414500
GDScript: Implement pattern guards for match statement
...
Within a match statement, it is now possible to add guards in each
branch:
var a = 0
match a:
0 when false: print("does not run")
0 when true: print("but this does")
This allows more complex logic for deciding which branch to take.
2023-09-27 11:25:25 -03:00
A Thousand Ships
517e9f8aef
[Modules] Replace ERR_FAIL_COND
with ERR_FAIL_NULL
where applicable
2023-09-26 16:44:52 +02:00
Danil Alexeev
16b024ba82
GDScript: Fix crash with GDScriptNativeClass
2023-09-25 17:09:20 +03:00