summaryrefslogtreecommitdiff
path: root/modules/gdscript
AgeCommit message (Collapse)Author
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: Fix type detection on Object typed assignGeorge Marques
Also make typed assigns a debug-only thing, so release builds are more lenient on errors.
2018-07-25GDScript: Allow accessing constants of outer classesGeorge Marques
2018-07-25GDScript: Enable built-in function introspection in non-toolsGeorge Marques
Only for debug builds. Fix problems in non-tools targets.
2018-07-25GDScript: Fix bogus error when a cursor token is found on classGeorge Marques
2018-07-25GDScript: Allow strict conversion when assigning typed variablesGeorge 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: Fix returned value of get_default_argument_count()George Marques
2018-07-25GDScript: Fix main script detectionGeorge Marques
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 hints to improve completionGeorge Marques
- Allow type hints to be completed. - Use type information to infer completion candidates. - Show typed function signature in tooltip. - Add type hints when completing declaration from virtual functions (optional).
2018-07-20Add syntax highlighting to type hintsGeorge 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 typed instructions to GDScriptGeorge Marques
- Typed assignment (built-in, native, and script). - Cast (built-in conversion; native and script checks). - Check type of functions arguments on call. - Check type of members on set.
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-18Style: Format code with clang-format 6.0.1Rémi Verschelde
2018-07-15Global class names (and GDScript support for it)Juan Linietsky
2018-07-05Merge pull request #19637 from dragmz/19548Max Hilbrunner
Fix onready vars / vars accessing class members if _ready / _init not present
2018-07-04Merge pull request #18966 from chanon/new-debug-printMax Hilbrunner
Add new debug print method that shows line number where the print came from
2018-07-03Merge pull request #19828 from jjay/fix_yield_leakMax Hilbrunner
Fix memory leak in GDScript during infinnity loops with yields
2018-07-03Merge pull request #18976 from chanon/new-get-stackMax Hilbrunner
Add new get_stack function to get GDScript stack trace as array
2018-07-03Merge pull request #19251 from YeldhamDev/script_templates_changesMax Hilbrunner
Small changes to the comments in the script templates
2018-06-28Fix memory leak in GDScript during infinnity loops with yieldsYasha Borevich
2018-06-18Fix onready vars / vars accessing class members if _ready / _init not presentMarcin Zawiejski
2018-06-18Add proper type information to array propertyBojidar Marinov
Part of #19158
2018-06-13Removed duplicate default colours and removed GDScriptHighligher colours ↵Paulb23
from main editor.
2018-06-13Merge pull request #19526 from robojumper/fix_tutorialsRémi Verschelde
Add support for tutorial links to makerst.py
2018-06-12Add support for tutorial links to makerst.pyrobojumper
Also change the <tutorials> structure to make use of individual <link> tags
2018-06-12Inner classes' functions now appear in the editor's functions panelJairo Honorio
Fixes #19386
2018-06-11Small changes to the comments in the script templates.Michael Alexsander Silva Dias
2018-05-30SCons: Pass env to modules can_build methodRémi Verschelde
This allows to disable modules based on the environment, in particular `env[tools]` which tells us if we are building the editor or not.
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-28add new print_debug method which shows source and line numberchanon
2018-05-26New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli
2018-05-26Refactor RPCMode enum and checksFabio Alessandrelli