summaryrefslogtreecommitdiff
path: root/modules/gdscript/gdscript_parser.cpp
AgeCommit message (Collapse)Author
2021-12-16Use OrderedHashMap for enum_valuesNathan Franke
2021-12-13Fix shadowed global identifier warning duplicationYuri Roubinsky
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-03Fix typo in `gdscript_parser`Raul Santos
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-13Allow using built-in names for variables, push warnings insteadYuri Roubinsky
2021-11-10Merge pull request #54676 from Chaosus/gds_restrict_namesRémi Verschelde
2021-11-09Allow using $/root node pathsMaximilian
format fix shadowing use match instead of comparison Update gdscript_parser.cpp
2021-11-08Prevent identifiers from naming as built-in funcs and global classesYuri Roubinsky
2021-10-28Merge pull request #54350 from akien-mga/clang-format-dont-align-operandsRémi Verschelde
2021-10-28Merge pull request #53526 from KoBeWi/super_printRémi Verschelde
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-15GDScript: Avoid crash if missing setter signatureGeorge Marques
2021-10-11Merge pull request #53103 from ZuBsPaCe/gdscript-analyze-properties-fixGeorge Marques
GDScript: Report property type errors
2021-10-11Remove redundant String operation from GDScript enum exportsYuri Sizov
2021-10-08GDScript: Report property type errorsZuBsPaCe
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[Net] Rename RPCConfig.sync to call_local.Fabio Alessandrelli
For consistency with the other user facing changes.
2021-10-07Change print_line() to use any number of Variantskobewi
2021-10-06Fix outdated no_call_local, use call_remoteMax Hilbrunner
2021-10-02GDScript Check for null list in `for` loopBrian Semrau
2021-10-01[Net] Rename RPC constants and annotation arguments.Fabio Alessandrelli
any -> any_peer sync -> call_local ordered -> unreliable_ordered Multiplayer.RPC_MODE_ANY -> RPC_MODE_ANY_PEER Multiplayer.TRANSFER_MODE_ORDERED -> TRANSFER_MODE_UNRELIABLE_ORDERED
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-21Merge pull request #52906 from vnen/gdscript-show-error-on-yieldRémi Verschelde
2021-09-21Merge pull request #52905 from vnen/gdscript-single-line-declarationRémi Verschelde
2021-09-21GDScript: Show specific error when "yield" is usedGeorge Marques
To help people porting code, it gives a hint to use "await" instead of a generic error.
2021-09-21GDScript: Allow classes declaration to be done in single lineGeorge Marques
Incidentally, allow multiple statements in single line functions when using semicolon as a terminator.
2021-09-21GDScript: Allow multiple lines in signal parameters declarationGeorge Marques
2021-09-17GDScript: Properly catch error when missing index in subscriptGeorge Marques
2021-09-17Merge pull request #51671 from RandomShaper/fix_gdscript_crashGeorge Marques
Fix some GDScript bugs
2021-09-15Merge pull request #52706 from vnen/gdscript-ternary-operator-crashRémi Verschelde
GDScript: Show error when missing expression after ternary else
2021-09-15GDScript: Show error when missing expression after ternary elseGeorge Marques
2021-09-15GDScript: Show error on unary operators without argumentGeorge Marques
2021-09-15GDScript: Allow string keys on Lua-style dictionariesGeorge Marques
Which is useful when the key isn't a valid identifier, such as keys with spaces or numeric keys.
2021-09-13Merge pull request #52068 from ThreeRhinosInAnElephantCostume/fixgdscriptRémi Verschelde
Fix parse error on statement-less files with only newlines, add a warning for empty files.
2021-09-11Fix error on parsing statement-less GDScript files,ThreeRhinosInAnElephantCostume
add an empty file warning, add relevant tests.
2021-09-11Implement iterator variable typing in GDScriptPedro J. Estébanez
2021-09-10GDScript: Removed spurious UNASSIGNED_VARIABLE warning for localsZuBsPaCe
Variable->assignment needs to be incremented when assigned a value. Also fixed and improved unit test 'variable_declaration.gd'. Fixes #52551
2021-09-10Merge pull request #52063 from KoBeWi/double_comma_of_doomGeorge Marques
Fix crash with consecutive commas in Dictionary
2021-09-10Fix crash with consecutive commas in Dictionarykobewi
2021-09-10Merge pull request #51593 from KoBeWi/ifGeorge Marques
Prevent crash when awaiting in a getter/setter
2021-09-10Merge pull request #52081 from ThreeRhinosInAnElephantCostume/fixmatchfreezeGeorge Marques
Fix gdscript pattern matching expressions
2021-09-07[Net] Move multiplayer to core subdir, split RPCManager.Fabio Alessandrelli
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-03Added tests for expression matchingThreeRhinosInAnElephantCostume
2021-08-30[GDScript] [Net] Allow mixing rpc annotation paramters.Fabio Alessandrelli
The strings no longer needs to be in order. The last parameter (channel), still requires all the other parameters to be present.
2021-08-30[Net] Rename RPC "puppet" to "auth" (authority). Drop "master".Fabio Alessandrelli
This commit completely removes the RPC_MODE_MASTER ("master" keyword), and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword). This commit also renames the "Node.[get|set]_network_master" methods to "Node.[get|set]_network_authority". This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY. RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by any puppet peer on the master, while RPC_MODE_PUPPET meant that it would be callable by the master on any puppet. Beside proving to be very confusing to the user (referring to where it could be called instead of who can call it) the RPC_MODE_MASTER is quite useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with the exception that the network master cannot. While this could be useful to check in some case, in such a function you would anyway need to check in code who is the caller via get_rpc_sender_id(), so adding the check there for those rare cases does not warrants a dedicated mode.
2021-08-28Print error message when await is not followed by signal or coroutineWilliam Deurwaarder
When await was not followed by a signal or coroutine the GDScript parser would crash. This fix will check if await is followed by a signal or coroutine in case that isn't true (element == nullptr) then an error message is printed.
2021-08-25Fixed crash when parsing an empty assignment.Louis Dumont
Resolves #51620.
2021-08-25Fixed pattern matching with expressionsThreeRhinosInAnElephantCostume
2021-08-23Merge pull request #51971 from aaronfranke/httpsMax Hilbrunner
Replace HTTP URLs with HTTPS for sites with HTTPS versions
2021-08-22Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke