Commit graph

2589 commits

Author SHA1 Message Date
Rémi Verschelde
1bd0b296e1
Merge pull request #73964 from vonagam/fix-coroutine-compiler-type
GDScript: Fix address type for coroutine results
2023-02-26 16:00:17 +01:00
Rémi Verschelde
92d47f84fe
Merge pull request #73957 from vonagam/fix-binary-op-safety
GDScript: Fix wrong unsafety mark for binary operator
2023-02-26 15:59:54 +01:00
Rémi Verschelde
c118790eb9
Merge pull request #73899 from vnen/gdscript-init-defaults-beforehand
GDScript: Initialize all defaults beforehand in implicit constructor
2023-02-26 15:59:27 +01:00
Dmitrii Maganov
4efaf15605 GDScript: Fix address type for coroutine results 2023-02-26 08:30:46 +02:00
Dmitrii Maganov
638aa4f811 GDScript: Fix wrong unsafety mark for binary operator 2023-02-26 01:35:53 +02:00
George Marques
eba984a44f
Revert "GDScript: Fix groups and categories been seen as members"
This reverts commit 6f2a8434c6.

The commit introduces a bug where it creates spurious entries for member
information.
2023-02-25 13:40:31 -03:00
George Marques
0e6aa6fc38
GDScript: Initialize all defaults beforehand in implicit constructor
Set all the default values for typed variables before actually trying to
initialize them, including `@onready` ones.

