Commit Graph

1042 Commits

Author SHA1 Message Date
4d960efafc GDScript: Remove self static reference and create one on calls
This is needed because of the new changes to Variant. The reference
counter is increased by adding it to a Variant, which means no GDScript
will be freed (or will be double freed if manually freed somewhere).
2020-02-19 09:15:16 -03:00
213a85521d doc: Sync classref with current source
Handle removal of Pool*Array types and other recent changes.
2020-02-18 14:02:02 +01:00
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
54ac8eaba6 Remove more deprecated methods and code 2020-02-13 12:37:45 +01:00
1f39a2d3e6 Remove deprecated sync and slave networking keywords
Those keywords were deprecated for 3.1 in #22087.

Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
2020-02-13 08:59:36 +01:00
506df14595 Merge pull request #36142 from akien-mga/remove-deprecated-decimals
Remove deprecated decimals builtin
2020-02-12 21:48:33 +01:00
cf8c679a23 ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. 2020-02-12 14:24:54 -03:00
0f90ddbcf4 Merge pull request #35522 from AndreaCatania/rpc_opt_2
Optmized data sent during RPC and RSet calls.
2020-02-12 16:56:17 +01:00
bd78b9f445 Remove deprecated decimals builtin
Replaced by 'step_decimals' in 3.2 via #21425.
2020-02-12 13:39:39 +01:00
eb07e87981 Optmized data sent during RPC and RSet calls.
- Now is sent the method ID rather the full function name.
- The passed IDs (Node and Method) are compressed so to use less possible space.
- The variant (INT and BOOL) is now encoded and compressed so to use much less data.
- Optimized RPCMode retrieval for GDScript functions.
- Added checksum to assert the methods are the same across peers.

This work has been kindly sponsored by IMVU.
2020-02-12 13:36:47 +01:00
03d2d01082 Fix hover symbol content position 2020-02-12 17:59:20 +08:00
f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
f6968d5f17 Fix static functions loop using class' functions
Besides being incorrect, it also caused a hard editor crash for purely
static classes or classes with more static functions than methods.
2020-01-28 14:19:09 -05:00
4cee1cda5e Merge pull request #35589 from akien-mga/doc-drop-category-property
doc: Drop unused 'category' property from header
2020-01-26 16:34:13 +01:00
09ced94dd4 doc: Do not expose Variant::NIL as a type in the class reference
Fix signals Variant arguments incorrectly listed as Nil.

Fixes #12520.
2020-01-26 16:08:11 +01:00
2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
cbdbfb00ca doc: Document named color constants
Busywork but it's good for our completion rate :)
2020-01-26 12:08:16 +01:00
36e11d1c34 Merge pull request #35412 from DaividFrank/check_overriding_self
Disabled re-assigning 'self'
2020-01-22 20:47:52 +01:00
badabdf8b9 GDScript: Added checks in assign operations to disable re-assigning 'self' 2020-01-22 19:00:54 +02:00
4faaf6089a Remove unused #if 0'ed code 2020-01-21 21:41:54 +01:00
8f5e424c66 Fix subclass finding in extend statement for sub-sub classes
lookup was always done on top level script instead of advancing to subclass each time.
this commit changes the lookup to always be at last found subclass
2020-01-18 11:55:27 +02:00
9ffa9a6bac Fix constant access in base class through subclass instance
Fixes as issue where a subclass calls a base class method that tries to access a constant from the script.
The original code went through every ower class, and for each owner, went through its inheritance tree.
This seems like the wrong order, the modified code goes to each base class, and for each base class goes through the owner tree.
This is more in line with what the parser does, as the current impelemtation allows an access that the parser does not support.
This change should not negatively affect existing code due to the way the parser works
2020-01-17 00:12:45 +02:00
8b0e2a409b Merge pull request #35218 from bojidar-bg/26691-parse-error-errors
Fix errors raised when showing parse errors in the editor
2020-01-16 22:32:49 +01:00
da5b138e64 Fix errors raised when showing parse errors in the editor
Fixes #26691
2020-01-16 22:12:24 +02:00
f2aa99a8e2 Merge pull request #35201 from bojidar-bg/27582-gdfunction-validate-instance
Validate instances of objects before trying to check their type in GDScript
2020-01-16 15:57:44 +01:00
4998983bd5 Merge pull request #35199 from dalexeev/master
Fix function arguments hint format in GDScript editor
2020-01-16 15:53:28 +01:00
cd7b51b943 Merge pull request #35102 from ChibiDenDen/reuse_orphaned_subclass
#34161: Keep a weak reference to orphan subclasses to reuse on class reload
2020-01-16 15:49:52 +01:00
dc4455d819 Validate instances of objects before trying to check their type in GDScript
Fixes #27582
2020-01-16 16:39:59 +02:00
19ce2d5159 Fix slight problems related to default values of exported typed arrays 2020-01-16 14:50:29 +02:00
45b510b332 Fix function arguments hint format in GDScript editor
for consistency with the format of the documentation:
"type func_name(arg1: type, arg2: type)"
2020-01-16 15:41:02 +03:00
86aa12e806 Keep a weak reference to orphan subclasses to reuse on class reload 2020-01-15 22:54:01 +02:00
e1a0ce5af9 Prevent GDScript language server from listening to external hosts by default
* Add bind_ip property to WebSocketServer defaulting to "*" (listen to everyone)
* Set default for GDscript Language Server to listen only to localhost

