597 Commits

Author SHA1 Message Date
Danil Alexeev 30f2a30f9b GDScript: Preserve compatibility for untyped return of _get_property_list() 2026-05-05 10:47:07 +03:00
Thaddeus Crews e998e94ff1 Merge pull request #118002 from dalexeev/gds-warn-confusable-temp-mod
GDScript: Add `CONFUSABLE_TEMPORARY_MODIFICATION` warning
2026-04-21 08:48:12 -05:00
Danil Alexeev 8299b03c1a GDScript: Fix type deduction for functions without return statements 2026-04-19 12:11:58 +03:00
Thaddeus Crews 9cde903388 Merge pull request #118314 from dalexeev/gds-improve-prop-hint-arr-dict-type
GDScript: Improve `PROPERTY_HINT_{ARRAY,DICTIONARY}_TYPE` handling
2026-04-09 17:41:14 -05:00
Danil Alexeev 7db019d44d GDScript: Improve PROPERTY_HINT_{ARRAY,DICTIONARY}_TYPE handling 2026-04-09 13:39:57 +03:00
HolonProduction c5d4e3c10d GDScript: Add tests for Dictionary type tests 2026-04-08 16:04:03 +02:00
Danil Alexeev 9a78c8bd31 GDScript: Group similar analyzer/runtime error tests into single files 2026-04-02 15:02:10 +03:00
Danil Alexeev 080e1d8d1b GDScript: Add CONFUSABLE_TEMPORARY_MODIFICATION warning 2026-03-30 17:45:53 +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 f3c2397e34 GDScript: Call static methods in native base class 2026-02-19 10:49:02 -08:00
Thaddeus Crews de6a487b35 Merge pull request #115705 from dalexeev/improve-non-exported-members-remote-tree
Improve display of non-exported members in Remote Tree Inspector
2026-02-06 08:18:03 -06:00
Leonard Pop 058a46f154 Inherit parent method return types for untyped overrides 2026-02-02 21:34:37 +02:00
Danil Alexeev 376b2d8f57 Improve display of non-exported members in Remote Tree Inspector 2026-02-01 12:22:50 +03: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
Pāvels Nadtočajevs 1ca8f1d7f6 Update ICU to 78.1 2025-12-13 00:04:35 +02: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
Aaron Franke b73597292b Improve error messages for lambda functions without a body 2025-08-18 06:29:20 -07: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
HolonProduction 97b1bc6bda Autocompletion: Don't call const functions 2025-08-05 09:03:10 +02:00
HolonProduction 926cab9027 Autocompletion: Push empty call for lambdas 2025-07-25 20:26:26 +02: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
Thaddeus Crews 25dcf7d2a0 Merge pull request #108306 from Chaosus/gds_fix_super_completion
Fix lookup symbol for `super()`
2025-07-17 10:34:48 -05:00
Thaddeus Crews c977b597b8 Merge pull request #107872 from Thought-Weaver/users/loganapple/editor-caret-fix
[Autocomplete] Avoid prepending literals when the character has already been typed
2025-07-10 11:39:30 -05:00
Chaosus c232b7c717 Fix lookup symbol for super() 2025-07-08 16:21:39 +03:00
HolonProduction d4abc211f1 GDScript: Fix autocompletion issues with nested types 2025-07-08 14:48:21 +02:00
Logan Apple 216c462277 Initial fix for double caret inserting in NodePath
Additional cases where prepending doubles up

Moved code to helper function

Added unit tests

Lookup caret character instead of passing position

Switched to using the parsed type

Adding safety checks and various cleanup
2025-07-07 09:23:32 -07:00
Thaddeus Crews 77b680244d Merge pull request #102186 from HolonProduction/completion-builtin-enum
Improve GDScript editor support for global enums
2025-07-03 12:21:19 -05:00
Thaddeus Crews bad29ef0c7 Merge pull request #107636 from HolonProduction/completion-dont-use-next
Autocompletion: Don't use `next` for `GET_NODE` inference
2025-07-01 17:57:59 -05:00
Thaddeus Crews ee5859b7ae Merge pull request #92584 from HolonProduction/autocompletion-assign-variant
Autocompletion: Fix type resolution when assigning variant
2025-07-01 17:57:51 -05:00
Mikael Hermansson a3e58a385f Add opt-in GDScript warning for when calling coroutine without await 2025-06-27 20:24:41 +02:00
Rémi Verschelde ebc36a7225 Merge pull request #107717 from aaronfranke/abstract-annotation
GDScript: Replace `abstract` keyword with `@abstract` annotation
2025-06-27 17:12:56 +02:00
Thaddeus Crews 4a90220fc9 Merge pull request #107852 from HolonProduction/completion-filter-current-impl
Autocompletion: Don't filter overrides when the existing function is the current one
2025-06-27 09:39:52 -05:00
Thaddeus Crews 7ea1b3aabb Merge pull request #105801 from dalexeev/gds-update-stack-funcs
GDScript: Update `get_stack()`, `print_stack()`, and `print_debug()`
2025-06-24 09:58:47 -05: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
HolonProduction 991c1a85a9 Autocompletion: Don't filter overrides when the existing function is the current one 2025-06-22 16:25:36 +02:00
HolonProduction 49e8d3ff98 Autocompletion: Don't use next for GET_NODE inference 2025-06-17 17:03:59 +02:00
HolonProduction 242b5efd9d Autocompletion: Fix type resolution when assigning variant 2025-06-15 20:17:19 +02:00
HolonProduction af54b13603 Autocompletion: Add support for global enums 2025-06-15 19:41:13 +02:00
Rémi Verschelde ea908f1ab2 Merge pull request #107416 from dalexeev/gds-fix-for-range-assignment
GDScript: Add missing type conversions in `for range`
2025-06-12 22:49:08 +02:00
Rémi Verschelde f400e10011 Merge pull request #107315 from HolonProduction/lsp-brief-fix
LSP: Fix class documentation to include brief
2025-06-12 11:56:42 +02: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