Danil Alexeev
43c73b6d8d
GDScript: Allow implicit conversion for preload() argument
2026-07-23 13:52:44 +03:00
aurpine
9a55707735
GDScript: remove temporary when calling void function or uncaptured return value
2026-07-17 23:07:14 -04:00
Thaddeus Crews
9c5136b228
Merge pull request #121371 from nieboczek/release-at-end-of-statement
...
GDScript: Fix not releasing `RefCounted` temporary at end of statement
2026-07-15 18:11:26 -05:00
nieboczek
b76603aa61
GDScript: Fix not releasing RefCounted temporary at end of statement
2026-07-15 15:21:14 +02:00
mattigu
292239db6b
GDScript: Move variable/parameter usage tracking to the analyzer
...
Usage of variables and parameters was previously done in the parser by
incrementing usage whenever an identifier was parsed. This process was
unaware of accessing member variables, which caused the warning to not
be emitted when using a member variable with the same identifier as an
unused local variable.
This change moves the usage counting logic to `reduce_identifier` in the
analyzer which only runs on actual expressions. The warning emission was
also moved later into analyzing since the usage information is collected
later.
2026-07-13 20:08:28 +02:00
Thaddeus Crews
5248091d02
Merge pull request #119080 from aurpine/improve-custom-iterator-performance
...
Improve custom iterator performance
2026-06-30 08:44:50 -05:00
Thaddeus Crews
867f7dadeb
Merge pull request #115461 from HolonProduction/gdscript/noroutine
...
GDScript: Prevent function states from leaking into typed temporaries, when overwriting with coroutines
2026-06-18 15:14:14 -05:00
aurpine
600a18e2ae
Improve object custom iterator performance by removing Array allocations
2026-06-13 22:07:31 -04:00
Danil Alexeev
8299b03c1a
GDScript: Fix type deduction for functions without return statements
2026-04-19 12:11:58 +03:00
Danil Alexeev
7db019d44d
GDScript: Improve PROPERTY_HINT_{ARRAY,DICTIONARY}_TYPE handling
2026-04-09 13:39:57 +03:00
Danil Alexeev
9a78c8bd31
GDScript: Group similar analyzer/runtime error tests into single files
2026-04-02 15:02:10 +03:00
Danil Alexeev
65a7cab928
GDScript: Deprecate type_exists() global function
2026-03-15 12:26:47 +03:00
Danil Alexeev
8a09a2f88c
GDScript: Fix and simplify coroutine stack clearing
2026-03-04 10:50:02 +03:00
Danil Alexeev
ba8b2a1ff0
GDScript: Fix interrupted coroutines not clearing
2026-02-24 12:04:40 +03:00
rune-scape
f3c2397e34
GDScript: Call static methods in native base class
2026-02-19 10:49:02 -08:00
HolonProduction
7c6a17647f
GDScript: Prevent function states from leaking into typed temporaries, when overwriting with coroutines
2026-01-27 16:47:14 +01:00
Danil Alexeev
6d06b3a7d6
GDScript: Improve evaluation of constant expressions with arrays/dictionaries
2026-01-12 11:59:38 +03:00
Danil Alexeev
37f09e579e
Core: Fix implicit conversions in ContainerTypeValidate
2026-01-09 22:54:08 +03:00
Thaddeus Crews
8bc1dd63f4
Merge pull request #107936 from mihe/missing-await-warning
...
Add opt-in GDScript warning for when calling coroutine without `await`
2025-09-30 18:35:05 -05:00
Pāvels Nadtočajevs
b21e6529e6
[GDScript] Fix range helper method using 32-bit ints for arguments.
2025-08-08 20:22:24 +03:00
Mikael Hermansson
a3e58a385f
Add opt-in GDScript warning for when calling coroutine without await
2025-06-27 20:24:41 +02:00
Aaron Franke
1085200f51
GDScript: Replace abstract keyword with @abstract annotation
...
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru >
2025-06-23 12:24:45 -07:00
Danil Alexeev
e2d4469dc2
GDScript: Add missing type conversions in for range
2025-06-11 20:45:47 +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
Thaddeus Crews
86415f1732
Merge pull request #99150 from dalexeev/gds-fix-callable-call-errror-text
...
GDScript: Fix `Callable` call error text
2025-06-09 12:31:39 -05:00
Danil Alexeev
a7cf2069d5
GDScript: Add abstract methods
...
Co-authored-by: ryanabx <ryanbrue@hotmail.com >
2025-06-09 20:11:58 +03:00
Pedro J. Estébanez
6841b45552
Add tests for resource duplication
2025-05-26 17:05:04 +02:00
Malcolm Anderson
d8db03e31a
Fix a few GDScript warning messages for grammar and consistency
...
Regenerate test results
Improve warning message for `INT_AS_ENUM_WITHOUT_CAST`
Improve `REDUNDANT_AWAIT` message and regenerate tests
Allow warning message for UNASSIGNED_VARIABLE_OP_ASSIGN to display specific operator
Remove "being" from some messages to make them consistent and clearer
Update expected test results
Use Variant::get_operator_name for determining string representation of operator instead of big switch-case
Update tests
Update modules/gdscript/gdscript_warning.cpp
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru >
Update tests... again
2025-05-06 20:28:01 -07:00
Danil Alexeev
2b30f23595
GDScript: Fix Callable call error text
2025-05-02 18:30:35 +03:00
Nolkaloid
c1cdaf7b16
Add gdscript tests for callv with const arrays
2025-04-10 23:13:01 +02:00
Danil Alexeev
7d65d0a908
GDScript: Add @warning_ignore_start and @warning_ignore_restore annotations
2024-12-06 15:37:02 +03:00
Rémi Verschelde
b3a44a5567
Merge pull request #99490 from dalexeev/gds-tests-track-multiple-errors
...
GDScript: Support tracking multiple analyzer and runtime errors in tests
2024-11-29 22:02:02 +01:00
Rémi Verschelde
f2f48aaf36
Fix stringification of Projection
2024-11-25 21:10:32 +01:00
kobewi
e210313045
Fix stringification of Vector4
2024-11-22 21:44:30 +01:00
Danil Alexeev
f86dcd4e67
GDScript: Support tracking multiple analyzer and runtime errors in tests
2024-11-21 22:09:50 +03:00
girdenis-p
413490c270
Fix analyzer pushing SHADOWED_VARIABLE warning for members shadowed in subclasses
...
This fixes a bug in the analyzer where it did not push the SHADOWED_VARIABLE_BASE_CLASS
warning for members shadowed by variable in subclass. It does this by comparing the class
which contains the shadowed member with the class containing the variable, and pushing
SHADOWED_VARIABLE only if the classes are the same. Additionally, SHADOWED_VARIABLE_BASE_CLASS
can take an extra symbol which helps to specify the line for non native base class.
2024-11-06 15:04:14 +00:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
...
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Danil Alexeev
4dc568856a
GDScript: Rework GDScriptUtilityFunctions macros
2024-10-25 17:46:38 +03:00
kobewi
5c0f2414cd
Always add decimal when printing float
2024-10-23 15:00:21 +02:00
rune-scape
d3ad99d3d1
GDScriptNativeClass: Allow getting static function as callable
2024-09-23 10:56:53 -07:00
Pedro J. Estébanez
bb77520599
Object: Add tests about the safety of tail destruction
2024-09-16 09:58:47 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Danil Alexeev
c1322d41e6
GDScript: Replace assert() with Utils.check() in tests
2024-08-28 17:41:52 +03:00
Rémi Verschelde
b2facc018a
Merge pull request #94730 from dalexeev/gds-fix-while-locals-clearing
...
GDScript: Fix locals clearing after exiting `while` block
2024-07-26 13:44:09 +02:00
A Thousand Ships
8f3e2c96eb
[Core] Fix Variant::construct of Object
...
Variant type was not updated correctly causing leaks in ref-counted
2024-07-25 12:25:29 +02:00
Danil Alexeev
5350e1beaa
GDScript: Fix locals clearing after exiting while block
2024-07-25 12:10:37 +03:00