Commit Graph

777 Commits

Author SHA1 Message Date
Geequlim 6c71289432 Fix parse error when extends from subclass of named classes
(cherry picked from commit ebcfe28475)
2019-11-12 11:43:11 +01:00
mashumafi 717c492eb6 Add setting to exclude addons from script warnings
(cherry picked from commit d7137a6b72)
2019-11-12 11:10:01 +01:00
lupoDharkael ad1e8069d3 GDScript: add variable shadowing warning
(cherry picked from commit 14078fbb82)
2019-11-12 11:09:28 +01:00
Kaligule 050c4dab00 Add a reference to pow to the description of exp.
This might be especially usefull since godot script doesn't support ** or ^ as operators, so beginners might search for the exponential function, when what they really need is the pow function.

This is exactly what happened to me and since I couldn't find helpfull information in the documentation I had to look it up online, where I found the answer on a helpfull [reddit thread](https://www.reddit.com/r/godot/comments/3mvwz0/how_do_i_do_exponents_in_godot/).

@akien-mga told me how to reference methods here:
godotengine#30909

(cherry picked from commit a2c81a7455)
2019-11-08 15:48:19 +01:00
George Marques 82b15ab469 GDScript: Fix type resolution not being return in some cases
Some situations caused the parser node type to not being update when
trying to resolve the type, returning invalid data and breaking the
parsing when it shouldn't. This patch fix the behavior.

(cherry picked from commit 64d09b7de5)
2019-11-08 15:48:19 +01:00
shaderbeast a07d53b262 Mark class_name line as safe in editor
(cherry picked from commit 1e6a52b215)
2019-11-08 15:48:19 +01:00
Cameron Reikes 781006e25a Expression before 'is' may be null
(cherry picked from commit 2339e85b78)
2019-11-08 15:48:19 +01:00
Bojidar Marinov 8112025573 Re-allow indexing on "self" and object types in GDScript
Fixes #25081

(cherry picked from commit e3d05fa42d)
2019-11-08 15:48:19 +01:00
George Marques c9a5ca7ca5 GDScript: Add _ prefix on class name in type compatibility check
This makes sure that the classes internally represented with an
underscore (_) prefix, such as singletons, are still properly checked
for inheritance in the ClassDB.

(cherry picked from commit 05465b9693)
2019-11-08 15:48:19 +01:00
Michael Alexsander Silva Dias b7e644bd26 Make 'break' and 'continue' be marked as safe
(cherry picked from commit a8826ad3b8)
2019-11-08 15:48:19 +01:00
Bojidar Marinov 33b2d65f98 Fix slight issues with autocompletion and member lists in GDScript
Fixes #27152
Fixes #28591

(cherry picked from commit f9d9530902)
2019-09-26 14:48:16 +02:00
hbina085 8c2e10c393 Many fallthrough switch cases now have the FALLTHROUGH macro to tell the compiler that this is intended.
(cherry picked from commit 9f0c6a6009)
2019-09-24 09:00:45 +02:00
Rémi Verschelde fc18d637a8 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.

(cherry picked from commit fc370b3feb)
2019-09-24 09:00:45 +02:00
qarmin 3b703d6707 Small fixes, mostly dupicated code
(cherry picked from commit 856a8226a5)
2019-09-24 09:00:45 +02:00
Chaosus 67efb30f2a Extends wrapi/wrapf docs
(cherry picked from commit 4c137bebe8)
2019-07-29 16:17:43 +02:00
Rémi Verschelde 0893bb9a02 doc: Improve docs for Resource* classes
Also move module-specific classes to their own module's `doc_classes`
folder.

(cherry picked from commit 0764451dc5)
2019-07-29 16:05:01 +02:00
Rémi Verschelde df6a6a2004 doc: Sync classref with current source 2019-07-05 11:34:47 +02:00
hilfazer c7551515e3 autocomplete for enum values
(cherry picked from commit ca1932636f)
2019-06-27 09:59:58 +02:00
Rémi Verschelde f156b2e1cd doc: Make all tutorial links track "3.1" in 3.1 branch
See discussion in #29104.
2019-06-01 11:39:37 +02:00
Rémi Verschelde a485d862f1 doc: Sync classref with current source 2019-04-25 14:00:31 +02:00
Rémi Verschelde cab4921477 Revert "GDScript: Don't allow built-in scripts to use class_name"
This reverts commit 42514bfd80.