Fixes potential security issue with GDScript language server being exposed to the
broad net by default.
Since it is the server which primary usage is to provide utility to the local
editor there is no need to expose it.
2020-01-15 00:29:59 +00:00
40f0649e5b Fix typos with codespell
Using codespell 1.16.0.

See ab3bccdb78 for procedure.
2020-01-15 00:49:52 +01:00
d6f10cd08e Add fully_qualified_name for GDScript class 2020-01-14 17:33:33 +02:00
1d129f9bec GDScript: Check function arguments on release too
Needed because otherwise the certain type operations (such as type
casting) used as a function argument might become unresolved on release,
causing a compilation failure.

Fix #28680
2020-01-13 15:58:53 -03:00
e32d232053 Merge pull request #35076 from vnen/gdscript-type-match-assign
Type match on assignment only if operators have type
2020-01-13 13:14:57 +01:00
e6060706ca GDScript: Type match on assignment only if operators have type
This ensures that a value without type won't be wrongly assigned to a
typed variable when the types mismatch.
2020-01-13 08:51:24 -03:00
d5e1890c85 Fix infinite loop error in document link parsing 2020-01-13 19:23:29 +08:00
e804eebfe5 Remove completion triggers for ',' and '(' which may conflict with signature helper 2020-01-11 23:51:25 +08:00
d901d5993b Allow enable/disable threading for LSP server
Restart LSP server when configurations change without restart the editor
2020-01-11 23:50:32 +08:00
4c20d9407d GDScript: Forbid using "script" as member name
Avoids the user breaking things by creating a "script" variable with
something else, effectively overwriting the "script" slot on Object.
2020-01-10 19:43:33 -03:00
0d2993659b Merge pull request #34978 from GodotExplorer/lsp-fix-bracket-completion
LSP: Fix bracket completion for functions with one argument
2020-01-10 07:58:26 +01:00
09aa12a0dd Merge pull request #34958 from vnen/gdscript-is-check-valid-instance
GDScript: Validate object instance on `is` operation
2020-01-10 07:40:56 +01:00
6190d42825 LSP: Fix bracket completion for functions with one argument 2020-01-10 14:23:01 +08:00
76678b2609 GDScript: Fix type name on error message for function parameters 2020-01-09 15:50:06 -03:00
1aef8bfeb1 GDScript: Fix resolution of default parameter values
Fix #26556
2020-01-09 15:42:31 -03:00
3718f8f592 GDScript: Validate object instance on is operation
Avoids crashes on debug mode. Instead it now breaks the execution and
show the error in-editor. Will still crash on release.

Also add a similar check to Marshalls to ensure the debugger doesn't
crash when trying to serialize the invalid instance.
2020-01-09 13:59:33 -03:00