Rémi Verschelde
8cc8383a7f
Merge pull request #29433 from bojidar-bg/29406-dictionary-constant
...
Properly catch certain errors in Dictionary and Array declarations
2019-06-03 20:53:02 +02:00
Bojidar Marinov
b5bbedb45a
Properly catch certain errors in Dictionary declarations
...
Fixes #29406
2019-06-03 17:29:05 +03:00
Rémi Verschelde
b9dc2e7e4d
Merge pull request #28099 from lupoDharkael/fix-completion
...
Fix code completion not working with class_name
2019-06-03 14:01:07 +02:00
Rémi Verschelde
633af46a66
Merge pull request #27987 from lupoDharkael/classname-duplicate
...
Prevent using multiple class_name in a class
2019-05-28 11:56:21 +02:00
Geequlim
ebcfe28475
Fix parse error when extends from subclass of named classes
2019-05-24 11:56:44 +08:00
Rémi Verschelde
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Bojidar Marinov
aff9320ff2
Fix typed arrays and dictionaries getting their values shared
2019-05-02 14:00:33 +03:00
Rémi Verschelde
ae41e35191
Merge pull request #27676 from qarmin/small_fixes_2
...
Small fixes to static analyzer bugs
2019-05-01 08:19:04 +02:00
lupoDharkael
2ad302cec4
Don't allow class_name in built-in scripts
2019-04-17 17:06:21 +02:00
lupoDharkael
c07b49280a
Prevent using multiple class_name in a class
2019-04-16 01:41:00 +02:00
lupoDharkael
14078fbb82
GDScript: add variable shadowing warning
2019-04-15 18:19:14 +02:00
Rémi Verschelde
e7a1fbe83a
Merge pull request #27863 from bojidar-bg/27460-constant-class-clash
...
Check subclasses too when checking for name clashes
2019-04-12 11:54:35 +02:00
George Marques
e56f5d5c91
GDScript: Don't allow built-in scripts to use class_name
2019-04-10 18:05:34 -03:00
Bojidar Marinov
ece09f9872
Check for subclasses when checking for name clashes
...
Fixes #27460
2019-04-10 13:19:30 +03:00
Rémi Verschelde
c8994b56f9
Style: Apply new changes from clang-format 8.0
...
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Rémi Verschelde
fc370b3feb
Fix -Wimplicit-fallthrough warnings from GCC 8
...
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 .
2019-04-05 15:14:53 +02:00
qarmin
8460d0678c
Small fixes to static analyzer bugs
2019-04-04 22:00:16 +02:00
Rémi Verschelde
4ec384f9d4
Merge pull request #26097 from danielspaniol/25955-wrong-unreachable-warning-after-returning-from-matchs-wildcard-pattern
...
Fix: Wrong unreachable warning after returning from match's wildcard pattern #25955
2019-04-01 12:17:17 +02:00
Bojidar Marinov
b64f9f03f8
Fix duplicated lines in GDScript bytecode
...
Fixes #26789
2019-03-14 18:38:07 +02:00
Bojidar Marinov
9637e42705
Fix enums coming from other classes without preload
...
Fix #19704 , fix #26001
2019-03-05 23:19:02 +02:00
Rémi Verschelde
425ec6914c
Revert "Forbid implicit type conversion in GDScript"
2019-03-04 12:25:59 +01:00
Rémi Verschelde
7889e9b7ca
Merge pull request #26562 from vnen/gdscript-no-implicit-cast
...
Forbid implicit type conversion in GDScript
2019-03-04 10:19:00 +01:00
George Marques
67fee40483
GDScript: Fix issue when detecting file class in inner class
2019-03-03 22:53:50 -03:00
George Marques
d0b08342b8
GDScript: Forbid implicit type conversion
...
Since types are not present in release builds, this could cause issues
where a variable does not have the exact defined type.
2019-03-03 22:25:22 -03:00
George Marques
b24cb92240
GDScript: Allow `for` iterator to be rededefined
2019-03-03 21:39:42 -03:00
Juan Linietsky
a9fe834a8e
Merge pull request #26547 from vnen/gdscript-dependency-parse
...
Add a parse mode for GDScript which doesn't load dependencies
2019-03-03 18:00:12 -03:00
George Marques
bda60bfa29
Add a dependency search mode for GDScript parser
...
- 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.
2019-03-03 16:51:54 -03:00
Bojidar Marinov
f207b2fe0e
Fix GDScript checking for assigning to a constant only in release
2019-03-03 12:36:27 +02:00
Bojidar Marinov
db7864c1fd
Fix GDScript exports having the wrong type of default value by converting it
...
Also, initialize elements of PoolArrays when resizing them in the editor.
Fixes #26066 .
2019-02-26 14:58:39 +02:00
George Marques
755c690252
Merge pull request #25018 from AllanDaemon/#24895
...
Fix support for optional parameters in setters
2019-02-24 10:45:50 -03:00
Juan Linietsky
d13ac2a413
Request to use load when cyclic reference is found, closes #26119
2019-02-21 17:27:07 -03:00
Daniel Spaniol
79176decd5
Require `return` in all match branches
...
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.
2019-02-20 21:38:11 +01:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Rémi Verschelde
5fc86026ca
Fix typos with codespell
...
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
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde
13c50e8aa5
Merge pull request #25481 from hpvb/fix-ubsan-asan-reports
...
Fix many asan and ubsan reported issues
2019-02-12 12:21:01 +01:00
Rémi Verschelde
e40395669c
Merge pull request #25550 from DualMatrix/fix-25357
...
Fixed Null appearing inside export variables with type hints and no default value
2019-02-12 12:01:22 +01:00
Rémi Verschelde
6c243326bd
Merge pull request #25650 from willnationsdev/script-icon
...
Fix script class icons looking for paths at runtime
2019-02-09 12:22:51 +01:00
Will Nations
c4ff433b17
Fix script class icon filepath lookups at runtime.
2019-02-06 16:17:56 -06:00
DualMatrix
ff508dfede
Fixed Null appearing inside export variables with type hints and no default 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
2019-02-01 21:18:14 +01:00
Hein-Pieter van Braam
d308eb091a
Fix many asan and ubsan reported issues
...
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
2019-01-30 06:43:56 +01:00
George Marques
587c1c90cf
GDScript: do second pass of parsing on release
...
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.
2019-01-23 18:45:33 -02:00
George Marques
8464cce857
GDScript: fix default value for autoexported typed vars
2019-01-23 18:06:58 -02:00
George Marques
f439397126
GDScript: read constants from parent scripts
...
This is needed to create export variables from enums defined in a parent
class.
2019-01-23 17:42:06 -02:00
George Marques
ba13aae9af
GDScript: allow local classes to be used as types
2019-01-23 17:42:06 -02:00
Allan Daemon
465842d8ea
Fix #24895 (support for optional parameters in setters)
2019-01-23 14:01:49 -02:00
Hein-Pieter van Braam
f958ba5abc
Merge pull request #25069 from vnen/gdscript-fixes
...
A bit more of GDScript fixes
2019-01-17 18:54:42 +01:00
George Marques
ced9fcafd4
GDScript: clarify error message about cycles
...
They may happen with any cyclic dependency, not only with inheritance.
2019-01-16 16:39:44 -02:00
George Marques
20e6ff263a
GDScript: fix type-check of indexed values
2019-01-16 16:02:56 -02:00
Rémi Verschelde
b910b22d74
Merge pull request #25001 from jlahman/gdscript-export-var-fix
...
Fixes export PackedScene "reset to default" throwing errors
2019-01-16 13:17:53 +01:00
jlahman
6661ceadcc
Fixes export PackedScene "reset to default" throwing errors
...
When exporting variables from a gdscript, default values of uninitialized variables would never be set. This caused the default value to be Variant::NIL, and when a user tried to reset the variable through the editor, an error would be thrown because too few arguments would be counted(end of argument list for calls are detected by NIL values).
Fixed by simply setting default value to an empty variant of the proper type in gdscript parser.
2019-01-15 22:20:36 -05:00