summaryrefslogtreecommitdiff
path: root/modules/gdscript/gdscript_parser.cpp
AgeCommit message (Collapse)Author
2018-08-10Added system for GDScript warningsGeorge Marques
- Count and panel per script. - Ability to disable warnings per script using special comments. - Ability to disable warnings globally using Project Settings. - Option to treat enabled warnings as errors.
2018-07-31Allow some non-integer built-in constants in gdscriptBernhard Liebl
2018-07-26GDScript: Fix parse error in string formattingGeorge Marques
2018-07-25GDScript: Add type inference syntax for function argumentsGeorge Marques
2018-07-25GDScript: Fix type detection for String formatting operatorGeorge Marques
2018-07-25GDScript: Allow accessing constants of outer classesGeorge Marques
2018-07-25GDScript: Fix bogus error when a cursor token is found on classGeorge Marques
2018-07-25GDScript: Fix mismatching between export hint and type hintGeorge Marques
2018-07-25GDScript: Allow inherited method to add optional argumentsGeorge Marques
Also show the parent method signature in the error message.
2018-07-25GDScript: Look up local scope first for detecting typeGeorge Marques
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-20Rewrite code completionGeorge Marques
- Use data type struct from the parser. - Avail from type hints when type can't be guessed. - Consider inner classes and other scripts when looking for candidates.
2018-07-20Add ability to infer variable type from assigned valueGeorge Marques
Syntax: var x : = 42 Infers the type of "x" to be an integer.
2018-07-20Add editor highlight for type-safe linesGeorge Marques
The line number is hightlighted to indicate that the line contains only type-safe code.
2018-07-20Fix line number detection in some parser nodesGeorge Marques
2018-07-20Use type information to enable GDScript introspectionGeorge Marques
This makes the Script API provide accurate information when requesting property or method info.
2018-07-20Add static type checks in the parserGeorge Marques
- Resolve types for all identifiers. - Error when identifier is not found. - Match return type and error when not returning a value when it should. - Check unreachable code (code after sure return). - Match argument count and types for function calls. - Determine if return type of function call matches the assignment. - Do static type check with match statement when possible. - Use type hints to determine export type. - Check compatibility between type hint and explicit export type.
2018-07-20Store type hint of declared identifiersGeorge Marques
2018-07-20Move inheritance resolution to the parserGeorge Marques
2018-07-20Add typing syntaxGeorge Marques
2018-07-15Global class names (and GDScript support for it)Juan Linietsky
2018-06-18Add proper type information to array propertyBojidar Marinov
Part of #19158
2018-05-29New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli
2018-05-29Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-29Revert "RPCMode refactor, more sync modes"Max Hilbrunner
2018-05-29Merge pull request #19021 from Faless/rpc_sync_fixMax Hilbrunner
RPCMode refactor, more sync modes
2018-05-28Enable singletons to be recognized as constant expressionsGeorge Marques
Fix #14681
2018-05-26New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli
2018-05-26Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-03Merge pull request #16418 from bojidar-bg/15961-gdscript-array-exportRémi Verschelde
Allow exporting arrays of resources in GDScript
2018-04-22Change ".." punctuation for "..." in editor strings (#16507)Hugo Locurcio
2018-03-04fix enum from preloaded script in exportx1212
without triggering unnecessary reloads and parsing.
2018-02-21Fix typos with codespellluz.paz
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
2018-02-19Merge pull request #15852 from poke1024/color_hsvRémi Verschelde
Add Color.from_hsv()
2018-02-19Merge pull request #15933 from x1212/fix_preload_in_exportsRémi Verschelde
fix spurious error messages during autocomplete and validate
2018-02-19Merge pull request #16173 from vnen/gdscript-argumentsRémi Verschelde
Add argument count check for some GDScript functions
2018-02-14fix spurious error messages during autocomplete and validatex1212
_parse() caused resets on members like validating and for_completion by calling clear().
2018-02-05Allow exporting arrays of resources in GDScriptBojidar Marinov
Fixes #15961
2018-02-02GDScriptParser: Remove debug prints.Andreas Haas
2018-01-30Add argument count check for some GDScript functionsGeorge Marques
- Print functions have no check. - Also remove extra apostrophe from the error report.
2018-01-21GDScript: always call ResourceLoader::load() in non-completion modeBernhard Liebl
2018-01-18Suppress errors on autocompletion for preload()Bernhard Liebl
2018-01-18Add Color.from_hsv()Bernhard Liebl
2018-01-18Fix typos in code and docs with codespellRémi Verschelde
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-16Merge pull request #12845 from remorse107/Array-Dictionary-FixRémi Verschelde
Fix issue #11400. Fixes issue with arrays and dictionary acting as static objects between different instances of objects.
2017-12-11Properly support nested ternary expressionsBojidar Marinov
Fixes 14324.
2017-12-09Make GDScript parser raise error when exporting ObjectGeorge Marques
2017-12-07Style: Apply clang-format again on all filesRémi Verschelde
Fixes issues introduced by newer clang-format versions or commits pushed directly without using the clang-format pre-commit hook.