summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Implement varargs in Methodinforeduz2022-06-231-10/+10
| | | | Variadic templates are an awful thing. Implements #62233 using them in MethodInfo so less changes are required.
* Allow autocompletion of "noslider" in export_rangeMarcus Elg2022-06-191-1/+1
|
* Merge pull request #61440 from vnen/gdscript-scene-unique-nodesRémi Verschelde2022-05-311-49/+88
|\ | | | | GDScript: Support `%` in shorthand for `get_node`
| * GDScript: Support `%` in shorthand for `get_node`George Marques2022-05-271-49/+88
| | | | | | | | | | | | 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.
* | Merge pull request #59943 from jordigcs/gdscript_warning_enumsRémi Verschelde2022-05-261-1/+7
|\ \ | | | | | | Add enum values (Ignore, Warn, Error) to GDScript warnings
| * | Add enum values (Ignore, Warn, Error) to GDScript warningsjordi2022-04-061-1/+7
| | |
* | | Use blank line instead of `@desc:` for doc commentsDanil Alexeev2022-05-251-18/+17
| |/ |/|
* | GDScript: Fix lambda captures in default argument valuesGeorge Marques2022-05-231-0/+3
| |
* | GDScript: Fix `if` after lambda being seen as ternaryGeorge Marques2022-05-231-1/+1
| |
* | GDScript: Do not allow standalone lambdasGeorge Marques2022-05-231-0/+4
| | | | | | | | | | They cannot be accessed in this case, so an error is shown to avoid misleading the uses, especially in case of named lambdas.
* | Merge pull request #55201 from Scony/fix-unreachable-code-false-positiveRémi Verschelde2022-05-181-5/+1
|\ \
| * | Fix 'unreachable-code' false-positive, fixes #55154Pawel Lampe2021-11-211-5/+1
| | |
* | | Replace most uses of Map by HashMapreduz2022-05-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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!
* | | Fix first value updateJoJoX2022-05-121-0/+1
| | |
* | | Add a new HashMap implementationreduz2022-05-121-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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<>
* | | Fix incorrect precedence of pow operator in GDScript Yuri Rubinsky2022-05-121-1/+1
| | |
* | | Implement exponential operator (**) to GDScript/ExpressionsYuri Roubinsky2022-05-111-0/+16
| | |
* | | Merge pull request #59863 from cdemirer/fix-match-multiple-bind-single-patternRémi Verschelde2022-05-111-1/+2
|\ \ \ | | | | | | | | Fix issues with multiple bind patterns in match statement
| * | | Fix issues with multiple bind patterns in match statementcdemirer2022-04-041-1/+2
| | |/ | |/|
* / | GDScript: Allow using self in lambdasGeorge Marques2022-04-241-3/+0
|/ /
* | Merge pull request #59694 from vnen/gdscript-better-call-superRémi Verschelde2022-03-301-1/+5
|\ \
| * | GDScript: Fix issues with completion and `super` callsGeorge Marques2022-03-301-1/+5
| | | | | | | | | | | | | | | | | | - 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.
* | | Fix autocompletion of static methods in built-in types in GDScriptYuri Roubinsky2022-03-301-1/+1
|/ /
* | Merge pull request #58971 from Chaosus/gds_multiline_annotationYuri Rubinsky2022-03-221-0/+2
|\ \
| * | Allow making multiline annotations in GDScriptYuri Roubinsky2022-03-101-0/+2
| | |
* | | Add an error emitting when the `@export_flags` arg count is exceededYuri Roubinsky2022-03-161-0/+9
|/ /
* | Make 'is_attribute' false during parse error to prevent crashSaracenOne2022-02-181-1/+2
| |
* | Refactor some object type checking code with `cast_to`Rémi Verschelde2022-02-081-4/+4
| | | | | | | | Less stringly typed logic, and less String allocations and comparisons.
* | Merge pull request #57591 from vnen/gdscript-enum-fixesRémi Verschelde2022-02-041-2/+0
|\ \
| * | GDScript: Consolidate behavior for assigning enum typesGeorge Marques2022-02-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #55433 from V-Sekai/prev_operand_nullptr_checkRémi Verschelde2022-01-221-1/+1
|\ \ \ | | | | | | | | Check for nullptr expression in parse_precedence function
| * | | Check for nullptr expression in parse_precedence functionSaracenOne2021-11-291-1/+1
| | | |
* | | | Merge pull request #55214 from Scony/fix-gdscript-crash-2Rémi Verschelde2022-01-221-0/+3
|\ \ \ \ | |_|/ / |/| | | Fix GDScript parser crash on 'dollar mixed with assignment' expression
| * | | Fix GDScript parser crash on 'dollar mixed with assignment' expressionPawel Lampe2021-11-211-0/+3
| | |/ | |/| | | | | | | fixes #53696
* | | Merge pull request #55625 from ↵Rémi Verschelde2022-01-171-1/+5
|\ \ \ | | | | | | | | | | | | | | | | cdemirer/fix-type-guessing-and-gdscript-parser-printing Fix `--test gdscript-parser` crash
| * | | Fix gdscript-parser crashcdemirer2022-01-031-1/+5
| | | | | | | | | | | | | | | | Fixes gdscript-parser crashing while printing empty identifiers.
* | | | Fix various typosluz paz2022-01-131-1/+1
| | | | | | | | | | | | 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`
* | | | Merge pull request #55715 from nathanfranke/enum-orderedRémi Verschelde2022-01-101-4/+4
|\ \ \ \
| * | | | Use OrderedHashMap for enum_valuesNathan Franke2021-12-161-4/+4
| | | | |
* | | | | Merge pull request #56342 from NNesh/fix/class-completionRémi Verschelde2022-01-101-0/+2
|\ \ \ \ \
| * | | | | Fixed completion showing for class membersNNesh2022-01-081-0/+2
| |/ / / /
* | | | | Merge pull request #56483 from vnen/gdscript-warning-annotationRémi Verschelde2022-01-051-9/+53
|\ \ \ \ \ | | | | | | | | | | | | Add annotation to ignore warnings
| * | | | | GDScript: Add annotation to ignore warningsGeorge Marques2022-01-041-9/+53
| |/ / / /
* / / / / Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
|/ / / / | | | | | | | | | | | | Happy new year to the wonderful Godot community!
* | | | Fix shadowed global identifier warning duplicationYuri Roubinsky2021-12-131-34/+3
| | | |
* | | | Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-2/+2
|/ / / | | | | | | | | | | | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* | / Fix typo in `gdscript_parser`Raul Santos2021-12-031-4/+4
| |/ |/|
* | Rename `remove()` to `remove_at()` when removing by indexLightning_A2021-11-231-2/+2
| |
* | Allow using built-in names for variables, push warnings insteadYuri Roubinsky2021-11-131-27/+24
|/
* Merge pull request #54676 from Chaosus/gds_restrict_namesRémi Verschelde2021-11-101-8/+76
|\