32c83a228d
Style: Add WARNING: as new comment admonition
2024-09-25 09:44:42 -05:00
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
5350e1beaa
GDScript: Fix locals clearing after exiting while block
2024-07-25 12:10:37 +03:00
8c82fd15d2
GDScript: Fix incorrect setter call for reference types
2024-07-24 10:37:35 +03:00
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
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
9fa13da16f
GDScript: fix segfault on invalid script
2024-05-17 15:26:25 -07:00
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
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
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
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
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
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
c070c12ddd
[GDScript] Clean up some unused code
2024-04-16 15:59:38 +02:00
164b34a734
Don't pass self when calling a static function from a non-static context
2024-04-04 21:15:17 +00:00
27d7760f41
GDScript: Fix uninitialized local variables not being reset
2024-03-30 23:25:30 +03:00
0bcc0e92b3
Merge pull request #86730 from reduz/64-bit-cowdata
...
Promote CowData to 64 bits
2024-01-19 18:46:11 +01:00
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
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
bf1de980e5
Merge pull request #86569 from rune-scape/rune-fix-lambda-hotswap2
...
GDScript: Lambda hotswap fixes
2024-01-05 12:05:32 +01:00
49bce5c9ef
GDScript: Lambda hotswap fixes
2024-01-04 16:33:54 -08:00
10dcb21d8b
GDScript: Fix accessing static function as Callable in static context
2023-12-12 22:19:39 +03:00
5cf0d772bc
Change container_element_type to vector container
2023-12-05 08:51:49 -06:00
9fb8862d73
GDScript: Lambda hot reloading
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com >
2023-10-17 15:52:52 -04:00
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
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
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
aa474c9feb
Merge pull request #75988 from dalexeev/gds-unsafe-call-argument
...
GDScript: Improve call analysis
2023-09-27 19:07:46 +02:00
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
517e9f8aef
[Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-09-26 16:44:52 +02:00
16b024ba82
GDScript: Fix crash with GDScriptNativeClass
2023-09-25 17:09:20 +03:00
16e860bcb3
GDScript: Fix duplication of inherited script properties
2023-09-23 15:30:23 +03:00
e8696f9961
GDScript: Improve call analysis
...
* Add missing `UNSAFE_CALL_ARGUMENT` warning.
* Fix `Object` constructor.
* Display an error for non-existent static methods.
2023-09-21 13:36:39 +03:00
6c1be30836
Merge pull request #81605 from dalexeev/gds-fix-some-lambda-bugs
...
GDScript: Fix some lambda bugs
2023-09-16 21:23:42 +02:00
b1eb737719
GDScript: Fix some lambda bugs
2023-09-14 14:22:23 +03:00
d330f5642e
GDScript: Fix compilation of expressions compiling other classes
...
This PR is part of ongoing work on fixing cyclic dependencies in the GDScript
compiler.
2023-09-12 11:18:33 -04:00
b539bfb263
Merge pull request #81201 from anvilfolk/rpc
...
GDScript: Fix subclass methods not inheriting RPC info
2023-09-12 08:49:33 +02:00
711ffabcfe
GDScript: fix subclass methods not inheriting RPC info
2023-09-11 11:10:07 -04:00
462d8f4752
GDScript: Fix get_*_list() methods return incorrect info
2023-09-04 00:21:03 +03:00
2c77f07aaa
Add a script method to get its class icon
...
Co-authored-by: Danil Alexeev <danil@alexeev.xyz >
2023-08-24 13:05:41 +02:00
6c59ed9485
GDScript: Add static typing for for loop variable
2023-08-17 20:54:34 +03:00
f19377160c
GDScript: Fix regression with native signal not found
2023-08-02 15:42:36 +03:00
3de7dd902c
Merge pull request #79880 from dalexeev/gds-fix-id-shadowing-below
...
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-31 21:01:36 +02:00
efbff1369a
Merge pull request #78254 from dalexeev/gds-fix-property-group-name-conflict
...
GDScript: Fix conflict between property and group names
2023-07-31 21:01:03 +02:00
d53fc92b4c
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-26 11:26:57 +03:00
7d29ac0bf2
GDScript: solve _populate_class_members() cyclic dependency problem
2023-07-08 15:34:20 -04:00
faf3faa8c8
Merge pull request #77744 from dalexeev/gds-reset-block-locals-on-exit
...
GDScript: Reset local variables on exit from block
2023-06-21 21:51:05 +02:00
c211c22abc
Merge pull request #78389 from rune-scape/rune-match-stringnames
...
GDScript: Strings and StringNames match
2023-06-19 21:18:42 +02:00
aebbbda080
GDScript: Fix some bugs with static variables and functions
2023-06-16 22:52:11 +03:00