8e8f93cf0c
Display correct symbol in warning when unique name is used without @onready annotation
...
Add tests for `GET_NODE_DEFAULT_WITHOUT_ONREADY` warning with unique nodes
Small modifications to tests
2025-02-06 10:49:08 -08:00
7d65d0a908
GDScript: Add @warning_ignore_start and @warning_ignore_restore annotations
2024-12-06 15:37:02 +03:00
682c5c7d49
GDScript: Fix failing tests due to collision with #99490 formatting change
2024-11-29 23:10:02 +01:00
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
03b05cf9ac
Core: Fix built-in enum constant bindings
2024-11-22 14:03:21 +03:00
f86dcd4e67
GDScript: Support tracking multiple analyzer and runtime errors in tests
2024-11-21 22:09:50 +03:00
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
5c0f2414cd
Always add decimal when printing float
2024-10-23 15:00:21 +02:00
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
...
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
d3be91e6ab
Merge pull request #89675 from dalexeev/gds-correct-unused-signal-warning
...
GDScript: Do not produce `UNUSED_SIGNAL` warning for common implicit uses
2024-09-05 18:34:45 +02:00
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
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
c1322d41e6
GDScript: Replace assert() with Utils.check() in tests
2024-08-28 17:41:52 +03:00
4e051ff6f7
Merge pull request #78178 from dalexeev/gds-add-non-tool-extends-tool-error
...
GDScript: Add warning if non-`@tool` class extends `@tool` class
2024-08-28 13:14:13 +02:00
6e8fa6dd50
GDScript: Fix common mismatched external parser errors
2024-07-31 12:54:16 -07:00
638148a184
GDScript: Fix false positive cases of ENUM_VARIABLE_WITHOUT_DEFAULT
2024-07-22 21:45:01 +03:00
3f52871f70
GDScript: Add warning if non-@tool class extends @tool class
2024-07-04 10:31:01 +03:00
d15ed0bcbb
GDScript: Fix false positive CONFUSABLE_CAPTURE_REASSIGNMENT warnings
2024-06-28 16:41:32 +03:00
68898dbcc9
GDScript: Add CONFUSABLE_CAPTURE_REASSIGNMENT warning
2024-06-28 11:12:01 +03:00
76b2d85c9f
GDScript: Fix some export annotation issues
2024-05-13 17:49:06 +03:00
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
...
Found by apply the file_format checks again via #91597 .
2024-05-08 10:12:46 +02:00
f9b488508c
Add PackedVector4Array Variant type
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2024-05-03 00:58:27 +02:00
8122a27eac
GDScript: Fix access non-static members in static context
2024-05-01 19:55:40 +03:00
f9048fcd7d
GDScript: Warn when enum variable has no default
...
The default will always be set to `0`, so if it's not a valid value in
the enum, the warning is shown.
2024-04-16 11:46:59 -03:00
030995c10d
GDScript: Allow casting enum to int
...
An enum value is always an integer so the cast is valid. The code here
now consider this case to avoid giving an error message.
2024-04-12 11:49:21 -03:00
67076c167d
Merge pull request #90448 from vnen/gdscript-infer-string-format
...
GDScript: Infer type with string format operator
2024-04-10 17:49:49 +02:00
8611fd8400
Merge pull request #90442 from vnen/gdscript-dont-warn-using-default-builtin
...
GDScript: Don't warn on unassigned for builtin-typed variables
2024-04-10 17:49:44 +02:00
877802e252
GDScript: Don't warn on unassigned for builtin-typed variables
...
If the type of a variable is a built-in Variant type, then it will
automatically be assigned a default value based on the type. This means
that the explicit initialization may be unnecessary. Thus this commit
removes the warning in such case.
This also changes the meaning of the unassigned warning to happen when
the variable is used before being assigned, not when it has zero
assignments.
2024-04-10 11:59:57 -03:00
4bdba718c5
GDScript: Infer type with string format operator
...
If the left value type is known to be String, assume the format operator
(`%`) will return a string, since it works with any type in the right
hand side. This is also used by type inference even if the right hand
type is unknown at compile time.
2024-04-10 11:49:30 -03:00
f8ca571efe
Merge pull request #84043 from dalexeev/gds-fix-unsafe-cast-warning
...
GDScript: Fix `UNSAFE_CAST` warning
2024-04-09 22:24:55 +02:00
d1e2afaae3
GDScript: Do not produce UNUSED_SIGNAL warning for common implicit uses
2024-03-19 17:43:10 +03:00
ef1909fca3
GDScript: Fix @warning_ignore annotation issues
2024-03-12 19:00:06 +03:00
21ee3716c2
Merge pull request #82122 from dalexeev/gds-add-export-hidden-annotation
...
GDScript: Add `@export_storage` annotation
2024-02-27 21:22:49 +01:00
2bffa3cbc5
Merge pull request #82639 from golfinq/gdscript-improve-indexing-error
...
GDScript: Improve error messages for invalid indexing
2024-01-04 16:38:58 +01:00
3a3a2011f4
GDScript: Add @export_storage annotation
2023-12-19 20:56:30 +03:00
6e996a597f
GDScript: Fix UNSAFE_CAST warning
2023-10-27 12:42:00 +03:00
7f4721a941
GDScript: Fix non-static call is allowed in static var lambda body
2023-10-20 20:43:07 +03:00
0c2202c56e
GDScript: Fix incorrect error message for utility functions
2023-10-16 14:09:57 +03:00
9e2273abc7
GDScript: Add error when exporting node in non [Node]-derived classes
2023-10-05 13:50:26 +03:00
5efbed51cc
GDScript: Improve error messages for invalid indexing
...
These errors are very common when using an invalid property name
or calling on an object of the wrong type, and the previous message
was a bit cryptic for users.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
Co-authored-by: golfinq <golfinqz@gmail.com >
2023-10-02 14:23:11 -04:00
ba96d4f631
GDScript: Fix UNSAFE_CALL_ARGUMENT warning for Variant constructors
2023-09-30 13:57:09 +03:00
b25f1f9c79
Merge pull request #82477 from dalexeev/gds-covariance-and-contravariance
...
GDScript: Add return type covariance and parameter type contravariance
2023-09-28 20:04:37 +02:00
73252669b1
Merge pull request #82030 from dalexeev/gds-make-for-loop-array-literal-typed
...
GDScript: Make array literal typed if `for` loop variable type is specified
2023-09-28 20:04:12 +02:00
813cd1dfc8
Merge pull request #80085 from vnen/gdscript-pattern-guards
...
GDScript: Implement pattern guards for match statement
2023-09-28 20:03:57 +02:00
cb8b89fd95
GDScript: Add return type covariance and parameter type contravariance
2023-09-28 12:27:36 +03:00
aa474c9feb
Merge pull request #75988 from dalexeev/gds-unsafe-call-argument
...
GDScript: Improve call analysis
2023-09-27 19:07:46 +02:00
54a1414500
GDScript: Implement pattern guards for match statement
...
Within a match statement, it is now possible to add guards in each
branch:
var a = 0
match a:
0 when false: print("does not run")
0 when true: print("but this does")
This allows more complex logic for deciding which branch to take.
2023-09-27 11:25:25 -03:00
ceda13720b
Check if any global script class is shadowed by a variable
2023-09-26 16:47:17 +08:00
10b00bc2ea
GDScript: Prevent constructing and inheriting engine singletons
2023-09-22 17:30:00 +03:00