summaryrefslogtreecommitdiff
path: root/modules/gdscript/gdscript_parser.cpp
AgeCommit message (Collapse)Author
2022-06-23Implement varargs in Methodinforeduz
Variadic templates are an awful thing. Implements #62233 using them in MethodInfo so less changes are required.
2022-06-19Allow autocompletion of "noslider" in export_rangeMarcus Elg
2022-05-31Merge pull request #61440 from vnen/gdscript-scene-unique-nodesRémi Verschelde
GDScript: Support `%` in shorthand for `get_node`
2022-05-27GDScript: Support `%` in shorthand for `get_node`George Marques
The `%` is used in scene unique nodes. Now `%` can also be used instead of `$` for the shorthand, besides being allowed generally anywhere in the path as the prefix for a node name.
2022-05-26Merge pull request #59943 from jordigcs/gdscript_warning_enumsRémi Verschelde
Add enum values (Ignore, Warn, Error) to GDScript warnings
2022-05-25Use blank line instead of `@desc:` for doc commentsDanil Alexeev
2022-05-23GDScript: Fix lambda captures in default argument valuesGeorge Marques
2022-05-23GDScript: Fix `if` after lambda being seen as ternaryGeorge Marques
2022-05-23GDScript: Do not allow standalone lambdasGeorge Marques
They cannot be accessed in this case, so an error is shown to avoid misleading the uses, especially in case of named lambdas.
2022-05-18Merge pull request #55201 from Scony/fix-unreachable-code-false-positiveRémi Verschelde
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-12Fix first value updateJoJoX
2022-05-12Add a new HashMap implementationreduz
Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
2022-05-12Fix incorrect precedence of pow operator in GDScript Yuri Rubinsky
2022-05-11Implement exponential operator (**) to GDScript/ExpressionsYuri Roubinsky
2022-05-11Merge pull request #59863 from cdemirer/fix-match-multiple-bind-single-patternRémi Verschelde
Fix issues with multiple bind patterns in match statement
2022-04-24GDScript: Allow using self in lambdasGeorge Marques
2022-04-06Add enum values (Ignore, Warn, Error) to GDScript warningsjordi
2022-04-04Fix issues with multiple bind patterns in match statementcdemirer
2022-03-30Merge pull request #59694 from vnen/gdscript-better-call-superRémi Verschelde
2022-03-30GDScript: Fix issues with completion and `super` callsGeorge Marques
- Make call errors use the call node instead of the calle, which will be empty on super calls. - Don't allow `super()` to be used within lambdas.
2022-03-30Fix autocompletion of static methods in built-in types in GDScriptYuri Roubinsky
2022-03-22Merge pull request #58971 from Chaosus/gds_multiline_annotationYuri Rubinsky
2022-03-16Add an error emitting when the `@export_flags` arg count is exceededYuri Roubinsky
2022-03-10Allow making multiline annotations in GDScriptYuri Roubinsky
2022-02-18Make 'is_attribute' false during parse error to prevent crashSaracenOne
2022-02-08Refactor some object type checking code with `cast_to`Rémi Verschelde
Less stringly typed logic, and less String allocations and comparisons.
2022-02-04Merge pull request #57591 from vnen/gdscript-enum-fixesRémi Verschelde
2022-02-03GDScript: Consolidate behavior for assigning enum typesGeorge Marques
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-01-22Merge pull request #55433 from V-Sekai/prev_operand_nullptr_checkRémi Verschelde
Check for nullptr expression in parse_precedence function
2022-01-22Merge pull request #55214 from Scony/fix-gdscript-crash-2Rémi Verschelde
Fix GDScript parser crash on 'dollar mixed with assignment' expression
2022-01-17Merge pull request #55625 from ↵Rémi Verschelde
cdemirer/fix-type-guessing-and-gdscript-parser-printing Fix `--test gdscript-parser` crash
2022-01-13Fix various typosluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inh,inout,leapyear,lod,nd,numer,ois,ony,paket,ro,seeked,sinc,switchs,te,uint,varn,vew`
2022-01-10Merge pull request #55715 from nathanfranke/enum-orderedRémi Verschelde
2022-01-10Merge pull request #56342 from NNesh/fix/class-completionRémi Verschelde
2022-01-08Fixed completion showing for class membersNNesh
2022-01-05Merge pull request #56483 from vnen/gdscript-warning-annotationRémi Verschelde
Add annotation to ignore warnings
2022-01-04GDScript: Add annotation to ignore warningsGeorge Marques
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2022-01-03Fix gdscript-parser crashcdemirer
Fixes gdscript-parser crashing while printing empty identifiers.
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-29Check for nullptr expression in parse_precedence functionSaracenOne
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-21Fix GDScript parser crash on 'dollar mixed with assignment' expressionPawel Lampe
fixes #53696
2021-11-21Fix 'unreachable-code' false-positive, fixes #55154Pawel Lampe
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