Yufeng Ying
a43f90b89d
Remove unused variable in GDScriptLanguage.
2024-12-20 00:48:06 +08:00
Rémi Verschelde
4866c4a8c5
Merge pull request #99925 from Mickeon/documentation-no-static-typing-yet
...
Remove uses of static typing from the documentation
2024-12-17 16:19:08 +01:00
Danil Alexeev
80d11500b5
Code Editor: Add documentation tooltips
2024-12-15 10:51:33 +03:00
Thaddeus Crews
9c290c4c56
Merge pull request #100033 from Daylily-Zeleen/daylily-zeleen/optimize_callable_to_string
...
Optimize callable's stringify text.
2024-12-12 16:13:23 -06:00
Thaddeus Crews
ab208af781
Merge pull request #100174 from Calinou/gdscript-add-deprecated-experimental-annotations
...
Tweak unknown annotation GDScript error for `@deprecated`/`@experimental`/`@tutorial`
2024-12-11 17:35:50 -06:00
Thaddeus Crews
8f16f864a6
Merge pull request #99765 from dalexeev/core-fix-json-from-to-native
...
Core: Fix `JSON.{from,to}_native()` issues
2024-12-10 14:15:53 -06:00
Thaddeus Crews
79dd5179e3
Merge pull request #99887 from JackErb/gdscript-parser-error-fix
...
Improve misleading `Unexpected "x" in class body.` GDScript parser error
2024-12-10 14:15:50 -06:00
JackErb
13fcb05e7b
Improve GDScript "unexpected token in class body" parser error
...
This parser error was misleading.
Fixes:
1. Now points at correct line
2. For identifiers, prints out `Identifier "%s"`
2024-12-09 21:01:46 -08:00
Hugo Locurcio
6095a37d64
Tweak unknown annotation GDScript error for `@deprecated`/`@experimental`/`@tutorial`
...
These annotations don't exist at a source level, so the error messages
point to the documentation comment syntax.
2024-12-09 22:18:35 +01:00
Thaddeus Crews
a372214a4a
Merge pull request #76020 from dalexeev/gds-warning-ignore-regions
...
GDScript: Add `@warning_ignore_start` and `@warning_ignore_restore` annotations
2024-12-09 14:33:38 -06:00
Lukas Tenbrink
b5c31ebb41
Add contains_char() for single-character 'contains' calls.
2024-12-06 20:23:35 +01:00
Danil Alexeev
7d65d0a908
GDScript: Add `@warning_ignore_start` and `@warning_ignore_restore` annotations
2024-12-06 15:37:02 +03:00
Daylily-Zeleen
614a51f293
Optimize callable's stringify text.
2024-12-05 14:24:39 +08:00
Thaddeus Crews
1719f8ed3d
Merge pull request #99834 from kiroxas/passLengthToParseUTF8
...
Ensure `parse_utf8` has length of string passed in when available
2024-12-03 14:41:06 -06:00
Thaddeus Crews
cb1b743e59
Merge pull request #99861 from Ryan-000/Fix-language-server-thread-crash
...
Fix language server causing random crashes when `use_threads` is enabled
2024-12-03 14:40:47 -06:00
Ryan
8dd330dee7
Fix language server thread crash
...
Co-Authored-By: Adam Scott <ascott.ca@gmail.com>
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-02 10:31:15 -05:00
Micky
109fcbb43a
Remove uses of static typing from the documentation
2024-12-02 15:56:46 +01:00
Rémi Verschelde
702f567138
Merge pull request #98533 from dalexeev/adjust-make-rst-for-gds
...
Adjust `make_rst.py` for GDScript documentation
2024-12-02 15:50:26 +01:00
rune-scape
d58b2e879f
Get rid of easily removable uses of const_cast
2024-12-01 17:50:13 -08:00
Kiro
83d4bde0a2
When calling code has length of string, pass it to parse_utf8
2024-12-01 08:31:22 +01:00
Danil Alexeev
ba943e4481
Adjust `make_rst.py` for GDScript documentation
2024-11-30 11:48:14 +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
6e72b159ca
Merge pull request #93301 from rune-scape/compiler-messages
...
GDScript: Add error messages to some compilation errors
2024-11-29 22:45:43 +01:00
Rémi Verschelde
56a7dba10b
Merge pull request #99799 from akien-mga/fix-typos
...
Fix various typos and code style issues
2024-11-29 22:02:53 +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
rune-scape
9f8fec39f3
GDScript: Add error messages to some compilation errors
2024-11-29 15:37:32 +01:00
Danil Alexeev
bd1a35ce9e
Core: Fix `JSON.{from,to}_native()` issues
2024-11-29 12:43:06 +03:00
Rémi Verschelde
88e81ee730
Fix various typos and code style issues
2024-11-28 17:40:42 +01:00
Thaddeus Crews
6eca2aa8d6
Merge pull request #99295 from HolonProduction/yet-another-lsp-violation
...
LSP: Fix spec violations that break the VSCode outline
2024-11-27 10:47:18 -06:00
Danil Alexeev
a73573b093
GDScript: Add disassembling implicit and lambda functions
2024-11-26 17:07:21 +03:00
Rémi Verschelde
f2f48aaf36
Fix stringification of Projection
2024-11-25 21:10:32 +01:00
Thaddeus Crews
9b5c7e9efa
Merge pull request #99545 from KoBeWi/Vector4.0
...
Fix stringification of Vector4
2024-11-25 13:22:33 -06:00
Thaddeus Crews
ea3154a0d4
Merge pull request #99424 from dalexeev/core-fix-builtin-enum-const-binds
...
Core: Fix built-in enum constant bindings
2024-11-22 14:54:31 -06:00
kobewi
e210313045
Fix stringification of Vector4
2024-11-22 21:44:30 +01:00
Danil Alexeev
03b05cf9ac
Core: Fix built-in enum constant bindings
2024-11-22 14:03:21 +03:00
Lazy-Rabbit-2001
ae853e1a42
Improve GDScript autocompletion for methods
2024-11-22 18:24:45 +08: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
A Thousand Ships
68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters
2024-11-17 10:02:18 +01:00
HolonProduction
2f620db1d8
LSP: Fix spec violations that break the VSCode outline
2024-11-15 20:00:28 +01:00
Thaddeus Crews
e9ce3932b3
Merge pull request #98099 from dalexeev/pot-gen-add-comment-support
...
POT Generator: Add support for `TRANSLATORS:` and `NO_TRANSLATE` comments
2024-11-15 10:42:45 -06:00
HolonProduction
a389eb4608
Add back `AnimationPlayer.get_argument_options`
2024-11-15 13:06:59 +01:00
Thaddeus Crews
4d4353179e
Merge pull request #97218 from wenqiangwang/local_debuggger_expr_evalulation
...
Add support for `print` command in local (command line `-d`) debugger
2024-11-12 12:13:13 -06:00
Thaddeus Crews
2c31bd767c
Merge pull request #99020 from Mickeon/documentation-example-pruning-2
...
Clean up more `[b]Example:[/b]` lines from the class reference
2024-11-12 09:28:02 -06:00
Danil Alexeev
4d3e2c78b6
Document exporting nested subgroups
2024-11-11 17:24:37 +03:00
Micky
932b1c434c
Clean up more `[b]Example:[/b]` lines from the class reference
2024-11-11 12:05:34 +01:00
girdenis-p
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
Thaddeus Crews
bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
...
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
...
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Thaddeus Crews
8004c7524f
Merge pull request #98301 from aaronp64/gdscript_validate_property
...
Avoid unnecessary `Dictionary` conversions in `GDScriptInstance::validate_property`
2024-10-29 19:26:02 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
...
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Thaddeus Crews
2584f75537
Merge pull request #96499 from beev1s/shallow-script-cache-error
...
Fix resource loader not resolving shallow loaded scripts through dependencies
2024-10-25 13:04:09 -05:00
Thaddeus Crews
7da6d6032b
Merge pull request #96927 from HolonProduction/completion-inner-class-base-crash
...
Autocompletion: Don't use owner for inner classes
2024-10-25 13:03:53 -05:00
Adam Scott
0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Danil Alexeev
4dc568856a
GDScript: Rework `GDScriptUtilityFunctions` macros
2024-10-25 17:46:38 +03:00
Clay John
b5368d5e40
Merge pull request #98356 from dustdfg/gdscript_endif_readability_comments
...
Add some comments to `#endif's` where it helps readability
2024-10-24 19:11:42 -07:00
Clay John
38f2144f85
Merge pull request #98400 from rune-scape/fix-typed-dict-cached-parser
...
GDScript: Fix cached parser error when using typed Dictionaries
2024-10-24 18:54:12 -07:00
Thaddeus Crews
3c7fb9fe7f
Merge pull request #98169 from HolonProduction/only-highlight-exposed
...
GDScript: Don't highlight unexposed classes
2024-10-24 13:23:04 -05:00
Thaddeus Crews
7444da766a
Merge pull request #97374 from rune-scape/get-native-static-callable
...
GDScriptNativeClass: Allow getting static function as callable
2024-10-24 13:23:01 -05:00
kobewi
5c0f2414cd
Always add decimal when printing float
2024-10-23 15:00:21 +02:00
Brian Huynh
360b84bad5
Clarification to the description of Global scope in regards to GDScript
...
Previous wording said that @GDScript referred to entries that could be accessed in any script. Although with common sense we could imagine that it is only refering to GDScript specific pieces of code, the wording is a little unclear.
In general there are small changes to the wording which makes it more clear and concise.
Wording change
Tried to match the wording up with my last change which should make it a bit easier to parse at a glance what the docs mean by "from any script"
Changed language from "not specific to" to "which work in any language"
After consulting multiple people the new wording seems easier to parse, even for non coders
Update doc/classes/@GlobalScope.xml
Update modules/gdscript/doc_classes/@GDScript.xml
Update modules/gdscript/doc_classes/@GDScript.xml
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-10-23 02:10:03 -04:00
rune-scape
eb8b9898c9
GDScript: Fix cached parser error when using typed Dictionaries
2024-10-22 02:13:16 -07:00
Thaddeus Crews
55aeff19dc
Merge pull request #98146 from HolonProduction/this-error-does-not-apply-to-unrecognized-annotations
...
GDScript: Fix annotation parsing adding new annotation entries
2024-10-21 16:39:24 -05:00
Thaddeus Crews
5fb22327ee
Merge pull request #97542 from AThousandShips/dict_sort_fix
...
[Core] Fix sorting of `Dictionary` keys
2024-10-21 16:39:05 -05:00
Yevhen Babiichuk (DustDFG)
8c29ef38fc
Add some comments to #endif's where it will easier life
...
Also added some new line to improve readability
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2024-10-21 14:31:45 +03:00
aaronp64
aa1d469ffb
Avoid unnecessary Dictionary conversions in GDScriptInstance::validate_property
...
Updated GDScriptInstance::validate_property to only convert PropertyInfo to Dictionary if _validate_property function is found.
2024-10-18 12:10:19 -04:00
A Thousand Ships
79f654ced5
[Core] Fix sorting of `Dictionary` keys
...
`StringName` keys were sorted as `StringName` which is unstable.
2024-10-18 08:47:05 +02:00
HolonProduction
e999f11d53
GDScript: Don't highlight unexposed classes
2024-10-14 14:57:16 +02:00
HolonProduction
140c6a612e
GDScript: Fix annotation parsing adding new annotation entries
2024-10-13 22:43:06 +02:00
HolonProduction
16aae0d7a7
Autocompletion: Don't use owner for inner classes
2024-10-13 18:20:27 +02:00
Danil Alexeev
cab80cb97d
POT Generator: Add support for `TRANSLATORS:` and `NO_TRANSLATE` comments
2024-10-13 11:40:11 +03:00
Danil Alexeev
0bc59c78de
GDScript: Add missing static default initialization for typed dictionaries
2024-10-11 13:23:34 +03:00
Chaosus
54f6a1bf64
Fix lookup symbol for enum members to search a correct code definition
2024-10-08 22:46:44 +03:00
Haoyu Qiu
8086894a8e
Create `.editorconfig` file only on project creation
2024-10-05 14:32:55 +08:00
Danil Alexeev
6286f9d21d
GDScript: Fix `GDScriptCache::get_full_script()` uses non-remapped path
2024-10-03 17:14:44 +03:00
Rémi Verschelde
903c3bc154
Merge pull request #97727 from SlugFiller/llvm-computed-goto
...
Enable use of Labels as Values feature in Clang when not wrapped by GCC
2024-10-02 23:56:48 +02:00
Rémi Verschelde
336d91551d
Merge pull request #97281 from reptofrog/deadzone-new-default
...
Input: Change the default deadzone value for new actions from 0.5 to 0.2
2024-10-02 15:01:02 +02:00
Rémi Verschelde
0b2446101c
Merge pull request #96693 from HolonProduction/annotation-arg-hint
...
Autocompletion: Add arghint for annotations
2024-10-02 15:00:58 +02:00
Rémi Verschelde
7f1f9799c5
Merge pull request #92263 from HolonProduction/autocompletion-get-node-set-value-if-type-compatible
...
Autocompletion: Keep `get_node` values which are compatible with type hint
2024-10-02 15:00:42 +02:00
SlugFiller
f14af8b2d5
Enable use of Labels as Values feature in Clang when not wrapped by GCC
2024-10-02 15:22:37 +03:00
Roman Morozov
d532eecc81
Changed the default deadzone value for new actions from 0.5 to 0.2
2024-10-01 16:47:44 +04:00
Wenqiang
9a94353fa3
Added support for 'print' command in local (command line -d) debugger
2024-09-28 13:28:07 -07:00
Danil Alexeev
85dfd89653
Add `@export_tool_button` annotation for easily creating inspector buttons
...
Co-authored-by: jordi <creptthrust@gmail.com>
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Co-authored-by: Mack <86566939+Macksaur@users.noreply.github.com>
2024-09-27 22:24:15 +01:00
Rémi Verschelde
991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
...
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +02:00
Thaddeus Crews
32c83a228d
Style: Add `WARNING:` as new comment admonition
2024-09-25 09:44:42 -05:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
rune-scape
d3ad99d3d1
GDScriptNativeClass: Allow getting static function as callable
2024-09-23 10:56:53 -07:00
Haoyu Qiu
a751c05b15
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 00:05:16 +08:00
Thaddeus Crews
b37fc1014a
Style: Apply new `clang-format` changes
2024-09-20 08:09:48 -05:00
Rémi Verschelde
cf539911f1
Merge pull request #97087 from aaronp64/lambda_capture_alloc
...
Speed up lambda capture handling
2024-09-17 09:18:11 +02:00
aaronp64
e2b6d92e27
Speed up lambda capture handling
...
Updated GDScriptLambdaCallable::call and GDScriptLambdaSelfCallable::call to use alloca instead of Vector when using captures, to avoid extra allocation/copy_on_write calls on each lambda function call.
2024-09-16 15:47:58 -04:00
Rémi Verschelde
964a9ec03b
Merge pull request #96684 from HolonProduction/that-was-a-bit-too-smart
...
LSP: Don't use smart resolve for completion
2024-09-16 15:25:44 +02:00
Rémi Verschelde
41066484ff
Merge pull request #96965 from Repiteo/style/gdscript-editorconfig
...
Style: Consolidate & migrate GDScript `.editorconfig`
2024-09-16 13:35:25 +02:00
Rémi Verschelde
f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
...
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Rémi Verschelde
08c5ce1d9c
Merge pull request #96797 from Repiteo/core/typed-dictionary-bracket-fix
...
Core: Fix `operator[]` for typed dictionaries
2024-09-16 13:35:02 +02:00
Rémi Verschelde
3b714ded01
Merge pull request #96725 from HolonProduction/lsp-omit
...
LSP: Omit some values based on specification version 3.17
2024-09-16 13:34:50 +02:00
Rémi Verschelde
8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
...
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Pedro J. Estébanez
bb77520599
Object: Add tests about the safety of tail destruction
2024-09-16 09:58:47 +02:00
Hilderin
46edd6df55
Fix script properties reload from external editor
2024-09-14 15:07:53 -04:00
Moritz Burgdorff
fd5fc9f3ee
Fixed resource loader using not fully loaded scripts
2024-09-14 17:21:32 +02:00
Thaddeus Crews
bf811db6c8
Style: Consolidate & migrate GDScript `.editorconfig`
...
• Moved to test project root so a new `.editorconfig` isn't constantly generated.
• Disable attributes only in the files which use invalid syntax deliberately
2024-09-13 11:12:17 -05:00
Thaddeus Crews
b3d7960df4
Core: Fix `operator[]` for typed dictionaries
2024-09-12 11:10:17 -05:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
...
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
Mikael Hermansson
e120792760
Fix issue with GDScript binary tokens being non-deterministic
2024-09-11 14:58:08 +02:00
Rémi Verschelde
1ff2186fe9
Merge pull request #96666 from aXu-AP/unique-node-no-quotes
...
Remove unneeded quotes from autocomplete % nodes
2024-09-11 12:35:00 +02:00
HolonProduction
4d713d91b5
LSP: Omit some values based on specification version 3.17
2024-09-08 21:07:19 +02:00
HolonProduction
00dfd568e0
Autocompletion: Add arghint for annotations
2024-09-07 20:47:34 +02:00
aXu-AP
2525311538
Remove unneeded quotes from autocomplete % nodes
...
Removes unnecessary quotes for suggestions like $"%MyNode".
2024-09-07 17:49:20 +03:00
HolonProduction
8155c1f836
LSP: Don't use smart resolve for completion
2024-09-07 16:23:25 +02:00
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
...
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Rémi Verschelde
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
Ryan
8835f326b1
Expose get_rpc_config and get_node_rpc_config
...
add documentation
Update doc/classes/Node.xml
change name of get_node_rpc_config to get_rpc_config
Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Rémi Verschelde
dbdc4eb204
Merge pull request #96330 from rune-scape/little-regression
...
GDScript: Fix small mistake in script valid checks
2024-09-04 18:55:31 +02:00
Rémi Verschelde
721d280b8a
Merge pull request #96326 from HolonProduction/completion-hacks-and-fixes
...
Autocompletion: Reintroduce enum options on assignment
2024-09-04 18:55:27 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
A Thousand Ships
194bdde947
Cleanup of raw `nullptr` checks with `Ref`
...
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
boywaste
7014c5b27d
GDScript: Fix small mistake in script valid checks
2024-08-30 19:41:02 -07:00
Danil Alexeev
49bcdf78a7
Core: Сheck `r_error` after calling `callp()`
2024-08-30 21:09:30 +03:00
HolonProduction
171c522290
Autocompletion: reintroduce enum options on assignment
2024-08-30 13:46:48 +02:00
Rémi Verschelde
2e4c07bfe0
Merge pull request #96229 from dalexeev/gds-replace-assert-in-tests
...
GDScript: Replace `assert()` with `Utils.check()` in tests
2024-08-30 11:43:05 +02:00
rune-scape
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
Hilderin
ef6f873938
Fix editor needs restart after adding GDExtensions
2024-08-29 06:15:32 -04:00
Aina
930742f8b3
Fix missing GDScriptParser reference on completion context
2024-08-28 17:03:12 -03:00
Danil Alexeev
c1322d41e6
GDScript: Replace `assert()` with `Utils.check()` in tests
2024-08-28 17:41:52 +03:00
Rémi Verschelde
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
Rémi Verschelde
6eb1d3cf98
Merge pull request #94888 from rune-scape/no-const-cast-gdscript-parser
...
GDScriptParser: Avoid `const_cast` of `AnnotationNode`
2024-08-28 00:12:35 +02:00
Rémi Verschelde
9f70823eec
Merge pull request #94012 from KoBeWi/reload_everything_to_update_one_line
...
Allow live reloading of built-in scripts
2024-08-28 00:11:53 +02:00
Rémi Verschelde
3eba191c9e
Merge pull request #96160 from HolonProduction/dict-fix
...
Autocompletion: Enable string literal completion in subscripts
2024-08-27 16:55:31 +02:00
Rémi Verschelde
9dfc41568a
Merge pull request #95984 from timothyqiu/what-identifier
...
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
HolonProduction
c824403853
Autocompletion: enable string literal completion in subscripts
2024-08-27 13:02:09 +02:00
Danil Alexeev
2d8f6c1b1d
GDScript: Fix message when calling non-tool function in tool mode
2024-08-27 12:30:15 +03:00
Haoyu Qiu
8bf4ecc026
Add `String.is_valid_unicode_identifier()`
...
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde
4a798ad85d
Merge pull request #95749 from Mickeon/documentation-example-pruning
...
Remove empty `[b]Example:[/b]` lines from the class reference
2024-08-26 23:29:00 +02:00
Rémi Verschelde
2c14f3ef95
Merge pull request #79378 from HolonProduction/autocompletion-index
...
Improve autocompletion for indices
2024-08-26 22:44:40 +02:00
HolonProduction
ccbdb34a2a
Improve autocompletion for indices
2024-08-26 14:42:22 +02:00
Pedro J. Estébanez
f4d76853b9
WorkerThreadPool (plus friends): Overhaul unlock allowance zones
...
This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.
2024-08-21 12:22:52 +02:00
Rémi Verschelde
f45421204c
Merge pull request #95764 from passivestar/gdscript-syntax-highlighter
...
Expose GDScript syntax highlighter to editor plugins
2024-08-20 10:02:35 +02:00
Rémi Verschelde
58505b0bce
Merge pull request #94082 from HolonProduction/completion-force
...
Autocompletion: Rework argument options string literal completion
2024-08-20 10:01:52 +02:00
passivestar
3fe644de86
Expose GDScript syntax highlighter to editor plugins
2024-08-19 16:36:55 +04:00
Micky
4ce5856384
Remove empty `[b]Example:[/b]` lines from the class reference
2024-08-19 01:00:52 +02:00
Micky
e80c44dbe7
Fix some invalid code in GDScript class reference
2024-08-19 00:55:51 +02:00
Rémi Verschelde
cc894e59ea
Merge pull request #95408 from alesliehughes/gdscitp_debug_statement
...
GDScript: Only include profiling variables when DEBUG is enabled
2024-08-16 14:34:01 +02:00
Alistair Leslie-Hughes
f489c313cc
gdscript: Only include profiling variables when DEBUG is enabled
2024-08-12 10:14:42 +10:00
Hilderin
d199f1f0d5
Fix resolve class inheritance after file rename
2024-08-10 19:21:24 -04:00
rune-scape
e680369d5b
GDScript: Fix too many calls to 'remove_parser'
...
+fix excessive memory allocations when 'load'ing many dependant scripts
+fix excessive calls to vformat
2024-08-03 20:52:44 -07:00
rune-scape
6e8fa6dd50
GDScript: Fix common mismatched external parser errors
2024-07-31 12:54:16 -07:00
rune-scape
22f43b7879
Avoid const_cast in GDScriptParser
2024-07-28 08:04:25 -07:00
Rémi Verschelde
b2facc018a
Merge pull request #94730 from dalexeev/gds-fix-while-locals-clearing
...
GDScript: Fix locals clearing after exiting `while` block
2024-07-26 13:44:09 +02:00
Rémi Verschelde
7805220fef
Merge pull request #90134 from AThousandShips/construct_fix
...
[Core] Fix `Variant::construct` of `Object`
2024-07-26 13:43:54 +02:00
Rémi Verschelde
2a61a2fa2f
Merge pull request #89274 from 0x0ACB/unchecked_cast
...
Fix use after free in `GDScriptLanguage::debug_get_globals`
2024-07-26 13:43:48 +02:00
A Thousand Ships
8f3e2c96eb
[Core] Fix `Variant::construct` of `Object`
...
Variant type was not updated correctly causing leaks in ref-counted
2024-07-25 12:25:29 +02:00
Danil Alexeev
5350e1beaa
GDScript: Fix locals clearing after exiting `while` block
2024-07-25 12:10:37 +03:00
Rémi Verschelde
f2918c73cf
Revert "GDScript: Fix common mismatched external parser errors"
...
This reverts commit c75225ffb2 .
This caused a crashing regression for multiple users:
https://github.com/godotengine/godot/pull/94617#issuecomment-2247868580
2024-07-25 09:20:23 +02:00
Rémi Verschelde
022d702bc0
Merge pull request #94678 from rune-scape/clear-abandoned-parser-refs
...
GDScriptCache: Clear abandoned parser refs
2024-07-24 13:03:27 +02:00
Rémi Verschelde
77e18da5ff
Merge pull request #94674 from dalexeev/gds-fix-incorrect-setter-call-for-ref-types
...
GDScript: Fix incorrect setter call for reference types
2024-07-24 10:17:45 +02:00
Rémi Verschelde
d342df79d5
Merge pull request #94676 from rune-scape/test-oops
...
GDScriptTestRunner: Fix compiler error output
2024-07-24 09:59:34 +02:00
Rémi Verschelde
f361133601
Merge pull request #94664 from dalexeev/gds-fix-make-arguments-hint
...
GDScript: Fix incorrect default values in `_make_arguments_hint()`
2024-07-24 09:59:28 +02:00
Rémi Verschelde
e91725f490
Merge pull request #94617 from rune-scape/fix-mismatched-parsers
...
GDScript: Fix common mismatched external parser errors
2024-07-24 09:59:19 +02:00
Rémi Verschelde
7708f0e163
Merge pull request #85382 from HolonProduction/in-case-of-a-script
...
GDScript: Generate `arghint` for script types
2024-07-24 09:59:08 +02:00
Danil Alexeev
8c82fd15d2
GDScript: Fix incorrect setter call for reference types
2024-07-24 10:37:35 +03:00
rune-scape
298904d74e
GDScriptTestRunner: Fix compiler error output
2024-07-23 12:59:22 -07:00
rune-scape
86b23d0420
GDScriptCache: Clear abandoned parser refs
2024-07-23 12:54:45 -07:00
rune-scape
c75225ffb2
GDScript: Fix common mismatched external parser errors
2024-07-23 12:25:23 -07:00
Danil Alexeev
37a3a98fde
GDScript: Fix incorrect default values in `_make_arguments_hint()`
2024-07-23 19:35:42 +03:00
Danil Alexeev
638148a184
GDScript: Fix false positive cases of `ENUM_VARIABLE_WITHOUT_DEFAULT`
2024-07-22 21:45:01 +03:00
Rémi Verschelde
60966f5bcf
Merge pull request #94505 from mihe/speed-up-gdscript-shutdown
...
Speed up `GDScriptLanguage::finish`
2024-07-18 15:38:29 +02:00
Rémi Verschelde
fefd9537e6
Merge pull request #94424 from HolonProduction/completion-fix-depended-parsers
...
Autocompletion: Register depended parsers with the main parser
2024-07-18 15:38:20 +02:00
Mikael Hermansson
6852f9497c
Speed up `GDScriptLanguage::finish`
2024-07-18 12:30:45 +02:00
HolonProduction
4699e69708
Autocompletion: register depended parsers with the main parser
2024-07-18 12:16:28 +02:00
Rémi Verschelde
c2b91e2986
Merge pull request #94327 from HolonProduction/underscore_identifier
...
GDScript: Restore support for `Token::UNDERSCORE` in identifiers
2024-07-17 11:44:01 +02:00
Rémi Verschelde
ab67408390
Merge pull request #94238 from RandomShaper/ref_is_now_rc
...
Make errors on `RefCounted.free()` more accurate
2024-07-17 11:43:32 +02:00
Rémi Verschelde
aefd91ae42
Merge pull request #94138 from vnen/gdscript-simple-setter-chain-call-setter
...
GDScript: Call setter on simple setter chain without getter
2024-07-17 11:43:15 +02:00
HolonProduction
06e732c3ed
GDScript: Restore support for `Token::UNDERSCORE` in identifiers
2024-07-15 10:04:11 +02:00
Pedro J. Estébanez
76bfe8e0fd
Make errors on RefCounted.free() more accurate
2024-07-15 08:51:42 +02:00
HolonProduction
402bdfa3b7
Generate `arghint` for script types
2024-07-13 10:47:26 +02:00
HolonProduction
9a84387017
Autocompletion: Keep get_node values which are compatible with type hint
2024-07-12 12:32:30 +02:00
Rémi Verschelde
fe5d567917
Merge pull request #93942 from MikeSchulze/73525
...
Fix GDScript analyzer error when instantiating EditorPlugins.
2024-07-11 09:41:09 +02:00
baptr
810fcc7431
Fix gdscript analyzer error when instantiating EditorPlugins.
...
Editor code is not instantiable outside of the editor
(1d14c054a1/core/object/class_db.cpp (L369) ).
This is fine for editor plugins and the like, but the GDScript analyzer
balks at it, causing F5 runs to fail: #73525 .
Instead, we really just want to know if the type is abstract - so add
a new ClassDB method to check that and nothing else.
Update core/object/class_db.cpp
Apply code review comments
Co-Authored-By: Bryce <1522777+baptr@users.noreply.github.com>
2024-07-10 10:24:57 +02:00
George Marques
87c90a573c
GDScript: Call setter on simple setter chain without getter
...
Fixes a bug where a member variable was being set directly before
calling the setter.
2024-07-09 13:01:59 -03:00
Rémi Verschelde
26d1577f39
Merge pull request #94131 from dalexeev/gds-fix-mismatched-parser-autoloads
...
GDScript: Fix "Mismatched external parser" for autoloads
2024-07-09 16:47:32 +02:00
Rémi Verschelde
92320c9b73
Merge pull request #94025 from dalexeev/gds-fix-implicit-cast-typed-array-param
...
GDScript: Fix implicit cast to typed array when passing parameter
2024-07-09 16:47:20 +02:00
Danil Alexeev
110c4d4067
GDScript: Fix "Mismatched external parser" for autoloads
2024-07-09 16:16:45 +03:00
Rémi Verschelde
daba91d8c6
Merge pull request #93897 from akien-mga/vformat-better-error-message
...
Core: Improve `vformat` error reporting on `sprintf` failure
2024-07-09 00:03:17 +02:00
A Thousand Ships
f68ab70a6a
[GDScript] Fix `get_method` for lambda self `Callable`s
2024-07-08 18:01:54 +02:00
HolonProduction
0abd0ae364
Autocompletion: rework argument options string literal completion
2024-07-08 17:53:36 +02:00
Rémi Verschelde
88296701fb
Merge pull request #93815 from HolonProduction/comletion-variant-lookup
...
Autocompletion: Don't use `in` operator to decide over variant lookup
2024-07-08 11:48:17 +02:00
Danil Alexeev
b4cb7ec2bb
GDScript: Fix implicit cast to typed array when passing parameter
2024-07-07 13:43:09 +03:00
kobewi
5636518358
Allow live reloading of built-in scripts
2024-07-06 23:43:37 +02:00
A Thousand Ships
aa28782be3
[GDScript] Fix `get_argument_count` for lambda `Callable`s
2024-07-05 13:53:56 +02:00
Rémi Verschelde
496b7b8482
Core: Improve vformat error reporting on sprintf failure
...
And fix a few occurrences of formatting errors that led me to this.
2024-07-04 10:54:55 +02:00
Danil Alexeev
3f52871f70
GDScript: Add warning if non-`@tool` class extends `@tool` class
2024-07-04 10:31:01 +03:00
Rémi Verschelde
1ebd12ac5f
Merge pull request #92616 from rune-scape/rune-invalidate-parser-chain
...
GDScript: Invalidate cached parser chain when reloading
2024-07-02 17:27:25 +02:00
HolonProduction
70488d40db
Autocompletion: Don't use `in` operator to decide over variant lookup
2024-07-01 15:57:03 +02:00
Rémi Verschelde
47776856d6
Merge pull request #93699 from dalexeev/gds-fix-false-positive-capture-warnings
...
GDScript: Fix false positive `CONFUSABLE_CAPTURE_REASSIGNMENT` warnings
2024-06-28 15:55:05 +02:00
Danil Alexeev
d15ed0bcbb
GDScript: Fix false positive `CONFUSABLE_CAPTURE_REASSIGNMENT` warnings
2024-06-28 16:41:32 +03:00
Rémi Verschelde
6f8b90e412
Merge pull request #93032 from RandomShaper/wtp_antilock
...
GDScript: Avoid deadlock possibility in multi-threaded load
2024-06-28 14:42:48 +02:00
Rémi Verschelde
a31525c4da
Merge pull request #92609 from rune-scape/rune-relax-gds-guards
...
GDScript: Partially allow member lookup on invalid scripts
2024-06-28 14:42:44 +02:00
Rémi Verschelde
d4b7ede882
Merge pull request #92303 from Hilderin/fix-synchronization-global-class-name
...
Fix synchronization of global class name
2024-06-28 14:42:37 +02:00
Danil Alexeev
68898dbcc9
GDScript: Add `CONFUSABLE_CAPTURE_REASSIGNMENT` warning
2024-06-28 11:12:01 +03:00
Rémi Verschelde
0364443d12
Merge pull request #93346 from RandomShaper/gds_cyc_alt
...
GDScript: Enhance handling of cyclic dependencies
2024-06-26 18:15:16 +02:00
Pedro J. Estébanez
c1391489e3
GDScript: Enhance handling of cyclic dependencies
2024-06-26 17:44:32 +02:00
Rémi Verschelde
93fc9b8857
Merge pull request #93566 from Chaosus/gds_fix_enum_lookup
...
Fix symbol lookup for native enums
2024-06-26 15:19:31 +02:00
Hilderin
39369db029
Fix synchronization of global class name
2024-06-25 18:33:07 -04:00
Hilderin
e18db6fe60
Fix editor crash when invalid global class script path
2024-06-25 08:13:04 -04:00
Yuri Rubinsky
322c64c6ea
Fix symbol lookup for native enums
2024-06-25 09:43:11 +03:00
Rémi Verschelde
6882a948b6
Merge pull request #92874 from Chaosus/completion_color_color
...
Add coloring for completion of Color components
2024-06-24 11:14:02 +02:00
Thaddeus Crews
cc6dd8d02c
Style: Optimize `.svg` files with `svgo`
2024-06-23 08:15:19 -05:00
Rémi Verschelde
de59dca156
Merge pull request #93384 from dalexeev/gds-fix-non-global-class-export
...
GDScript: Fix non-global class export
2024-06-21 13:55:23 +02:00
Rémi Verschelde
5ac2631af7
Merge pull request #92688 from HolonProduction/autocompletion-batch-2
...
Add more autocompletion tests
2024-06-21 10:14:13 +02:00
Danil Alexeev
24b6edcd38
GDScript: Fix non-global class export
2024-06-20 14:30:12 +03:00
Pedro J. Estébanez
d334632908
GDScript: Avoid deadlock possibility in multi-threaded load
2024-06-19 14:01:54 +02:00
Rémi Verschelde
cd87b0bf84
Merge pull request #93057 from HolonProduction/not-enough-code-paths
...
Autocompletion: Add support for string name option in more places
2024-06-19 10:53:21 +02:00
Rémi Verschelde
9a1e5aea69
Merge pull request #92588 from AThousandShips/font_sname
...
[Scene] Add `SceneStringNames::font(_size/_color)`
2024-06-18 17:59:06 +02:00
Rémi Verschelde
6c3f811f08
Merge pull request #92177 from KoBeWi/literally_wtf
...
Fix broken built-in script reloading
2024-06-18 17:59:03 +02:00
A Thousand Ships
d519715d94
[Scene] Add `SceneStringNames::font(_size/_color)`
2024-06-18 17:24:27 +02:00
Hilderin
c419b548d2
Fix mismatched external parser with binary exports
2024-06-14 11:18:52 -04:00
HolonProduction
51f74af2ac
Autocompletion: Add support for string name option in more places
2024-06-12 20:38:43 +02:00
Rémi Verschelde
4516050e64
Merge pull request #92885 from Chaosus/fix_goto_definition_for_new
...
Fix goto definition for `new` method
2024-06-12 10:00:34 +02:00
Rémi Verschelde
09a037628e
Merge pull request #85488 from miv391/fix-expected-indented-block-error-message-lines
...
Moving "Expected indented block" error message's line number back to where the error is
2024-06-10 16:11:30 +02:00
Yuri Rubinsky
5962646fd3
Fix goto definition for `new` method
2024-06-08 10:52:01 +03:00
Yuri Rubinsky
305b948256
Add coloring for completion of Color components
2024-06-07 18:35:56 +03:00
PreslavPetrov
653a8b113a
Register the export info correctly when a global class script is used as the variable type for Node
2024-06-03 13:28:17 +01:00
HolonProduction
48e297c144
Add more autocompletion tests
2024-06-02 15:52:21 +02:00
rune-scape
7f7114c008
GDScript: partially allow some functions on invalid scripts
...
+ always default initialize static variables
+ dont invalidate script when dependant scripts don't compile/resolve
2024-06-02 02:08:26 -07:00
rune-scape
ffc0d0981b
GDScript: Invalidate cached parser chain when reloading
2024-05-31 18:49:48 -07:00
Rémi Verschelde
62120c7841
Fix Steam input "crc" errors, and some other Coverity reports of uninitialized scalar variable
...
- Fixes #88630 .
- Fixes #92578 .
2024-05-31 09:55:02 +02:00
Rémi Verschelde
ce82984b5c
Merge pull request #92544 from dalexeev/gds-fix-const-non-metatype-subscript
...
GDScript: Fix subscript resolution on constant non-metatype GDScript base
2024-05-30 22:38:36 +02:00
Rémi Verschelde
cd53026b2c
Merge pull request #92558 from dalexeev/gds-adjust-inferred-declaration
...
GDScript: Do not produce `INFERRED_DECLARATION` on type import
2024-05-30 22:13:52 +02:00
Rémi Verschelde
34fe09dda7
Merge pull request #92386 from AThousandShips/goto_fix
...
[GDScript LSP] Fix `show_native_symbol_in_editor`
2024-05-30 22:13:46 +02:00
Danil Alexeev
3fd30ed4ff
GDScript: Do not produce `INFERRED_DECLARATION` on type import
2024-05-30 19:30:07 +03:00
Danil Alexeev
18d8838051
GDScript: Fix subscript resolution on constant non-metatype GDScript base
2024-05-30 17:37:05 +03:00
Rémi Verschelde
2666955011
Merge pull request #92251 from Chaosus/gdscript_fix_new_argument_completion
...
Fix completion for `new` arguments
2024-05-30 11:47:54 +02:00
A Thousand Ships
e6ab22d450
[GDScript LSP] Fix `show_native_symbol_in_editor`
2024-05-26 16:33:19 +02:00
Yuri Rubinsky
fc2b82188b
Fix completion for `new` arguments
2024-05-26 13:47:22 +03:00
Danil Alexeev
4b692959de
GDScript: Fix lambdas capturing non-local variables
2024-05-22 10:07:31 +03:00
kobewi
eca19d6e80
Fix broken script reloading
2024-05-20 23:54:27 +02:00
Rémi Verschelde
c63383fa88
Merge pull request #92035 from rune-scape/rune-gdscript-invalid
...
GDScript: Fix segfault on invalid script
2024-05-19 11:21:14 +02:00
Rémi Verschelde
4ce95d684c
Merge pull request #91653 from HolonProduction/autocompletion-analyze-recursively-but-leave-the-parser-alone
...
Autocompletion: Analyze CLASS types as they are encountered
2024-05-19 11:21:11 +02:00
Rémi Verschelde
6761923f4f
Merge pull request #90716 from dalexeev/gds-fix-export-annotation-issues
...
GDScript: Fix some export annotation issues
2024-05-19 11:21:00 +02:00
rune-scape
9fa13da16f
GDScript: fix segfault on invalid script
2024-05-17 15:26:25 -07:00
Danil Alexeev
7dd801c580
GDScript: Fix `STANDALONE_EXPRESSION` warning for `preload()`
2024-05-17 10:33:01 +03:00
Danil Alexeev
0bd4345736
GDScript: Add support for `atr` and `atr_n` to POT generator
2024-05-14 18:35:59 +03:00
Rémi Verschelde
bdefe53992
Merge pull request #91909 from KoBeWi/have_fun_reviewing_this
...
Use Core/Scene stringnames consistently
2024-05-14 12:07:03 +02:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
Rémi Verschelde
0a67ee52d1
Revert "GDScript: Implement get_dependencies()"
...
This reverts commit dc73440f89 .
This commit in some form is needed to fix handling of dependencies on
export, but as it's also used for import, it's exposing some pre-existing
issues which we need to solve first.
So reverting for now to give ourselves time to iron this out for a future
Godot release.
Fixes #91726 .
2024-05-13 16:59:43 +02:00
Danil Alexeev
76b2d85c9f
GDScript: Fix some export annotation issues
2024-05-13 17:49:06 +03:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
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
Rémi Verschelde
d83586f1e4
Merge pull request #84492 from HolonProduction/reduce-const-arrays
...
Autocompletion: Mark datatype as constant for constant arrays
2024-05-07 21:52:40 +02:00
Rémi Verschelde
ff018079a1
Merge pull request #84706 from HolonProduction/completion-get-child
...
Fix autocompletion after DOLLAR token
2024-05-07 16:49:13 +02:00
Rémi Verschelde
4db9103c2b
Merge pull request #91650 from akien-mga/codespell
...
Fix various typos with codespell
2024-05-07 13:49:03 +02:00
Rémi Verschelde
0404e3a85e
Merge pull request #84148 from KANAjetzt/fix_crash_take_over_path_named_class
...
Fix crash when extending taken-over named class
2024-05-07 13:48:36 +02:00
HolonProduction
d131064841
Autocompletion: Analyze CLASS types as they are encountered
2024-05-07 10:45:28 +02:00
Rémi Verschelde
4b070e8031
Fix various typos with codespell
...
Using 2.2.7.dev217+g10c2abcf.
Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
Kai
f4192aad6f
Fix crash when extending taken-over named class
...
Added error handling in `_prepare_compilation()` to address cases where the `base_type` cannot be found, preventing a crash.
2024-05-07 08:07:11 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde
03e6fbb010
Merge pull request #85474 from fire/packedvector4array
...
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde
4d43fe1c96
Merge pull request #91472 from vnen/gdscript-default-static-variables-non-tool
...
GDScript: Initialize static variables with defaults in-editor
2024-05-03 01:21:40 +02:00
K. S. Ernest (iFire) Lee
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
George Marques
22236380c0
GDScript: Initialize static variables with defaults in-editor
...
When the script is not marked as `@tool` the static constructor is not
called and thus the variables contain `null` by default. But since some
validated operations requires a valid value, this would cause a crash.
This commit solves this by initializing the static variables with a
default value based on their types in the editor, when they are not
marked as `@tool`, so if some `@tool` script access them, they will have
a valid typed value, avoiding the crash.
2024-05-02 15:09:22 -03:00
Rémi Verschelde
76f642b962
Merge pull request #91412 from dalexeev/gds-fix-non-static-access-in-static-context
...
GDScript: Fix access non-static members in static context
2024-05-02 17:31:39 +02:00
Rémi Verschelde
a7029e4c8a
Merge pull request #91364 from vnen/gdscript-implicit-ready-base-first
...
GDScript: Call implicit ready on base script first
2024-05-02 17:31:32 +02:00
George Marques
99b702ea3d
GDScript: Call implicit ready on base script first
...
It is generally expected that the base class is called before the
inherited clas. This commit implements this behavior for the implicit
ready function (`@onready` annotation) to make it consistent with the
expectations.
2024-05-02 11:25:52 -03:00
Danil Alexeev
8122a27eac
GDScript: Fix access non-static members in static context
2024-05-01 19:55:40 +03:00
A Thousand Ships
c4e24d2b3b
[GDScript] Correctly report invalid read-only access
2024-05-01 12:28:47 +02:00
Rémi Verschelde
731ea17dd4
Merge pull request #91192 from vnen/gdscript-validated-native-static-calls
...
GDScript: Perform validated calls with static methods
2024-05-01 09:55:04 +02:00
Rémi Verschelde
273a643145
Merge pull request #89647 from AThousandShips/read_only_dict
...
[Core] Fix property access on read-only `Dictionary`
2024-05-01 09:54:48 +02:00
Rémi Verschelde
c4733e8003
Merge pull request #90860 from vnen/gdscript-get-dependencies
...
GDScript: Implement `get_dependencies()`
2024-04-29 12:30:12 +02:00
Rémi Verschelde
296758a8f8
Merge pull request #90552 from vnen/gdscript-constructor-callable-release
...
GDScript: Assume constructor to be accessible from class
2024-04-29 12:30:08 +02:00
Rémi Verschelde
d216a385a6
Merge pull request #90498 from vnen/gdscript-resolve-scene-autoload-types
...
GDScript: Resolve types from autoload scenes
2024-04-29 12:30:02 +02:00
Rémi Verschelde
13fbd42c37
Merge pull request #90975 from aaronfranke/plugin-org
...
Organize existing code for editor plugins
2024-04-29 10:09:45 +02:00
Rémi Verschelde
c33cd94509
Merge pull request #90949 from rhofour/gdignore
...
LSP: Have `GDScriptWorkspace::list_script_files` respect `.gdignore`.
2024-04-29 10:09:42 +02:00
Aaron Franke
1bcbbe96c4
Organize existing code for editor plugins
2024-04-27 11:59:58 -07:00
George Marques
8b7fc225f0
GDScript: Resolve types from autoload scenes
...
When the autoload is a scene, it now extracts the script from it and
use it to further infer nested types.
2024-04-26 10:46:19 -03:00
Danil Alexeev
2778069025
GDScript: Fix object iterator opcodes
2024-04-26 09:21:55 +03:00
George Marques
7ca038effa
GDScript: Perform validated calls with static methods
...
When the types are validated at compile time, this type of call runs
faster. It is already used for instance methods, this adds this
optimization to native static methods as well.
2024-04-25 21:19:40 -03:00
Danil Alexeev
4136ed7fc8
GDScript: Fix test `reset_uninit_local_vars.gd` failure
2024-04-24 20:49:52 +03:00
Rémi Verschelde
69a23e64e4
Merge pull request #89990 from dalexeev/gds-reset-uninit-local-vars
...
GDScript: Fix uninitialized local variables not being reset
2024-04-24 18:54:56 +02:00
Rémi Verschelde
6b28cb6721
Merge pull request #89884 from HolonProduction/tests-batch-2
...
Completion Tests: Add script to owner
2024-04-23 19:10:57 +02:00
Rémi Verschelde
13b66bcea2
Merge pull request #89738 from dalexeev/gds-docgen-improve-non-constant
...
GDScript: Improve DocGen for non-constant expressions
2024-04-23 19:10:51 +02:00
Rémi Verschelde
e8eca0b3f0
Merge pull request #90601 from rune-scape/rune-gdscript-dependant-parser-ref-errors
...
GDScript: Fix out of date errors in depended scripts
2024-04-22 22:18:15 +02:00
A Thousand Ships
ec29c3e784
[Core] Fix property access on read-only `Dictionary`
2024-04-22 13:57:34 +02:00
R. Alex Hofer
2452176990
Have GDScriptWorkspace::list_script_files respect .gdignore.
2024-04-20 13:29:27 -04:00
Rémi Verschelde
931f878390
Merge pull request #88899 from AThousandShips/gdscript_clean
...
[GDScript] Clean up some unused code
2024-04-19 16:26:58 +02:00
rune-scape
6b88c86cec
GDScript: invalidate GDScriptParserRef when reloading
2024-04-18 14:05:58 -07:00
George Marques
dc73440f89
GDScript: Implement get_dependencies()
...
The parser and analyzer now track the dependencies of the script and
return the list when the resource loader ask for them.
What is considered a dependency:
- Any `preload()` call.
- The base script this one extends.
- Any identifier, including types, that refers to global scripts.
- Any autoload singleton reference.
2024-04-18 11:54:37 -03:00
Rémi Verschelde
978d206f34
Merge pull request #90794 from vnen/gdscript-no-unused-constant-warning-with-underscore
...
GDScript: Suppress unused constant warning with underscore
2024-04-18 15:17:13 +02:00
George Marques
a3b3a20ac0
GDScript: Suppress unused constant warning with underscore
...
The warning message mentions that local constants prefixed with `_` does
not generate the warning. This commit actually implements this warning
suppression.
2024-04-18 09:58:23 -03:00
George Marques
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
A Thousand Ships
c070c12ddd
[GDScript] Clean up some unused code
2024-04-16 15:59:38 +02:00
Rémi Verschelde
684e7aa37a
Merge pull request #89472 from dalexeev/gds-fix-bin-tokenizer-continuation-lines
...
GDScript: Fix continuation lines in `GDScriptTokenizerBuffer`
2024-04-15 18:14:38 +02:00
George Marques
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
Aiden Storey
74177d79c9
Fix multiline array/dictionary match statements
...
Currently array and dictionary expressions cannot be spread over
multiple lines in match statements.
Adding mutliline push/pop while parsing the pattern for bracket and
brace enables the ability for these to be multiline. This enables more
complex patterns to be matched without exceeding line limits.
Fixes #90372
2024-04-12 10:59:28 +02:00
George Marques
e761982979
GDScript: Assume constructor to be accessible from class
...
Since the constructor is accessed directly from the class, even if not
marked `static`, it can be retrieved as a Callable without an instance.
2024-04-11 20:28:46 -03:00
Rémi Verschelde
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
Rémi Verschelde
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
George Marques
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
George Marques
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