Age | Commit message (Collapse) | Author |
|
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.
The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.
Fixes #26135.
|
|
Safer encode/decode variant.
|
|
Network peers get_var/put_var
File get_var/store_var
GDScript/Mono/VisualScript bytes2var/var2bytes
Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding.
Break ABI compatibaility (API compatibility for GDNative).
|
|
|
|
danielspaniol/25955-wrong-unreachable-warning-after-returning-from-matchs-wildcard-pattern
Fix: Wrong unreachable warning after returning from match's wildcard pattern #25955
|
|
Fix GDScriptCompiler bugging out with identically-named inner class
|
|
Fixes #27111
|
|
Fixes #26789
|
|
This closes #26790.
|
|
Fix #19704, fix #26001
|
|
|
|
|
|
Forbid implicit type conversion in GDScript
|
|
|
|
Since types are not present in release builds, this could cause issues
where a variable does not have the exact defined type.
|
|
|
|
Add a parse mode for GDScript which doesn't load dependencies
|
|
- This mode avoids loading any other resource.
- Search for class_name now uses this mode, to avoid loading in the scan
thread.
- Implement get_dependencies() for GDScript loader, now exporting
dependencies only should include the preloaded resources.
|
|
Allow parameters passed to GDScript functions to be nulled
|
|
Previous version resulted in confusing (but actually right) errors about converting "from Object to Object", since CallError
does not include information about the actual types involved.
|
|
|
|
Inheriting from virtual class no longer causes the engine to crash.
|
|
prints an error instead.
Co-authored-by: Hein-Pieter van Braam <hp@tmm.cx>
|
|
Fix -Wsign-compare warnings.
|
|
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
|
|
Also, initialize elements of PoolArrays when resizing them in the editor.
Fixes #26066.
|
|
Fix support for optional parameters in setters
|
|
Fix warnings seen with -Wignored-qualifiers.
|
|
Fix all -Wtype-limits warnings.
|
|
|
|
|
|
|
|
Before the parser only checked if the catch-all branch has a return in
order to determine if the entire match block has a return.
This code block was assumed to always return.
match value:
"test":
print("test")
_:
return
Now as soon as one of the branches has no return, the entire match block
is marked to not have a return.
|
|
Fixes #25316.
|
|
They had been reserved for future implementation, but we now have the
`match` CF keyword which does the same and more.
According to @reduz `do` was even added by mistake when copying from
the shader language parser, it was never intended to add support for
`do`... `while` loops, as the syntax would be awkward in GDScript,
and the added sugar is not worth it.
Fixes #25787.
|
|
Add a maximum recusion depth to _guess_expression_type
|
|
Fix exported property values being lost if base GDScript fails to parse
|
|
|
|
Using codespell 1.14.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
|
|
Also drop some unused files.
Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`
Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
|
|
Fix many asan and ubsan reported issues
|
|
Fixed Null appearing inside export variables with type hints and no default value
|
|
Fix script class icons looking for paths at runtime
|
|
When a recursive declaration ends up in a GDScript file the
_guess_expression_type function would start looping and eventually run
out of stack space.
We now cap recusion for this function to 100 frames.
This fixes #25598
|
|
|
|
value
The default value of the type is now used to initialise it.
export(int) A
Will now have A be 0 istead of Null even though it still showed as 0 before in the inspector, fixes #25357
|
|
through call
Fixes #25505
|
|
This allows most demos to run without any ubsan or asan errors. There
are still some things in thirdpart/ and some things in AudioServer that
needs a look but this fixes a lot of issues. This should help debug less
obvious issues, hopefully.
This fixes #25217 and fixes #25218
|
|
|
|
Some construct (like match) actually depends on the second pass. This
adds some extra checks to not perform specific type-checks on release
since not all type information is available.
|