There is still an unsolved regression from this commit (#28002)
which needs to be addressed before cherry-picking this one.
2019-04-21 14:06:06 +02:00
Chaosus 6ab01490f5 Added smoothstep built-in function
(cherry picked from commit 514a3fb96a)
2019-04-20 23:30:56 +02:00
Fabio Alessandrelli e0fe795433 Add object encoding param to serialization methods
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).

(cherry picked from commit 393e62b98a)
2019-04-20 23:15:02 +02:00
George Marques 42514bfd80 GDScript: Don't allow built-in scripts to use class_name
(cherry picked from commit e56f5d5c91)
2019-04-20 22:36:34 +02:00
Bojidar Marinov 667dc0b336 Check for subclasses when checking for name clashes
Fixes #27460

(cherry picked from commit ece09f9872)
2019-04-20 22:35:30 +02:00
Ignacio Etcheverry 3445984901 Replace a few #if/#elif with #ifdef and "#elif defined"
(cherry picked from commit ad2127a3e8)
2019-04-20 20:13:07 +02:00
Hugo Locurcio bd2e707e2f Add support for type hints in non-default script editor templates
This also refactors template processing to avoid repetition.

This closes #27074.

(cherry picked from commit 00799fc8c2)
2019-04-20 20:12:53 +02:00
Timo Schwarzer e31d6367ea Allow whitespaces in warning-ignore comments
(cherry picked from commit 7a0dfc04aa)
2019-04-20 20:05:25 +02:00
Rémi Verschelde 53d73f59eb doc: Drop unused <demos> tag
(cherry picked from commit 6af69f851a)
2019-04-19 13:10:25 +02:00
Daniel Spaniol 044ec35f62 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.

(cherry picked from commit 79176decd5)
2019-04-03 16:51:43 +02:00
Bojidar Marinov 0d8492cf9e Fix duplicated lines in GDScript bytecode
Fixes #26789

(cherry picked from commit b64f9f03f8)
2019-03-16 10:42:28 -07:00
Hugo Locurcio 5a574a4f29
Fix typo in GDScript narrowing conversion warning message
This closes #26790.
2019-03-08 14:28:33 +01:00
Bojidar Marinov 9637e42705
Fix enums coming from other classes without preload
Fix #19704, fix #26001
2019-03-05 23:19:02 +02:00
Juan Linietsky b63c506ad8 Close file handles after use of new get_as_utf8_strings, fixes #26578 2019-03-04 09:53:02 -03: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
George Marques 9db96d9f81
Merge pull request #26528 from bojidar-bg/26047-gdscript-object-argument
Allow parameters passed to GDScript functions to be nulled
2019-03-03 11:39:25 -03:00
Bojidar Marinov f0efc7521e
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.
2019-03-03 15:24:06 +02:00
Bojidar Marinov f207b2fe0e
Fix GDScript checking for assigning to a constant only in release 2019-03-03 12:36:27 +02:00
Rémi Verschelde f2003b1a7e
Merge pull request #26034 from QbieShay/issue_25596
Inheriting from virtual class no longer causes the engine to crash.
2019-02-28 11:00:20 +01:00
QbieShay 8f22c2684f Inheriting from virtual class no longer causes the engine to crash, it prints an error instead.
Co-authored-by: Hein-Pieter van Braam <hp@tmm.cx>
2019-02-27 20:42:20 +01:00
Rémi Verschelde 426a6fdc17
Merge pull request #26134 from marxin/fix-Wsign-compare
Fix -Wsign-compare warnings.
2019-02-27 09:22:47 +01:00
marxin e5f665c718 Fix -Wsign-compare warnings.
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01: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