Age | Commit message (Collapse) | Author |
|
|
|
|
|
Make all String integer conversion methods be 64-bit
|
|
|
|
GDScript debugger incorrect error line fixed
|
|
if the first line of an else or an elif throws a runtime error the
debugger shows incorrect line number.
|
|
Added shadowed var warning for `for` loop counter
|
|
GDScript debugger stepping to incorrect line fix
|
|
Fix: Ctrl + Click not working for subclasses
|
|
Reverts `latest_client_id` back to 0, as I misunderstood how the client
IDs are assigned and, without further testing and debugging, I can't
say if this was a bug or a valid default value.
Similarly, a `latest_client_id` of -1 is no longer raising an error.
Fixes #39548.
|
|
`latest_client_id` now defaults to `-1` (invalid ID) instead of `0`.
Also fix typo in notification `gdscrip_client/changeWorkspace`,
and fix argument names in method binds.
Fixes #39375.
|
|
Tweak the GDScript error message about passed argument type mismatch
|
|
Added predefined var check for `for` loop counter
|
|
|
|
Fix: #39296
|
|
This makes it less confusing.
This closes https://github.com/godotengine/godot-proposals/issues/670.
|
|
|
|
Fix: #39268
|
|
And also change String static to_int(const char *) to return int64_t
|
|
|
|
|
|
|
|
Fix assert message when no custom message is set
|
|
|
|
ThakeeNathees/dict-key-autocomplete-regression-fix
regression: dictionary key no autocomplete fix
|
|
Fix: #38998
|
|
Trigger an error when trying to define a preexisting signal in GDScript
|
|
Fix false positive "Unreachable code" warning for loops
|
|
|
|
Depending on the conditional statements of the 'for' and 'while' loops,
their body may not even execute once. For example:
func a():
var arr = []
for i in arr:
return i
# can be reached, but analysis says cannot
return -1
func b():
var should_loop = false
while should_loop:
return 1
# can be reached, but analysis says cannot
return 0
The parser will complain that the statements after the comment cannot
be reached, but it is clearly possible for our scenario. This is
because the parser falsely assumes that the loop body will always
execute at least once.
Fix the code to remove this assumption for both of those loops.
|
|
(cherry picked from commit 2173d041af711c111d60d1fc1f45f96f4f8c7271)
|
|
|
|
Style: Remove new line at block start, enforce line between functions, enforce braces in if and loop blocks
|
|
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
|
|
set parser error when infer type is null
|
|
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
-o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
-o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```
This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.
This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.
Part of #33027.
|
|
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.
This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.
There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).
Part of #33027.
|
|
shadowed var warning in nested block bug fix
|
|
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
|
|
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.
Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
|
|
|
|
ThakeeNathees/range-crash-with-non-numeric-const-fix
range() with non-numeric const argument crash fix
|
|
regression: var declaration type info parser bug fix
|
|
|
|
|
|
Part of #33027.
|
|
Part of #33027, also discussed in #29848.
Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
|
|
ThakeeNathees/saveing-cyclic-inheritance-crash-fix
Fix: saving gdscript with cyclic inheritance crash the editor
|
|
Allow using integer vectors for iteration and make range() use them
|
|
Fix: #38552
|