Danil Alexeev
3a3a2011f4
GDScript: Add `@export_storage` annotation
2023-12-19 20:56:30 +03:00
Yuri Sizov
38d8ca0dc1
Merge pull request #85703 from TitanNano/jovan/gdscript_foreign_script_properties
...
Make GDScriptAnalyzer aware of properties from other languages
2023-12-19 13:02:19 +01:00
Yuri Sizov
a6f806f8da
Merge pull request #85487 from vnen/gdscript-static-register-annotations
...
GDScript: Make annotations register statically in parser
2023-12-19 13:02:09 +01:00
Jovan Gerodetti
030aa41a99
GDScriptAnalyzer is unaware of properties from other Languages
...
Co-authored-by: K. S. Ernest (iFire) Lee <fire@users.noreply.github.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-18 22:03:30 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy
2023-12-16 13:36:44 -05:00
Yuri Sizov
f4b32b228a
Merge pull request #85603 from eldidou/speed-up-get-must-clear-dependencies
...
Speed up `GDScript::get_must_clear_dependencies()`
2023-12-16 17:49:47 +01:00
Yuri Sizov
4b258ccdd3
Merge pull request #82884 from KoBeWi/commit_message_cached,_please_refresh
...
Clarify some descriptions regarding resource cache
2023-12-16 17:49:20 +01:00
Danil Alexeev
3a4a0c6b15
GDScript: Fix type highlighting
2023-12-14 23:38:24 +03:00
Yuri Sizov
203c8c31d3
Merge pull request #85071 from Rubonnek/remove-unnecessary-assignments
...
Remove unnecessary assignments
2023-12-14 17:38:34 +01:00
Yuri Sizov
5c99558d16
Merge pull request #76591 from HolonProduction/complete-tween
...
Autocomplete properties in `tween_property`
2023-12-14 17:37:53 +01:00
Wilson E. Alvarez
80fb8db31f
Remove unnecessary assignments
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Danil Alexeev
1aa242f7c4
GDScript: Fix POT generator skips some nodes
2023-12-13 13:06:59 +03:00
HolonProduction
5f72254d4d
Fix regression when autocompleting subscript on get node
2023-12-13 10:54:40 +01:00
Danil Alexeev
10dcb21d8b
GDScript: Fix accessing static function as `Callable` in static context
2023-12-12 22:19:39 +03:00
kobewi
a1aa1a468f
Clarify some descriptions regarding resource cache
2023-12-10 20:30:01 +01:00
eldidou
0d77c3e092
Speed up GDScript::get_must_clear_dependencies()
...
get_must_clear_dependencies() has a N^3*log(N) time complexity, and this can very quickly slow down the quitting process as more gdscripts are added in a project.
This change improves it to N^2*log(N).
Instead of using all the inverted dependencies, we do the same with all (non-inverted) dependencies, which is N times faster.
Fixes #85435
2023-12-09 13:02:38 +01:00
Yuri Sizov
3b9347d5b2
Merge pull request #81662 from Repiteo/container-type-vector
...
Change GDScriptDataType `container_element_type` to vector container
2023-12-08 16:57:53 +01:00
Thaddeus Crews
5cf0d772bc
Change container_element_type to vector container
2023-12-05 08:51:49 -06:00
Rémi Verschelde
7c8dfea9e3
Merge pull request #85196 from HolonProduction/completion-filter-groups
...
Filter groups and categories from autocompletion
2023-12-05 13:05:18 +01:00
Rémi Verschelde
dc367bec38
Merge pull request #79386 from HolonProduction/completion-get-child-static
...
Improve autocompletion with `get_node`
2023-12-05 13:05:11 +01:00
Rémi Verschelde
d75c44658c
Merge pull request #85373 from DmitriySalnikov/update_singletons
...
Fix updating cached singletons when reloading GDScripts
2023-12-04 23:13:13 +01:00
Rémi Verschelde
3e7cc5ec32
Merge pull request #85271 from YuriSizov/core-check-please!
...
Correctly check scripts that must inherit `EditorPlugin`
2023-12-04 23:12:24 +01:00
HolonProduction
c8889a7fe7
Improve autocompletion with get_node
2023-12-04 17:06:46 +01:00
HolonProduction
e253250814
Filter groups and categories from autocompletion
2023-12-04 15:48:29 +01:00
DmitriySalnikov
8cdbec0434
Update cached singletons when reloading GDScripts
2023-11-30 04:07:21 +03:00
Jordyfel
ef5dcccde7
Stop caching packed scenes in GDScript cache
2023-11-29 12:52:55 +02:00
George Marques
39e8cf891d
GDScript: Make annotations register statically in parser
...
So it only register the annotations once per run instead of doing it
every time a script is parsed.
2023-11-28 17:16:21 -03:00
Pedro J. Estébanez
cfa7e72057
Fix GDScript thread-exit routine assuming thread-enter was called
2023-11-27 13:01:37 +01:00
HolonProduction
8cc85515af
Suggest scene unique nodes in `get_node` autocompletion
2023-11-26 15:41:29 +01:00
Pedro J. Estébanez
bfe66ab7cd
Fixup thread-owned lambda bookkeeping on thread exit (take 2)
2023-11-23 18:50:20 +01:00
Yuri Sizov
bc1949d797
Correctly check scripts that must inherit `EditorPlugin`
...
Also updates some error messages related to this kind of check
across the codebase.
2023-11-23 16:24:43 +01:00
Pedro J. Estébanez
f26328e9a3
Revert recently added approach to cross-thread lambda survival
...
Commits reverted:
- 1ed6919148
- 271511726b
2023-11-22 20:07:01 +01:00
Rémi Verschelde
c2f8fb3015
Merge pull request #85039 from RandomShaper/mingwthreads
...
Use mingw-std-threads in MinGW builds
2023-11-21 15:44:18 +01:00
Rémi Verschelde
fa259a77cd
Codestyle: Fix some comment issues
2023-11-21 15:26:53 +01:00
Pedro J. Estébanez
1ed6919148
Fix leak in the bookkeeping of GDScript lambdas
2023-11-21 12:52:55 +01:00
HolonProduction
4883a12a13
Autocomplete properties in tween_property
2023-11-19 22:18:06 +01:00
Pedro J. Estébanez
fe4850c0d0
Use mingw-std-threads in MinGW builds
2023-11-18 11:56:05 +01:00
Rémi Verschelde
bc80776618
Merge pull request #84659 from RandomShaper/fix_lambda_cross_thread
...
Fix lambda cross-thread dynamics
2023-11-12 12:14:42 +01:00
Rémi Verschelde
8928b2044b
Merge pull request #80281 from KoBeWi/unacceptable
...
Assign temporary path to preloaded resources
2023-11-12 12:13:55 +01:00
Rémi Verschelde
a9c864dc35
Merge pull request #83039 from KoBeWi/it's_always_the_cache
...
Fix GDScript cache assigning UID as scene path
2023-11-10 10:44:33 +01:00
kobewi
a3627b6e37
Assign temporary path to preloaded resources
2023-11-10 00:43:30 +01:00
Pedro J. Estébanez
271511726b
Fixup thread-owned lambda bookkeeping on thread exit
2023-11-10 00:05:38 +01:00
Rémi Verschelde
bfd7a50036
SCons: Fix build with GDScript LSP disabled
...
Fixes #83947 .
2023-10-30 15:28:34 +01:00
Danil Alexeev
6e996a597f
GDScript: Fix `UNSAFE_CAST` warning
2023-10-27 12:42:00 +03:00
Rémi Verschelde
adcd16c710
Merge pull request #83569 from vnen/gdscript-no-opt-division-modulo
...
GDScript: Don't optimize division and modulo on debug
2023-10-26 15:59:44 +02:00
Danil Alexeev
b04263644c
Core: Allow methods of built-in `Variant` types to be used as Callables
2023-10-25 15:53:52 +03:00
ryanabx
e945a8fbad
Fix typo in gdscript_parser.h and gdscript_translation_parser_plugin.cpp
2023-10-23 08:48:36 -05:00
Danil Alexeev
7f4721a941
GDScript: Fix non-static call is allowed in static var lambda body
2023-10-20 20:43:07 +03:00
Rémi Verschelde
7270da76ba
Merge pull request #83540 from mattbork/get_shallow_script_fix
...
Fix `GDScriptCache::get_full_script` eating parsing errors because of early exit
2023-10-20 15:09:04 +02:00
Matthew Borkowski
2d262c072b
Fix `GDScriptCache::get_full_script` eating parsing errors because of early exit
...
Fixes #75545 .
2023-10-18 18:21:59 -04:00
George Marques
08e3f30299
GDScript: Don't optimize division and modulo on debug
...
Since the validated operators don't have checks for division by zero,
use the regular evaluator in debug which has those checks.
2023-10-18 14:12:51 -03:00
rune-scape
9fb8862d73
GDScript: Lambda hot reloading
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2023-10-17 15:52:52 -04:00
Rémi Verschelde
109cb8e697
Merge pull request #83455 from Lunarisnia/fix/gdscript-error-typo
...
Fix grammar typo in GDScript error message
2023-10-17 16:13:02 +02:00
Lunarisnia
981c6c94c0
Fix grammar typo in GDScript error message
2023-10-17 01:33:37 +07:00
Rémi Verschelde
ddb7969cb6
Merge pull request #83257 from dalexeev/gds-fix-unresolved-type-for-incomplete-expressions
...
GDScript: Fix unresolved datatype for incomplete expressions
2023-10-16 18:44:27 +02:00
Rémi Verschelde
6a0716dedd
Merge pull request #83123 from astillich/82998-propagate-base-class-exports
...
Fix modifying base script exports not propagating to derived scripts
2023-10-16 18:43:39 +02:00
Alexander Stillich
99f8751878
Fix editing exports in a base script not propagating the change to the opened property editor
...
This patch fixes the user having to navigate away from the selected node which has the derived script attached and back to see the changes of the base script exports reflected in the property editor.
2023-10-16 17:55:19 +02:00
Danil Alexeev
0c2202c56e
GDScript: Fix incorrect error message for utility functions
2023-10-16 14:09:57 +03:00
ocean (they/them)
f870711739
GDScript: add module description in markdown
2023-10-13 10:46:24 -04:00
Danil Alexeev
3ac61aadd7
GDScript: Fix unresolved datatype for incomplete expressions
2023-10-13 12:52:14 +03:00
Danil Alexeev
881fe67d94
Code Editor: Fix regression with using doc comments for code regions
2023-10-13 09:38:03 +03:00
Rémi Verschelde
2c79bc686e
Merge pull request #83150 from dalexeev/gds-autocomplete-static-var-on-class
...
GDScript: Add autocompletion for static variables accessed via class
2023-10-11 22:44:35 +02:00
Rémi Verschelde
25fa5eadd5
Merge pull request #82986 from OmarShehata/fix-external-editor-hot-reload
...
Fix external editor hot reload for GDScript
2023-10-11 22:38:42 +02:00
Danil Alexeev
496bee3bc7
GDScript: Add autocompletion for static variables accessed via class
2023-10-11 17:10:16 +03:00
Danil Alexeev
668ba2d1a5
GDScript: Allow empty parentheses for property getter declaration
2023-10-11 09:54:17 +03:00
Rémi Verschelde
53c6c387ef
Merge pull request #83050 from k0T0z/fix-unnecessary-include
...
Deleting unnecessary include in GDScriptParser
2023-10-10 12:33:58 +02:00
Rémi Verschelde
7f5be552ec
Merge pull request #83049 from dalexeev/gds-docgen-fix-return-metatype-regression
...
GDScript DocGen: Fix regression with return metatypes
2023-10-10 12:33:34 +02:00
Rémi Verschelde
71a8ac41fb
Merge pull request #72751 from dalexeev/doc-comment-color
...
Highlight doc comments in a different color
2023-10-09 23:21:54 +02:00
Saif Kandil
3e57279be2
removing unnecessary include of gdscript_warning.h as it is already included in the header file
...
Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
2023-10-09 18:00:44 +03:00
Danil Alexeev
faa066f9e5
GDScript DocGen: Fix regression with return metatypes
2023-10-09 17:38:54 +03:00
kobewi
6849cf48d1
Fix GDScript cache assigning UID as scene path
2023-10-09 13:57:31 +02:00
Danil Alexeev
de7cbe8789
Highlight doc comments in a different color
2023-10-08 19:26:10 +03:00
A Thousand Ships
f18aa00e85
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-08 17:23:33 +02:00
Omar Shehata
c25a2d832b
Fix external editor hot reload
2023-10-07 22:14:54 -04:00
George Marques
4a7d49a89a
GDScript: Replace ptrcalls on MethodBind to validated calls
...
This improves the performance of typed calls to engine methods when the
argument types are exact.
Using validated calls delegate more of the work the core instead of
doing argument unpacking in the VM. It also does not need different
instructions for each return type, simplifying the code.
2023-10-06 11:15:44 -03:00
Rémi Verschelde
1edf0f35b1
Merge pull request #82326 from adeneve/gdscript_dict_highlighter_fix
...
Fix for GDScriptHighlighter dictionaries as function arguments
2023-10-05 22:49:47 +02:00
Andrew de Neve
978fcaf1b4
Fix for gdscript_highlighter dictionaries as arguments
...
Fix for gdscript_highlighter. When passing a dictionary
as a function argument, the dictionary values were being
highlighted green as if they were types.
2023-10-05 12:38:39 -07:00
Danil Alexeev
9e2273abc7
GDScript: Add error when exporting node in non [Node]-derived classes
2023-10-05 13:50:26 +03:00
Rémi Verschelde
7c1abe8599
Merge pull request #82789 from dalexeev/gds-fix-unresolved-type-for-incomplete-bin-op
...
GDScript: Fix unresolved datatype for incomplete binary operator
2023-10-05 10:10:33 +02:00
Rémi Verschelde
a05c800a56
Merge pull request #82784 from dalexeev/gds-fix-empty-native-class
...
GDScript: Fix `native_type` is empty for autoload without script
2023-10-05 10:10:09 +02:00
Rémi Verschelde
5cee7b0264
Merge pull request #82767 from dalexeev/core-make-object-has-method-virtual
...
Core: Fix `Object::has_method()` for script static methods
2023-10-05 10:09:45 +02:00
Rémi Verschelde
b9bf46de9e
Merge pull request #82067 from dalexeev/gds-docgen-fix-metatypes-and-values
...
GDScript DocGen: Fix and improve appearance of metatypes and values
2023-10-05 10:07:43 +02:00
Danil Alexeev
ed0b3c08e1
Core: Fix `Object::has_method()` for script static methods
2023-10-04 19:44:32 +03:00
Danil Alexeev
2c5636c135
GDScript: Fix unresolved datatype for incomplete binary operator
2023-10-04 17:07:37 +03:00
Rémi Verschelde
1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
...
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Danil Alexeev
6767de9b69
GDScript: Fix `native_type` is empty for autoload without script
2023-10-04 16:09:18 +03:00
Rémi Verschelde
e41582f42f
Merge pull request #82547 from dalexeev/gds-fix-unsafe-call-arg-variant-constructors
...
GDScript: Fix `UNSAFE_CALL_ARGUMENT` warning for `Variant` constructors
2023-10-03 17:25:28 +02:00
Rémi Verschelde
2af3229ce7
Merge pull request #82516 from dalexeev/gds-improve-hl-types
...
GDScript: Improve highlighting of types
2023-10-03 17:24:32 +02:00
Rémi Verschelde
6de06138c0
Merge pull request #79425 from vnen/gdscript-load-classes-for-debug-tests
...
GDScript: Load global classes when running debug tests
2023-10-03 17:11:01 +02:00
Danil Alexeev
e750c59cf8
GDScript: Improve highlighting of types
2023-10-03 17:32:27 +03:00
Yuri Sizov
cc0eebd9d8
Validate `code` tags for class and member references
...
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.
Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
Rémi Verschelde
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
Jakub Janšta
74c937079c
Add type_string() utility
2023-10-02 17:41:20 +02:00
Danil Alexeev
ba96d4f631
GDScript: Fix `UNSAFE_CALL_ARGUMENT` warning for `Variant` constructors
2023-09-30 13:57:09 +03:00
Danil Alexeev
aff767ef07
Fix expected argument count for `Callable` call errors
2023-09-29 20:00:10 +03:00
Yuri Sizov
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
Yuri Sizov
78483a1df2
Merge pull request #82186 from dalexeev/gds-fix-property-duplication
...
GDScript: Fix duplication of inherited script properties
2023-09-28 20:04:18 +02:00
Yuri Sizov
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
Yuri Sizov
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
Danil Alexeev
cb8b89fd95
GDScript: Add return type covariance and parameter type contravariance
2023-09-28 12:27:36 +03:00
Yuri Sizov
aa474c9feb
Merge pull request #75988 from dalexeev/gds-unsafe-call-argument
...
GDScript: Improve call analysis
2023-09-27 19:07:46 +02:00
George Marques
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
A Thousand Ships
517e9f8aef
[Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-26 16:44:52 +02:00
Rémi Verschelde
9b0b441cf3
Merge pull request #82139 from dalexeev/gds-add-inferred-declaration-warning
...
GDScript: Add `INFERRED_DECLARATION` warning
2023-09-26 16:36:39 +02:00
Chia-Hsiang Cheng
ceda13720b
Check if any global script class is shadowed by a variable
2023-09-26 16:47:17 +08:00
Rémi Verschelde
0c626bdfb0
Merge pull request #82294 from dalexeev/gds-fix-gdsnc-crash
...
GDScript: Fix crash with `GDScriptNativeClass`
2023-09-26 08:31:26 +02:00
Rémi Verschelde
e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
...
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
Rémi Verschelde
3e15c8f285
Merge pull request #81833 from 0x4448/fix-autocomplete-quotes
...
Fix autocomplete quotes
2023-09-25 17:18:23 +02:00
Rémi Verschelde
7a29189858
Merge pull request #81200 from RandomShaper/gd_vm_msvc
...
Optimize GDScript VM codegen for MSVC
2023-09-25 17:18:19 +02:00
Rémi Verschelde
d759f91f8d
Merge pull request #81101 from 398utubzyt/dotnet/abstract-class-support
...
C#: Add abstract class support
2023-09-25 17:18:05 +02:00
Rémi Verschelde
1a0e653d7f
Merge pull request #78573 from dalexeev/editor-create-script-class-name
...
Editor: Remove unused Class Name field from Create Script dialog
2023-09-25 17:17:46 +02:00
Pedro J. Estébanez
9c15e2f24b
Optimize GDScript VM codegen for MSVC
2023-09-25 16:32:36 +02:00
Danil Alexeev
16b024ba82
GDScript: Fix crash with `GDScriptNativeClass`
2023-09-25 17:09:20 +03:00
A Thousand Ships
e45927b2f2
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 08:50:19 +02:00
Danil Alexeev
16e860bcb3
GDScript: Fix duplication of inherited script properties
2023-09-23 15:30:23 +03:00
Danil Alexeev
4ce27301d3
GDScript: Add `INFERRED_DECLARATION` warning
2023-09-22 23:13:52 +03:00
Danil Alexeev
10b00bc2ea
GDScript: Prevent constructing and inheriting engine singletons
2023-09-22 17:30:00 +03:00
0x4448
7ea4247c3d
Omit quotes from completion if triggered with quote
...
Typing a single or double quote in an external editor triggers
auto-completion. The returned CompletionItem should not include
quotes since they're already in the editor.
CompletionParams was missing context in to_json() and this is
required to detect whether a quote was typed.
2023-09-21 17:37:32 -07:00
Danil Alexeev
426ccba70e
GDScript DocGen: Fix and improve appearance of metatypes and values
2023-09-21 20:44:34 +03:00
Danil Alexeev
e8696f9961
GDScript: Improve call analysis
...
* Add missing `UNSAFE_CALL_ARGUMENT` warning.
* Fix `Object` constructor.
* Display an error for non-existent static methods.
2023-09-21 13:36:39 +03:00
Danil Alexeev
3c35e7f1d6
GDScript: Make array literal typed if `for` loop variable type is specified
2023-09-21 11:25:59 +03:00
Rémi Verschelde
888d3252ba
Merge pull request #81881 from lotuspar/patch-1
...
Rewrite a small comment in GDScript tokenizer code
2023-09-20 13:09:44 +02:00
Rémi Verschelde
281439ce20
Merge pull request #81699 from dalexeev/gds-fix-and-improve-doc-comment-parsing
...
GDScript: Fix and improve doc comment parsing
2023-09-20 13:09:32 +02:00
Rémi Verschelde
712ebe7d8a
Merge pull request #81332 from dalexeev/gds-fix-update-array-literal-in-weak-context
...
GDScript: Don't make array literal typed in weak type context
2023-09-20 13:09:23 +02:00
Rémi Verschelde
971f678442
Merge pull request #79510 from dalexeev/gds-fix-const-non-metatype-subscript
...
GDScript: Fix subscript resolution for constant non-metatypes
2023-09-20 13:09:17 +02:00
Rémi Verschelde
21b132616b
Merge pull request #74995 from dalexeev/gds-r-strings
...
GDScript: Add raw string literals (r-strings)
2023-09-20 13:09:13 +02:00
Danil Alexeev
c35cb51d74
GDScript: Fix subscript resolution for constant non-metatypes
2023-09-19 22:26:06 +03:00
Gio
b6f1dbb340
Rewrite a bit of comment in tokenizer code
...
gdscript_tokenizer.cpp: `change` -> `changes`
2023-09-19 21:38:52 +08:00
Rémi Verschelde
e207595de9
Merge pull request #81844 from ryanabx/features/specify-lsp-port
...
Add `--lsp-port` as a command line argument
2023-09-19 09:04:30 +02:00
ryanabx
a5b7c4c415
Add `--lsp-port` as a command line argument
2023-09-18 08:51:15 -05:00
ocean (they/them)
729c9b4d4b
GDScript: Add check for `super()` methods not being implemented
2023-09-17 16:21:28 -04:00
Rémi Verschelde
c63e0aefcf
Merge pull request #79366 from dalexeev/gds-signal-info-and-callback
...
Editor: Improve signal callback generation
2023-09-17 14:45:47 +02:00
Rémi Verschelde
6c1be30836
Merge pull request #81605 from dalexeev/gds-fix-some-lambda-bugs
...
GDScript: Fix some lambda bugs
2023-09-16 21:23:42 +02:00
Rémi Verschelde
e5ac7cf034
Merge pull request #81577 from anvilfolk/thecycleeeeeeeeeeeeesaaaaaaaaaaaaah
...
GDScript: Fix compilation of expressions compiling other classes
2023-09-16 21:23:18 +02:00
Danil Alexeev
072e9c5c82
GDScript: Fix and improve doc comment parsing
2023-09-16 17:31:50 +03:00
398utubzyt
2df37a237a
C#: Abstract script class support
2023-09-15 20:35:25 -07:00
Danil Alexeev
d991cc4998
GDScript: Fix POT generator crash on assignee with index
2023-09-14 17:41:05 +03:00
Yuri Sizov
1437b3a226
Merge pull request #81599 from ShadowApex/shadowapex/fix-extendparser-signals
...
Fix dumping of signal API parameters
2023-09-14 15:21:56 +02:00
Danil Alexeev
b1eb737719
GDScript: Fix some lambda bugs
2023-09-14 14:22:23 +03:00
William Edwards
188132884d
Fix dumping of signal API parameters
2023-09-12 18:43:31 -07:00
ryanabx
ceda960131
Remove REDUNDANT_FOR_VARIABLE_TYPE
...
Remove REDUNDANT_FOR_VARIABLE_TYPE
2023-09-12 20:04:32 -05:00
ocean (they/them)
d330f5642e
GDScript: Fix compilation of expressions compiling other classes
...
This PR is part of ongoing work on fixing cyclic dependencies in the GDScript
compiler.
2023-09-12 11:18:33 -04:00
Danil Alexeev
26ce861910
Editor: Remove unused Class Name field from Create Script dialog
2023-09-12 12:49:56 +03:00
Rémi Verschelde
5c43e4c1ef
Fix various typos with codespell
...
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Rémi Verschelde
0545ed5c71
Merge pull request #81355 from ryanabx/features/enforce-static-typing
...
Add an optional `untyped_declaration` warning
2023-09-12 08:49:57 +02:00
Rémi Verschelde
b539bfb263
Merge pull request #81201 from anvilfolk/rpc
...
GDScript: Fix subclass methods not inheriting RPC info
2023-09-12 08:49:33 +02:00
Danil Alexeev
4b5daf06ef
Editor: Improve signal callback generation
2023-09-11 18:45:39 +03:00
Danil Alexeev
2964c7d51c
GDScript: Add raw string literals (r-strings)
2023-09-11 18:34:33 +03:00
ocean (they/them)
711ffabcfe
GDScript: fix subclass methods not inheriting RPC info
2023-09-11 11:10:07 -04:00
BooksBaum
0202a36a7a
Language Server: Improve hovered symbol resolution, fix renaming bugs, implement reference lookup
...
Co-Authored-By: Ryan Brue <56272643+ryanabx@users.noreply.github.com>
Co-Authored-By: BooksBaum <15612932+booksbaum@users.noreply.github.com>
2023-09-11 09:46:34 -05:00
ryanabx
14edf044af
Add "untyped_declaration" warning
2023-09-11 09:39:10 -05:00
Rémi Verschelde
13f0ab88f2
Merge pull request #81079 from dalexeev/gds-fix-get-method-list
...
GDScript: Fix `get_*_list()` methods return incorrect info
2023-09-11 15:36:52 +02:00
Aaron Franke
6f7eccc758
Add a type conversion method to Variant Utility and expose to scripting
2023-09-08 10:12:48 -05:00
Yuri Sizov
d8ff69d53c
Extract ScriptInstance to simplify includes
...
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.
This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Danil Alexeev
242d3d81e9
GDScript: Don't make array literal typed in weak type context
2023-09-05 11:32:16 +03:00
Danil Alexeev
462d8f4752
GDScript: Fix `get_*_list()` methods return incorrect info
2023-09-04 00:21:03 +03:00
Yuri Rubinsky
35802374ac
Add coloring for completion of vector components
2023-08-30 21:13:25 +03:00
Markus Sauermann
c4705a590b
Fix Object::notification order
...
Previously the `p_reversed` parameter didn't influence the order
in a correct way.
Also script overridden _notification functions were not called in
the correct order.
To fix this some `notification` functions had to add a `p_reversed`
parameter.
This made it necessary to adjust cpp-bindings.
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-30 00:15:55 +02:00
Rémi Verschelde
76d318dbd1
Merge pull request #75778 from KoBeWi/_vp
...
Expose `_validate_property()` for scripting
2023-08-29 12:41:27 +02:00
Rémi Verschelde
91c5273ec5
Merge pull request #75656 from YuriSizov/core-iconic-builtins
...
Add a script method to get its class icon
2023-08-29 12:41:03 +02:00
kobewi
67db4693eb
Expose _validate_property() for scripting
2023-08-28 15:18:48 +02:00
Rémi Verschelde
fc37fd7b98
Merge pull request #81039 from MewPurPur/fix-hex-number-highlighting-after-separator
...
Fix highlighting of hex numbers with separators
2023-08-28 12:10:11 +02:00
MewPurPur
d3946242f4
Fix highlighting of hex numbers with separators
2023-08-28 09:52:40 +03: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
Yuri Sizov
2c77f07aaa
Add a script method to get its class icon
...
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2023-08-24 13:05:41 +02:00
Rémi Verschelde
e43370d0fa
Merge pull request #80686 from azuloo/lsp-thread-connection-error
...
Fixes LSP connection error when launched in a separate thread
2023-08-21 19:26:43 +02:00
Rémi Verschelde
7d3bee73e4
Merge pull request #80247 from dalexeev/gds-for-loop-var-static-typing
...
GDScript: Add static typing for `for` loop variable
2023-08-21 19:26:32 +02:00
Rémi Verschelde
9becff0c54
Merge pull request #80745 from dalexeev/gds-improve-docgen
...
GDScript: Improve DocGen
2023-08-21 08:22:31 +02:00
Danil Alexeev
34d432807f
GDScript: Improve DocGen
2023-08-19 19:54:43 +03:00
Rémi Verschelde
a017e9c698
Merge pull request #80119 from MewPurPur/svg-opacities-standardization
...
Optimize and fix up some SVGs
2023-08-18 09:30:23 +02:00
Danil Alexeev
6c59ed9485
GDScript: Add static typing for `for` loop variable
2023-08-17 20:54:34 +03:00
Rémi Verschelde
e71ec0b5eb
Merge pull request #80365 from dalexeev/gds-allow-mix-indent-on-blank-lines
...
GDScript: Allow mixed indentation on blank lines
2023-08-17 11:25:04 +02: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
00ad9e484e
GDScript: Allow mixed indentation on blank lines
2023-08-17 10:54:43 +03:00
azuloo
a5710d468b
Fixes LSP connection error when launched in a separate thread
2023-08-16 16:29:28 +03:00
Rémi Verschelde
6b5e44f3ca
Merge pull request #80510 from dalexeev/gds-fix-access-inner-class-from-inside
...
GDScript: Fix "Identifier not found" error when accessing inner class from inside
2023-08-14 15:28:57 +02:00
Rémi Verschelde
e1bb9b523d
Merge pull request #80506 from sepTN/fix-lambda-get_method
...
Fix `get_method` from named lambda
2023-08-14 09:36:35 +02:00
MewPurPur
93318d2dd5
Optimize and fix up some SVGs
2023-08-13 17:48:17 +03:00
Markus Sauermann
fa8fec2cc1
Fix superfluous `"` in error message
2023-08-13 00:38:10 +02:00
Septian
793cc080cb
Fix `get_method` from named lambda
2023-08-11 20:31:08 +07: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
Rémi Verschelde
40363a88bd
Merge pull request #80283 from ajreckof/fix-completion-option-location-not-found
...
Fix completion option location not found
2023-08-07 14:53:10 +02:00
Rémi Verschelde
87c91dc452
Merge pull request #79761 from dalexeev/gds-hl-comment-markers
...
GDScript: Highlight comment markers (`TODO`, `FIXME`, etc.)
2023-08-07 14:49:09 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
...
Also includes typo fixes from #79993 , #80068 , #80276 , and #80303 .
Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Danil Alexeev
54231682ba
GDScript: Highlight comment markers (`TODO`, `FIXME`, etc.)
2023-08-07 11:33:51 +03:00
ajreckof
4b724c9252
Fix completion option location not found
2023-08-05 02:15:45 +02:00
Rémi Verschelde
95d71dbad1
Merge pull request #80165 from dalexeev/gds-fix-native-signal-not-found
...
GDScript: Fix regression with native signal not found
2023-08-03 14:46:48 +02:00
Rémi Verschelde
5e1671afd9
Merge pull request #78540 from anvilfolk/gdresloaderr
...
GDScript: Add error message when a GDScript resource fails to load.
2023-08-03 14:46:33 +02:00
Danil Alexeev
f19377160c
GDScript: Fix regression with native signal not found
2023-08-02 15:42:36 +03:00
Yuri Sizov
f37d192860
Merge pull request #80109 from timothyqiu/not-markdown
...
Fix invalid use of markdown syntax in classref
2023-08-01 20:04:00 +02:00
Yuri Sizov
79e28e0914
Merge pull request #80020 from dalexeev/gds-pot-gen-const-string
...
GDScript: Add constant string support for POT generator
2023-08-01 20:03:56 +02:00
Yuri Sizov
f6e02dc437
Merge pull request #79990 from vnen/gdscript-assume-op-types
...
GDScript: Optimize operators by assuming the types
2023-08-01 17:25:52 +02:00
Yuri Sizov
68a49c4959
Merge pull request #79935 from dalexeev/gds-validate-node-path-annotation
...
GDScript: Add validation for `@export_node_path` annotation arguments
2023-08-01 17:25:44 +02:00
Haoyu Qiu
c4b5161ed1
Fix invalid use of markdown syntax in classref
...
Also:
* changed `[b]true[/b]` to `[code]true[/code]`
* use `[i]` for mathematical constant "e"
* use `[b]` for button text & menu item text
* improve markups about "tap1" and "tap2" in AudioEffectDelay
2023-08-01 22:44:31 +08:00
Yuri Sizov
3de7dd902c
Merge pull request #79880 from dalexeev/gds-fix-id-shadowing-below
...
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-31 21:01:36 +02:00
Yuri Sizov
41efc7cb86
Merge pull request #78941 from dalexeev/gds-doc-comments-deprecated-and-experimental
...
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-31 21:01:08 +02:00
Yuri Sizov
efbff1369a
Merge pull request #78254 from dalexeev/gds-fix-property-group-name-conflict
...
GDScript: Fix conflict between property and group names
2023-07-31 21:01:03 +02:00
Yuri Sizov
62b4643d85
Merge pull request #73226 from AThousandShips/gdscript_tok_improvement
...
Improve GDScript identifier tokenization
2023-07-31 21:00:57 +02:00
ocean (they/them)
cca57171c1
Add error message when a GDScript resource fails to load.
...
Currently, GDScripts who are only loaded through `ResourceLoader::load()`,
like Autoloads, do not have a pathway to announce there is an error in their
code. This contributes to significant confusion in error projects when
autoloads are involved. At least partially closes #78230 .
2023-07-31 13:16:29 -04:00
Danil Alexeev
ae42c23e09
GDScript: Add constant string support for POT generator
2023-07-29 19:24:48 +03:00
George Marques
c1bca65d09
GDScript: Optimize operators by assuming the types
...
This assumes that operators are called usually with the same type of
operands as the first time. So it stores the types of the first run and
if matched it uses an optimized path by calling the validated operator
function directly. Otherwise it uses the regular untyped evaluator.
With this change, if operators do use the same type they run quite
faster. OTOH, if the types mismatch it takes longer to run than they
would with the previous code.
2023-07-28 13:08:21 -03:00
Danil Alexeev
5b4403c9a5
GDScript: Add validation for `@export_node_path` annotation arguments
...
Co-authored-by: George Marques <george@gmarqu.es>
2023-07-26 20:36:47 +03:00
Juan Linietsky
5e512b705e
Support threads in the script debugger
...
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.
This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
2023-07-26 12:06:45 +02:00
Danil Alexeev
d53fc92b4c
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-26 11:26:57 +03:00
Yuri Sizov
0e1c9531b5
Merge pull request #75620 from jpcerrone/fix_shadow_warnings_not_going_away_after_ignoring
...
Fix for not being able to ignore shadowing warnings on class scope
2023-07-25 21:25:45 +02:00
jpcerrone
13c73500ab
Fix for not being able to ignore shadowing warnings on class scope
2023-07-24 17:22:12 -03:00
Yuri Sizov
74d20fe17e
Merge pull request #75216 from rune-scape/rune-dependancy-errors
...
Script editor (GDScript): Show depended script errors
2023-07-24 19:32:20 +02:00
Yuri Sizov
2bd904e3db
Merge pull request #73196 from Vilcrow/fix-lookup-symbol
...
Fix jumping to function definition using `Ctrl+LMB` or the "Lookup Symbol" button
2023-07-24 19:32:12 +02:00
rune-scape
83b01708b2
Script editor: Show depended script errors
2023-07-24 15:49:39 +02:00
Yuri Sizov
de0f7935dd
Merge pull request #79524 from aaronfranke/gds-test-inst-placeholder
...
Change GDScript tests to use InstancePlaceholder as the example abstract class
2023-07-21 17:15:32 +02:00
Fredia Huya-Kouadio
d17811c814
Re-architect how Android plugins are packaged and handled at export time
...
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.
The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
Yuri Sizov
2c55214068
Merge pull request #79205 from anvilfolk/populate-class-members
...
GDScript: Solve `_populate_class_members()` cyclic dependency problem
2023-07-17 19:15:16 +02:00
Aaron Franke
6a8a9cd279
Change GDScript tests to use InstancePlaceholder as the example abstract
2023-07-15 18:28:08 -05:00
Yuri Sizov
d5a30f7af8
Merge pull request #79163 from anvilfolk/fullscripterror
...
GDScript: Add static analysis error reporting in GDScriptCache::get_full_script()
2023-07-14 18:49:32 +02:00
George Marques
80ba1e0614
GDScript: Load global classes when running debug tests
...
So when running compiler debug tests it works with dependencies within a
project.
2023-07-13 13:05:42 -03:00
S.V.I. Vilcrow
56e2fad319
Fixed the jumping to function definition using 'Ctrl+LMB' and the 'Lookup Symbol' button.
2023-07-12 21:30:35 +03:00
George Marques
cbfe2b61b6
GDScript: Properly track extents of constants and patterns
...
Even in the case of errors.
2023-07-12 10:57:11 -03:00
Rémi Verschelde
8a06ec979e
Change explicit 'Godot 4.0' references to 'Godot 4'
...
Fixes #79276 .
2023-07-10 13:08:11 +02:00
ocean (they/them)
7d29ac0bf2
GDScript: solve `_populate_class_members()` cyclic dependency problem
2023-07-08 15:34:20 -04:00
Danil Alexeev
c1b450566a
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-08 18:13:19 +03:00
ocean (they/them)
955049670f
GDScript: Add static analysis error reporting in GDScriptCache::get_full_script()
2023-07-07 11:16:22 -04:00
Rémi Verschelde
69dbbcc313
Merge pull request #79092 from akien-mga/doctool-remove-version-attribute
...
Doctool: Remove version attribute from XML header
2023-07-07 08:34:55 +02:00
Rémi Verschelde
b3c2b52025
Merge pull request #78953 from anvilfolk/enum-desc
...
Fix regression with GDScript enum descriptions now showing up in documentation.
2023-07-07 08:31:44 +02:00
Rémi Verschelde
81064cc239
Doctool: Remove version attribute from XML header
...
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde
346f1ab86b
Bump version to 4.2-dev
...
Keep on waitin'
2023-07-05 22:07:03 +02:00
ocean (they/them)
d48636c3bf
Fix regression with enum descriptions now showing up in documentation.
2023-07-02 11:29:52 -04:00
Gilles Roudière
538c4b62b7
Explain a bit more RPCs options
2023-06-27 11:25:15 +02:00
Rémi Verschelde
af16013905
Merge pull request #78571 from MewPurPur/include-extension-info
...
Document file extensions of GDScript, CSharpScript, and Shader
2023-06-22 18:32:25 +02:00
MewPurPur
8848c395b6
Add information about file extension to GDScript, CSharpScript, and Shader
2023-06-22 18:56:08 +02:00
Danil Alexeev
84c8946565
GDScript: Remove unnecessary name check in `_get_property_list()`
2023-06-22 12:41:44 +03:00
Rémi Verschelde
f2ce0b6741
Merge pull request #78521 from jpcerrone/fix_static_vars_refs
...
Fix errors destroying script with static variables
2023-06-21 21:52:15 +02:00
Rémi Verschelde
faf3faa8c8
Merge pull request #77744 from dalexeev/gds-reset-block-locals-on-exit
...
GDScript: Reset local variables on exit from block
2023-06-21 21:51:05 +02: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
jpcerrone
8ce8216d17
Fix errors destroying script with static variables
...
Fixes #78376
After #78138 'script_list' is now cleared in 'GDScriptLanguage::finish'
Because of that, we can safely remove the removal from that list that
happens on 'GDScript::~GDScript'.
2023-06-21 12:33:21 -03:00
今井きなみ
bf04c55175
Fix lambda parsing continuing on subsequent lines #73273
2023-06-21 12:56:57 +02:00
Yuri Sizov
f1e79e2581
Make container element type comparison safe
2023-06-20 17:04:57 +02:00
Rémi Verschelde
248e5245e4
Merge pull request #73540 from mashumafi/fix-typed-array-add
...
Fix: Typed arrays aren't working with +
2023-06-20 15:12:39 +02:00
Danil Alexeev
a0577eb23b
GDScript: Fix `_get_script_name()` function collision for SCU build
2023-06-20 12:03:54 +03:00
Danil Alexeev
5d3f5e8cf2
GDScript: Fix crash in disassembler
2023-06-19 23:50:33 +03:00
Rémi Verschelde
c211c22abc
Merge pull request #78389 from rune-scape/rune-match-stringnames
...
GDScript: Strings and StringNames match
2023-06-19 21:18:42 +02: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
5f9175f969
Merge pull request #76954 from Rindbee/return-null-on-fail-load-script
...
Returns null and does not cache when the source code of the script fails to load
2023-06-19 21:17:47 +02:00
Rémi Verschelde
cfae05094a
Merge pull request #72824 from dalexeev/gds-invalid-char-error
...
GDScript: Fix invalid character error message
2023-06-19 15:39:58 +02:00
Ben
0803467334
Fix "Go to definition" for GDScript type hints
...
Fixes #68475 .
2023-06-19 15:29:25 +02:00
Fabio Alessandrelli
116f783db7
Merge pull request #76207 from dalexeev/clarify-rpc-docs
...
Clarify `@rpc` annotation arguments docs
2023-06-18 21:34:34 +02:00
Rémi Verschelde
fcc39d498b
Merge pull request #75051 from AleryBerry/fix-error-message-lua-style
...
GDScript: Fix error message for LUA-style dictionary
2023-06-18 16:28:36 +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