George Marques
01d13ab2c1
GDScript: Allow using self in lambdas
2022-04-24 21:49:02 -03:00
George Marques
cdbd6056ef
GDScript: Fix method call on singletons
2022-04-08 12:20:57 -03:00
George Marques
4710e2b278
GDScript: Add support for static method calls in native types
2022-04-06 14:14:38 -03:00
Rémi Verschelde
79bbe57244
Merge pull request #56830 from strank/parent-signals
2022-03-04 17:29:49 +01:00
Rémi Verschelde
4bbd7417c4
Merge pull request #58320 from mphe/fix_object_typed_arrays
2022-03-04 14:49:06 +01:00
Marvin Ewald
cea0630fef
Fix typed arrays for Object based types
...
Fixes https://github.com/godotengine/godot/issues/53771 .
2022-02-19 16:27:06 +01:00
SaracenOne
ab2a8bd1d8
Fix using typed arrays based on script classes
2022-02-17 17:34:53 +00:00
strank
dcf19f8914
Fix "Identifier not found" compiler error when accessing inherited signals or functions as callables.
2022-02-11 20:45:04 -05:00
George Marques
ceafdf347e
GDScript: Treat enum values as int and enum types as dictionary
...
Since enums resolve to a dictionary at runtime, calling dictionary
methods on an enum type is a valid use case. This ensures this is true
by adding test cases. This also makes enum values be treated as ints
when used in operations.
2022-02-03 13:32:34 -03:00
George Marques
ad6e2e82a9
GDScript: Consolidate behavior for assigning enum types
...
This makes sure that assigning values to enum-typed variables are
consistent. Same enum is always valid, different enum is always
invalid (without casting) and assigning `int` creates a warning
if there is no casting.
There are new test cases to ensure this behavior doesn't break in
the future.
2022-02-03 13:32:16 -03:00
strank
960a26f6c0
GDScript: Fix parsing default parameter values from function calls
2022-01-13 19:28:39 -05:00
SaracenOne
64d8b3aef2
Assign member type when parsing setters to prevent
...
'Compiler bug: unresolved assign' errors
2022-01-11 11:23:17 +00:00
Rémi Verschelde
cc7f634066
Merge pull request #56260 from cdemirer/fix-type-mutation-upon-assignment-with-operation
2022-01-10 17:12:34 +01:00
Rémi Verschelde
c8b4fe3b8d
Merge pull request #56287 from cdemirer/fix-member-property-only-getter-cant-be-set
2022-01-10 17:12:06 +01:00
Rémi Verschelde
1fd5954962
Merge pull request #56288 from cdemirer/fix-member-property-getter-dont-update-subscript-chain-root
2022-01-10 17:10:57 +01:00
Ger Hean
609964848d
Fix leak when function returning self type
...
Leak is caused by cyclic reference
2022-01-10 02:14:48 +08:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
cdemirer
bb9469aa65
Fix member properties with getters don't update as subscript chain root
2021-12-28 07:52:44 +08:00
cdemirer
e8305e17ff
Fix member properties with only getters can't be set
2021-12-28 07:51:18 +08:00
cdemirer
067b4c8c07
Fix type mutation upon compound assignment
2021-12-27 03:32:22 +08:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
George Marques
d36213bab8
GDScript: Make sure calls don't use return when not needed
2021-10-14 19:55:45 -03:00
ZuBsPaCe
551ceb590b
GDScript: Report property type errors
...
Inline getters & setters are now FunctionNodes.
Their names are set in the parser, not in the compiler.
GDScript-Analyzer will now run through getter and setter.
Also report wrong type or signature errors regarding getset properties.
Added GDScript tests for getters and setters.
#53102
2021-10-08 22:06:15 +02:00
Brian Semrau
c18a27a9cd
GDScript fix wrong base class assignment
2021-10-04 20:38:08 -04:00
George Marques
84956fee4b
GDScript: Fix member assignment with operation
...
It was wrongly updating the assigned value with the result of the
operation.
2021-10-04 14:09:54 -03:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
George Marques
991f4d8527
GDScript: Fix assignment with operation for properties
2021-09-29 10:54:16 -03:00
George Marques
5a612d61b9
Merge pull request #49765 from Blackiris/fix-assignment-with-operator-on-type-member
...
Fix assignment with operator on type member
2021-09-15 10:56:20 -03:00
George Marques
5d31ce4b16
GDScript: Allow string keys on Lua-style dictionaries
...
Which is useful when the key isn't a valid identifier, such as keys with
spaces or numeric keys.
2021-09-15 09:56:24 -03:00
Rémi Verschelde
ffe8412291
Merge pull request #52323 from vnen/gdscript-singleton-interdependence-fix
...
Fix loading of interdependent autoloads
2021-09-13 21:10:34 +02:00
Fabio Alessandrelli
bf9aae09ba
[Net] Move multiplayer to core subdir, split RPCManager.
...
Move multiplayer classes to "core/multiplayer" subdir.
Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.
Move the RPC handling code to its own class (RPCManager).
Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-07 11:14:30 +02:00
SaracenOne
84852585b9
Check for GDScript member and class naming conflicts in a variety of conditions.
2021-09-02 07:16:06 +01:00
George Marques
3d13588057
GDScript: Fix loading of interdependent autoloads
...
Move the autoload resolution to runtime by loading it into the stack
with an extra instruction. This allows an autoload to use another
autoload singleton independent of load order.
2021-09-01 16:06:30 -03:00
Julien Nguyen
9bc5119d4e
Fix assignment with operator on type member
2021-08-21 21:56:11 +02:00
George Marques
89695da337
GDScript: Fix memory leak when using self class as type
2021-08-18 18:58:45 -03:00
Julien Nguyen
51b7179b5a
Fix infinite loop when creating a newly inherited GdScript file
2021-08-09 23:52:31 +02:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Fabio Alessandrelli
ddb68f76ff
[Net] Single `rpc` annotation. "sync" no longer part of mode.
...
- Move the "sync" property for RPCs to RPCConfig.
- Unify GDScript annotations into a single one:
- `@rpc(master)` # default
- `@rpc(puppet)`
- `@rpc(any)` # former `@remote`
- Implement three additional `@rpc` options:
- The second parameter is the "sync" option (which also calls the
function locally when RPCing). One of "sync", "nosync".
- The third parameter is the transfer mode (reliable, unreliable,
ordered).
- The third parameter is the channel (unused for now).
2021-07-20 11:17:59 +02:00
Lightning_A
e28fd07b2b
Rename `instance()`->`instantiate()` when it's a verb
2021-06-19 20:49:18 -06:00
Pedro J. Estébanez
04688b92ff
Rename Reference to RefCounted
2021-06-11 18:48:42 +02:00
Lyuma
771190a9db
Fix regression from 160c260
causing export of non-@export properties.
2021-06-10 20:35:58 -07:00
Rémi Verschelde
59b524ae4c
Merge pull request #49067 from JFonS/fix_gcc_warnings
...
Fix some warnings raised by GCC-11.1
2021-06-01 10:47:37 +02:00
George Marques
c7459e3855
GDScript: Use analyzer data to decide assignment conversion
...
Since there might be tricky cases in the analyzer (in the case of unsafe
lines) which would need to be properly checked again. Instead, this
splits the code generator in two functions and use information set by
the analyzer to tell which function to use, without a need to re-check.
2021-05-26 14:09:00 -03:00
jfons
f8e34209af
Fix some warnings raised by GCC-11.1
2021-05-25 17:23:53 +02:00
George Marques
cdb3726fe6
Merge pull request #48347 from Blackiris/fix-temporary-key-not-released
...
GDScript: Fix temporary value not released when used as a dictionary key
2021-05-17 18:50:25 -03:00
George Marques
ec783dd885
GDScript: Add support for builtin static method calls
2021-05-16 11:54:33 -03:00
Julien Nguyen
82522662f8
Fix temporary value not released when used as a dictionary key
2021-05-06 22:13:05 +02:00
George Marques
c201b212c7
GDScript: Implement lambdas compilation and runtime
2021-04-28 11:09:38 -03:00
George Marques
1e4ff2ede6
GDScript: Make sure Lua-style dicts use StringName as keys
2021-04-23 16:00:23 -03:00