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
Thaddeus Crews
4b80850721
Merge pull request #120891 from mattigu/fix/unused-variable
...
GDScript: Fix attribute access falsely counting as local usage
2026-07-15 11:53:24 -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
2cd047c26d
Merge pull request #119932 from dalexeev/gds-add-checks-for-abstract-classes
...
GDScript: Add missing runtime checks for abstract class instantiation
2026-07-13 10:37:48 -05: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
fish
0eecb08580
Change type validation error messages to be more readable
...
# Conflicts:
# core/variant/container_type_validate.h
2026-06-24 21:04:09 -07: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
a7ef3cc3b8
GDScript: Add missing runtime checks for abstract class instantiation
2026-06-02 12:36:33 +03:00
Danil Alexeev
30f2a30f9b
GDScript: Preserve compatibility for untyped return of _get_property_list()
2026-05-05 10:47:07 +03: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
d0eb19359e
GDScript: Fix compiler generates incorrect bytecode for conversion return
2026-03-18 11:44:20 +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 and rune-scape
f3c2397e34
GDScript: Call static methods in native base class
2026-02-19 10:49:02 -08:00
Leonard Pop
058a46f154
Inherit parent method return types for untyped overrides
2026-02-02 21:34:37 +02: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
Shadows_of_Fire
b18beb2cc2
Elide unnecessary copies in CONSTRUCT_TYPED_* opcodes
2025-09-20 00:00:18 -07:00
aaronp64
2b855d831d
Add more Array tests
...
Added more tests for Array, focusing on methods exposed to gdscript that didn't have tests.
2025-08-30 13:12:16 -04: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
George Marques
81c7cae567
GDScript: Don't get invalid dictionary key during completion
...
We try to get the value out of a dictionary in order to establish its
type for completion purposes. However, if the dictionary or the key
is not a constant, we cannot safely get the actual value, so we skip
this and just try to infer from static typing.
Getting the value directly with `Variant::get()` generate errors if the
base is a Dictionary and the key is of an invalid type. So before trying
to get it we use the Dictionary validator to make sure it we can safely
try to get the key.
2025-07-24 15:02:40 -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 and Danil Alexeev
1085200f51
GDScript: Replace abstract keyword with @abstract annotation
...
Co-authored-by: Danil Alexeev <[email protected] >
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 and ryanabx
a7cf2069d5
GDScript: Add abstract methods
...
Co-authored-by: ryanabx <[email protected] >
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 <[email protected] >
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
HolonProduction
676e4c9013
GDScript: Cancel suspended functions when reloading a script
2025-03-06 11:34:40 +01: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
682c5c7d49
GDScript: Fix failing tests due to collision with #99490 formatting change
2024-11-29 23:10:02 +01: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
Chaosus
0524e29b5c
Fix crash when division by zero/modulo by zero happen on vectors
2024-11-21 20:24:43 +03:00