George Marques
663978e8ba
GDScript: Properly check type info in release builds
...
This makes sure native methods and properties have the actual type
checked to compare for compatibility and inference.
2022-04-01 18:20:37 -03:00
Hugo Locurcio
b087538119
Add an XML schema for documentation
...
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.
Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
Haoyu Qiu
871a73341b
Fix crash when is-operator right-hand-side is null
2022-03-13 23:17:25 +08:00
George Marques
f2166ba92f
GDScript: Don't coerce default values to the export hint type
...
This behavior is inconsistent with non tools builds and can create
issues. Instead, a warning is emitted if there's a type mismatch. If the
type can't be converted, an error is shown instead.
For the editor it gives a converted value to avoid issues with the
property editor, which expects the correct type.
2022-03-02 12:26:17 -03:00
George Marques
a3fe028809
GDScript: Infer variable types on release
...
Otherwise this creates an inconsistency between debug and release
builds, potentially leading to crashes.
2022-02-09 09:07:18 -03:00
Haoyu Qiu
8a42ab7a85
Fix crash when `is` keyword is tested against a String variable
2022-01-14 23:37:04 +08:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde
79aa64efff
Merge pull request #56296 from timothyqiu/pending-func-states
2022-01-12 16:47:56 +01:00
Max Hilbrunner
717801c9cb
Fix docs links in 3.x after docs reorg
2022-01-05 11:54:52 +01:00
Hugo Locurcio
a6db1c758a
Improve `lerp()`, `lerp_angle()` and `inverse_lerp()` documentation
...
This clarifies that `lerp()` can be used both for interpolation
and extrapolation.
2022-01-04 00:41:37 +01:00
Haoyu Qiu
53af7ee482
Clear pending function states when reloading GDScript
2021-12-28 15:29:21 +08:00
Francois Belair
b8f2f48d86
Remove extraneous return to LSP
...
(cherry picked from commit ad01201f34
)
2021-12-09 22:08:48 +01:00
Francois Belair
ba1d6b7532
Prevent LSP adding signal func to non GDScripts
...
(cherry picked from commit 66f1b4bf66
)
2021-12-06 17:51:11 +01:00
kobewi
5caab0a8ef
Correct the doc about ease()
...
(cherry picked from commit 44e6655924
)
2021-11-25 22:23:53 +01:00
Marcel Admiraal
4d3690eba5
Remove unimplemented methods
2021-11-18 12:47:36 +00:00
Rémi Verschelde
3ac2999f22
Replace Godot docs URL with `$DOCS_URL` in XML class reference
2021-11-15 17:22:47 +01:00
kobewi
175870ccc7
Show built-in script names in the debugger
...
(cherry picked from commit 3b320cd9fe
)
2021-11-15 17:22:47 +01:00
Rémi Verschelde
b0cd38b7e3
Merge pull request #42625 from RandomShaper/fix_dict_3.2
2021-11-09 15:55:43 +01:00
Pedro J. Estébanez
a7aad78fd0
Add recursive comparison to Array and Dictionary
...
...and expose it to GDScript.
Co-authored-by: Emmanuel Leblond <emmanuel.leblond@gmail.com>
2021-11-09 15:08:22 +01:00
Hugo Locurcio
63d214f04b
Remove hash symbol in front of opcode error messages in GDScript
...
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
2021-11-09 12:20:51 +01:00
Rémi Verschelde
2f10793467
Merge pull request #54117 from Pineapple/dont-ignore-type-mismatch-in-setter
2021-11-08 19:26:58 +01:00
Rémi Verschelde
bd828c4d81
Merge pull request #54227 from akien-mga/3.x-gdscript-multiline-indexing
2021-11-08 15:03:24 +01:00
Rémi Verschelde
14c366ddd7
Bump version to 3.5-beta
2021-11-05 16:10:17 +01:00
Rémi Verschelde
14ef65e49b
Merge pull request #54348 from akien-mga/3.x-clang-format-dont-align-operands
2021-10-28 15:43:15 +02:00
Rémi Verschelde
1b65550ec7
clang-format: Various fixes to comments alignment from `clang-format` 13
...
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde
42d385b312
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Yuri Sizov
b3fc278dcf
Ignore property groups and categories in GDScript code completion
2021-10-26 20:01:49 +03:00
Rémi Verschelde
92664f03a9
GDScript: Support multiline indexing with `[]`
...
Fixes #35417 .
2021-10-25 15:50:59 +02:00
Bartłomiej T. Listwon
5a7bd296af
Don't ignore the type mismatch in setter function
2021-10-22 12:43:13 +02:00
Yuri Sizov
b6b65e08d1
Remove redundant String operation from GDScript enum exports
2021-10-11 02:12:30 +03:00
Rafał Mikrut
1558f4a599
Speedup parsing big GDScript files
2021-10-07 07:39:56 +02:00
Rémi Verschelde
3f05c388a1
Merge pull request #52521 from kdiduk/52499-preload-parsing-error-when-newline-encountered
2021-10-06 10:13:19 +02:00
Kirill Diduk
835143b7bd
#52499 Fix parsing 'preload': increase/decrease parenthesis count
2021-10-06 09:35:21 +02:00
Rémi Verschelde
db0370cab5
Merge pull request #51086 from aaronfranke/3.x-warn-dectime
2021-10-05 12:06:03 +02:00
Hugo Locurcio
48e0212497
Add an example on iterating an array backwards
...
This closes https://github.com/godotengine/godot-docs/issues/3472 .
(cherry picked from commit 810d8f06b7
)
2021-10-04 15:15:27 +02:00
Francois Belair
6be31e559d
Fix empty line hover; fix open non-res:// script
...
(cherry picked from commit 572979d011
)
2021-10-01 21:30:39 +02:00
Francois Belair
3754759e26
Fix extends parsing breaking if it has the cursor
2021-10-01 11:31:05 -04:00
Hugo Locurcio
fe2f24c47c
Improve the documentation for `ease()` and `smoothstep()`
...
This adds a cheatsheet for `ease()` and a comparison graph for
`smoothstep()`, among other things.
(cherry picked from commit 567b6436c9
)
2021-10-01 08:04:20 +02:00
Francois Belair
679ce6fd0b
Fix LSP crash parsing scripts of temp size 0
2021-09-30 11:11:56 -04:00
Rémi Verschelde
69b2f1dcc6
Merge pull request #53094 from Razoric480/fix-func-doc-_init
2021-09-29 15:47:37 +02:00
Francois Belair
ae3aec1dbc
Makes LSP report new() as _init; fixes docstrings
2021-09-29 08:43:32 -04:00
Pedro J. Estébanez
6697e380d9
Fix check for freed object during cast
2021-09-27 19:46:49 +02:00
Francois Belair
885d905b0d
Make LSP send applyEdit to connect editor signals
2021-09-25 15:22:28 -04:00
Aaron Franke
a5543bc35e
[3.x] Warn when using the dectime method
...
dectime has been removed in the master branch (what will be Godot 4.0)
2021-09-21 10:03:42 -05:00
Rémi Verschelde
22aab6be1c
Merge pull request #51796 from RandomShaper/dangling_obj_release_3.x
...
[3.x] Promote object validity checks to release builds
2021-09-21 11:48:11 +02:00
Pedro J. Estébanez
26edc6cd41
Promote object validity checks to release builds
...
Extra:
- Optimized the debug-only check about why the object is null to determine if it's because it has been deleted (the RC is enough; no need to check the ObjectDB).
- Because of the previous point. the debugger being attached is not required anymore for giving the "Object was deleted" error; from now, it only matters that it's a debug build.
- `is_instance_valid()` is now trustworthy. It will return `true` if, and only if, the last object assigned to a `Variant` is still alive (and not if a new object happened to be created at the same memory address of the old one).
- Replacements of `instance_validate()` are used where possible `Variant::is_invalid_object()` is introduced to help with that. (GDScript's `is_instance_valid()` is good.)
2021-09-21 10:39:04 +02:00
John J. Donna II
91482a00bb
LSP: Add support for custom host setting
...
You can now configure host in the `language_server` settings in the editor
settings.
(cherry picked from commit be6da39b8a
)
2021-09-20 13:55:28 +02:00
Rémi Verschelde
187b1ec61e
Merge pull request #51095 from RandomShaper/error_cast_freed_object_3.x
...
[3.x] Complain if casting a freed object in a debug session
2021-09-14 22:40:17 +02:00
Pedro J. Estébanez
123d3ef935
Complain if casting a freed object in a debug session
...
The idea is to give the user a chance to realize a mistake that will cause a crash in a release build (or with no debugger attached).
2021-09-14 21:05:47 +02:00
Rémi Verschelde
ddfaf20f62
Merge pull request #50483 from akien-mga/3.x-ci-emscripten-2.0.25
2021-08-18 11:56:39 +02:00