ocean (they/them)
729c9b4d4b
GDScript: Add check for super()
methods not being implemented
2023-09-17 16:21:28 -04:00
ryanabx
ceda960131
Remove REDUNDANT_FOR_VARIABLE_TYPE
...
Remove REDUNDANT_FOR_VARIABLE_TYPE
2023-09-12 20:04:32 -05:00
Rémi Verschelde
5c43e4c1ef
Fix various typos with codespell
...
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Yuri Sizov
b6c4efe1b1
Merge pull request #80964 from dalexeev/gds-allow-use-local-consts-as-types
...
GDScript: Allow use local constants as types
2023-08-25 21:26:44 +02:00
Danil Alexeev
68a567bd13
GDScript: Allow use local constants as types
2023-08-25 17:04:04 +03:00
Danil Alexeev
89429b0273
GDScript: Fix lambda resolution with cyclic references
2023-08-25 16:29:11 +03:00
Danil Alexeev
6c59ed9485
GDScript: Add static typing for for
loop variable
2023-08-17 20:54:34 +03:00
Rémi Verschelde
4f00f925b3
Merge pull request #78552 from dalexeev/gds-check-get-node-in-static-func
...
GDScript: Check `get_node()` shorthand in static functions
2023-08-17 11:20:32 +02:00
Danil Alexeev
fb45cab133
GDScript: Fix "Identifier not found" error when accessing inner class from inside
2023-08-11 11:22:01 +03:00
Danil Alexeev
0f27c4ad80
GDScript: Check get_node()
shorthand in static functions
2023-08-09 17:11:38 +03:00
Danil Alexeev
d53fc92b4c
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-26 11:26:57 +03:00
jpcerrone
13c73500ab
Fix for not being able to ignore shadowing warnings on class scope
2023-07-24 17:22:12 -03:00
Aaron Franke
6a8a9cd279
Change GDScript tests to use InstancePlaceholder as the example abstract
2023-07-15 18:28:08 -05:00
ocean (they/them)
6c28b8edd3
GDScript: fix regression when checking for virtual function implementation.
...
Unfortunately it appears the virtual function checks in #77324 are not
trustworthy at runtime, because objects can have scripts attached, but
this information is not always available at compile-time. These checks
need to be removed.
The rest of the PR is still useful, making all method flags available to
the analyzer, so a full revert isn't necessary/desirable.
This reopens #76938 , which will need another solution.
2023-06-21 15:13:45 -04:00
Rémi Verschelde
ae00187b58
Merge pull request #77129 from dalexeev/gds-fix-static-var-bugs-part-1
...
GDScript: Fix some bugs with static variables and functions
2023-06-19 21:18:18 +02:00
Rémi Verschelde
1a62f1e4fc
Merge pull request #74741 from vnen/variant-not-for-everyone
...
Allow boolean operators for all Variant types
2023-06-18 16:28:10 +02:00
Danil Alexeev
aebbbda080
GDScript: Fix some bugs with static variables and functions
2023-06-16 22:52:11 +03:00
ocean (they/them)
861743cd04
GDScript: add errors when calling unimplemented virtual functions
...
This PR does a small refactor of how method flags are handled in the GDScript analyzer.
This way, it adds support for the analyzer to use any of MethodInfo's flags, where previously
it could only use METHOD_FLAG_STATIC and METHOD_FLAG_VARARG.
As a side-effect, this also normalizes behavior between editor and release templates, which fixes #76938 .
The tests added also brought a different issue to light, where using `super()` appears to generate a
return variable discarded on calling super's _init(), which doesn't have a return value. This should be
tackled in a different PR, which will have to change the output of this PR's tests.
2023-06-15 07:16:31 -04:00
Rémi Verschelde
3a319daa99
Merge pull request #77351 from anvilfolk/super-discard
...
GDScript: do not RETURN_VALUE_DISCARDED for `super()` inside `_init()`
2023-06-15 10:39:59 +02:00
Rémi Verschelde
8b62c52d1c
Merge pull request #75419 from vonagam/fix-super-classes-in-array-literals
...
GDScript: Allow elements of a parent class in a typed array literal
2023-06-14 09:23:32 +02:00
ocean (they/them)
25c90836fd
GDScript: do not warn of return value discarded for super() inside _init()
...
DO NOT BATCH MERGE WITH #77324 , WILL RESULT IN BROKEN CI
Currently, calling super() inside _init() throws a
RETURN_VALUE_DISCARDED warning. The analyzer identifies super() as being a
constructor, which therefore returns an object of the relevant class.
However, super() isn't really a constructor by itself: in this case, it
is _part_ of the constructor, and so doesn't "return" a value.
A test case for this is already in #77324 , which contains the warning. I
am duplicating it here, without the warning, and it should conflict with
the other PR.
2023-05-22 09:29:34 -04:00
Danil Alexeev
3bf72be625
GDScript: Fix calling static func from non-static is allowed
2023-05-17 10:25:03 +03:00
Danil Alexeev
c2fbb40e9a
GDScript: Fix warning ignoring for member variables
2023-05-12 17:43:58 +03:00
Rémi Verschelde
f37fc4e708
Merge pull request #76412 from dalexeev/gds-reorganize-warnings
...
GDScript: Reorganize and unify warnings
2023-04-28 18:45:48 +02:00
Rémi Verschelde
f374390fc1
Merge pull request #75014 from vonagam/assert-literal-false
...
GDScript: Allow usage of literal false in assert without a warning
2023-04-28 18:45:00 +02:00
Danil Alexeev
13310f3557
GDScript: Reorganize and unify warnings
2023-04-28 18:25:11 +03:00
George Marques
0ba6048ad3
Add support for static variables in GDScript
...
Which allows editable data associated with a particular class instead of
the instance. Scripts with static variables are kept in memory
indefinitely unless the `@static_unload` annotation is used or the
`static_unload()` method is called on the GDScript.
If the custom function `_static_init()` exists it will be called when
the class is loaded, after the static variables are set.
2023-04-27 09:51:44 -03:00
Rémi Verschelde
54b0e8123e
Merge pull request #75605 from anvilfolk/type-base
...
Make GDScript type not found errors more informative.
2023-04-24 16:43:32 +02:00
Danil Alexeev
66279b98b6
GDScript: Add missing member type check when resolving extends
2023-04-10 17:16:07 +03:00
VolTer
f832eb92e4
Fix mistakes in documentation and GDScript errors
2023-04-10 10:00:09 +02:00
ocean (they/them)
5d164df4e1
Make type not found errors more informative.
...
This PR removes a check for whether a datatype is a meta type when
generating a datatype's to_string() result. This means that error
messages that fail to find the type will now print their class names,
which is much more useful when trying to identify errors.
2023-04-02 18:30:30 -04:00
Dmitrii Maganov
8655d979a1
GDScript: Allow elements of a parent class in a typed array literal
2023-03-28 13:47:24 +03:00
Yuri Sizov
215893ebca
Merge pull request #74949 from dalexeev/gds-fix-await-warning
...
GDScript: Fix false positive `REDUNDANT_AWAIT` warning
2023-03-20 19:14:15 +01:00
Yuri Sizov
5461b9976c
Merge pull request #74844 from vonagam/change-class-extends-parsing
...
GDScript: Change parser representation of class extends
2023-03-20 19:13:23 +01:00
Dmitrii Maganov
5d0b183822
GDScript: Allow usage of literal false in assert without a warning
2023-03-17 05:37:56 +02:00
Danil Alexeev
c0eeb32e38
GDScript: Fix false positive REDUNDANT_AWAIT
warning
2023-03-16 14:04:14 +03:00
Dmitrii Maganov
4e34cf238a
GDScript: Change parser representation of class extends
2023-03-13 01:40:13 +02:00
Dmitrii Maganov
703274fd04
GDScript: Fix missing warning for shadowing of built-in types
2023-03-13 00:49:34 +02:00
George Marques
d76b3f2a4c
GDScript: Allow boolean operators between any types
...
To make consistent with previous behavior. Mostly to be used in
conditions for `if` and `while`.
2023-03-10 16:01:17 -03:00
Danil Alexeev
ea5fd3d732
Fix GDScript code style regarding colon
2023-03-05 17:03:20 +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
Dmitrii Maganov
55c5774be9
GDScript: Fix range regression
2023-02-24 00:35:11 +02:00
Dmitrii Maganov
7ee011051a
GDScript: Fix usage of enum value as range argument
2023-02-23 10:38:53 +02: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
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
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
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
561d949739
Merge pull request #73489 from vonagam/type-check-node
...
GDScript: Rework type check
2023-02-20 15:41:36 +01:00