This ensures that if validated calls are being used there will be a
value of the correct type, even if the resolution is done out of order
or deferred because of `@onready`.
2023-02-24 22:01:06 -03:00
George Marques
defa46bfd1
GDScript: Don't use validated call for vararg methods
Since they may have runtime type validation, we cannot use the validated
call.
2023-02-24 14:06:02 -03:00
Rémi Verschelde
a6baebc7c2
Fixup GDScript test using non-deterministic ids
Follow-up to #73870.
2023-02-24 14:31:36 +01:00
Rémi Verschelde
7e00cc1f7a
Merge pull request #73870 from vnen/gdscript-dont-reference-group-properties
GDScript: Fix groups and categories been seen as members
2023-02-24 14:08:20 +01:00
George Marques
6f2a8434c6
GDScript: Fix groups and categories been seen as members 2023-02-24 10:03:12 -03:00
Dmitrii Maganov
55c5774be9 GDScript: Fix range regression 2023-02-24 00:35:11 +02:00
Rémi Verschelde
76d80c2cba
Merge pull request #73798 from vonagam/fix-bad-continue-in-lambda
GDScript: Fix parsing unexpected break/continue in lambda
2023-02-23 13:54:56 +01:00
Dmitrii Maganov
b0b1eaeb6d GDScript: Fix parsing unexpected break/continue in lambda 2023-02-23 10:49:06 +02:00
Dmitrii Maganov
7ee011051a GDScript: Fix usage of enum value as range argument 2023-02-23 10:38:53 +02:00
Danil Alexeev
a98a0f5d34
Document @GDScript.is_instance_of method 2023-02-22 17:06:55 +03:00
Rémi Verschelde
56622b8ec3
Merge pull request #73709 from vonagam/fix-error-message-unfound-type
GDScript: Fix error message for unfound type
2023-02-21 23:36:29 +01:00
Rémi Verschelde
d4bec5855e
Merge pull request #73705 from anvilfolk/doublewoopsie
Added check for null objects in gdscript typed assign.
2023-02-21 23:36:06 +01:00
Rémi Verschelde
49c1902a04
Merge pull request #73689 from vnen/gdscript-fix-inheritance-native-class
GDScript: Fix setting native type with script inheritance
2023-02-21 23:35:18 +01:00
Dmitrii Maganov
2a08739f30 GDScript: Fix error message for unfound type 2023-02-21 23:00:29 +02:00
ocean (they/them)
9ddf482a06 Added check for null objects in gdscript typed assign. 2023-02-21 15:29:07 -05:00
Rémi Verschelde
253396ba39
Merge pull request #73693 from vnen/gdscript-fix-script-signature-check
GDScript: Fix override signature check of script inheritance
2023-02-21 21:19:39 +01:00
Rémi Verschelde
31726fa945
Merge pull request #73680 from vnen/gdscript-div-by-zero-crash-fix
GDScript: Avoid validated division operation to test for zero
2023-02-21 21:19:15 +01:00
George Marques
1731010774
GDScript: Fix override signature check of script inheritance
Avoid treating the super class as a meta type for signature check, since
it is looking at the instance level for that.
2023-02-21 14:37:08 -03:00
George Marques
d076c76551
GDScript: Fix setting native type with script inheritance
Sometimes the inheritance tree is compiled out of order and the base
don't have yet a native type set. This is now changed to not rely on the
base script but use the native type set in the datatype, which is
already resolved by the analyzer.
2023-02-21 14:09:10 -03:00
George Marques
0866e6af2d
GDScript: Avoid validated division operation to test for zero
The validated operations for integer division and modulo do not check
for division by zero. This avoids validated operation in these cases to
make sure the check is performed and avoid crashing the engine.
2023-02-21 11:12:45 -03:00
George Marques
91b93465d5
GDScript: Fix crash when autoload script can't be found 2023-02-21 10:45:24 -03:00
mashumafi
8eb837dc3d Add test for const class references 2023-02-20 23:01:32 -05:00
George Marques
c9e49c487d
GDScript: Limit recursion depth for completion functions
Avoid crashing if the completion gets stuck in infinite recursion while
trying to guess the expression type.
2023-02-20 14:55:13 -03:00
Rémi Verschelde
2057d7344e
Merge pull request #73590 from vnen/gdscript-global-scope-enums
Make global scope enums accessible as types in GDScript
2023-02-20 15:41:45 +01:00
Rémi Verschelde
ea2bc9795c
Merge pull request #73544 from mashumafi/fix-func-arg-null
Fix: Func with typed args error when arg is null
2023-02-20 15:41:40 +01:00
Rémi Verschelde
561d949739
Merge pull request #73489 from vonagam/type-check-node
GDScript: Rework type check
2023-02-20 15:41:36 +01:00
Rémi Verschelde
6bf63a3542
Merge pull request #73291 from vonagam/fix-unsafe-weak-binop
GDScript: Fix missing unsafety mark for binary op with weak variables
2023-02-20 15:41:32 +01:00
mashumafi
30d4d3fa5e Fix: Func with typed args error when arg is null 2023-02-19 21:47:48 -05:00
George Marques
75f16b8167
Make global scope enums accessible as types in GDScript
Add functions to CoreConstant so enums can be properly deduced. Also add
the enums in release builds to make consistent with ClassDB enums and
avoid differences in script compilation between debug and release.
2023-02-19 13:00:07 -03:00
Yuri Sizov
78cd5d813b
Merge pull request #73501 from anvilfolk/oopsiedaisy
Fix inability to assign null regression
2023-02-18 04:38:47 +03:00
Yuri Sizov
24344de4f5
Merge pull request #73448 from RandomShaper/fix_sticky_stack
Avoid GDScript bookkeeping from referencing objects longer than necessary
2023-02-17 23:22:20 +03:00
Pedro J. Estébanez
5e9400fa50 Avoid GDScript bookkeeping from referencing objects longer than necessary 2023-02-17 18:59:17 +01:00
Dmitrii Maganov
8fe023ad93 GDScript: Rework type check 2023-02-17 19:57:18 +02:00
ocean (they/them)
9eb4d1e4bf Fix inability to assign null regression
Co-authored-by: Dmitry Maganov <vonagam@gmail.com>
2023-02-17 11:45:56 -05:00
Yuri Sizov
6212da66e8
Merge pull request #72867 from vnen/gdscript-limit-call-depth
GDScript: Add limit to call depth
2023-02-17 17:00:46 +03:00
Yuri Sizov
6e0dd6beca
Merge pull request #72925 from vonagam/fix-enum-typed-array-error
GDScript: Fix error about enum typed arrays
2023-02-17 16:47:50 +03:00
Rémi Verschelde
68807165f4
Merge pull request #73398 from anvilfolk/fix-getter
Fix unset getter return types resulting in strange behavior
2023-02-17 00:31:42 +01:00
Rémi Verschelde
a845553898
Merge pull request #73364 from anvilfolk/fix-freed
Fix crash by freed object assign to typed variable
2023-02-17 00:31:19 +01:00
ocean (they/them)
c45970739e Fix crash by freed object assign to typed variable 2023-02-16 15:17:46 -05:00
Dmitrii Maganov
5972ba17a4 GDScript: Fix infer on read-only property 2023-02-16 15:50:17 +02:00
ocean (they/them)
94dfac8da7 Add return type for GDScript getters 2023-02-15 17:54:38 -05:00
Danil Alexeev
8d3e682f52
GDScript: Fix default value of exported enum variable 2023-02-14 18:07:50 +03:00
Dmitrii Maganov
df6aae2eca GDScript: Fix missing unsafety mark for binary op with weak variables 2023-02-14 17:01:21 +02:00
Micky
436bbfebe2 Tweak @GlobalScope & GDScript's documentation 2023-02-14 13:26:18 +01:00