Commit Graph

489 Commits

Author SHA1 Message Date
e3d72d14ff Use type information to enable GDScript introspection
This makes the Script API provide accurate information when requesting
property or method info.
2018-07-20 21:55:17 -03:00
743053734f Add static type checks in the parser
- 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-20 21:55:16 -03:00
f7793fc5c9 Store type hint of declared identifiers 2018-07-20 21:55:16 -03:00
b7a00aead0 Move inheritance resolution to the parser 2018-07-20 21:55:16 -03:00
8aab9a06d4 Add typing syntax 2018-07-20 21:55:16 -03:00
a3f1ee5c57 Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
8ecef3496c Add proper type information to array property
Part of #19158
2018-06-18 22:24:31 +03:00
8e35d937a9 New sync keywords in GDScript, NativeScript, Mono 2018-05-29 20:26:41 +02:00
1400f6fdc4 Refactor RPCMode enum and checks 2018-05-29 20:26:41 +02:00
4c69a495c9 Revert "RPCMode refactor, more sync modes" 2018-05-29 11:47:52 +02:00
d0b62ce155 Merge pull request #19021 from Faless/rpc_sync_fix
RPCMode refactor, more sync modes
2018-05-29 09:44:03 +02:00
38284bc6da Enable singletons to be recognized as constant expressions
Fix #14681
2018-05-28 13:40:16 -03:00
a5e8a3be5e New sync keywords in GDScript, NativeScript, Mono 2018-05-26 10:49:33 +02:00
9de4ffde61 Refactor RPCMode enum and checks 2018-05-26 10:43:43 +02:00
460e551ddf Merge pull request #16418 from bojidar-bg/15961-gdscript-array-export
Allow exporting arrays of resources in GDScript
2018-05-03 21:19:15 +02:00
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
d2dc8fd423 fix enum from preloaded script in export
without triggering unnecessary reloads and parsing.
2018-03-04 18:01:15 +01:00
612ab4bbc6 Fix typos with codespell
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-21 19:46:06 +01:00
7455244866 Merge pull request #15852 from poke1024/color_hsv
Add Color.from_hsv()
2018-02-19 21:51:04 +01:00
43de4eb4d2 Merge pull request #15933 from x1212/fix_preload_in_exports
fix spurious error messages during autocomplete and validate
2018-02-19 21:46:26 +01:00
aeed774fef Merge pull request #16173 from vnen/gdscript-arguments
Add argument count check for some GDScript functions
2018-02-19 21:35:53 +01:00
48c9ed4545 fix spurious error messages during autocomplete and validate
_parse() caused resets on members like validating and
for_completion by calling clear().
2018-02-14 18:13:00 +01:00
d855fdb451 Allow exporting arrays of resources in GDScript
Fixes #15961
2018-02-05 16:41:13 +02:00
95cfa9bf74 GDScriptParser: Remove debug prints. 2018-02-02 20:37:59 +01:00
802d5c4c6c Add argument count check for some GDScript functions
- Print functions have no check.
- Also remove extra apostrophe from the error report.
2018-01-30 01:32:08 -02:00
ec98e0b715 GDScript: always call ResourceLoader::load() in non-completion mode 2018-01-21 09:32:52 +01:00
67ae443c56 Suppress errors on autocompletion for preload() 2018-01-18 22:29:45 +01:00
be55171231 Add Color.from_hsv() 2018-01-18 22:13:00 +01:00
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
e4213e66b2 Add missing copyright headers and fix formatting
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-05 01:22:23 +01:00
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
1b9c8daf7b Merge pull request #12845 from remorse107/Array-Dictionary-Fix
Fix issue #11400.  Fixes issue with arrays and dictionary acting as static objects between different instances of objects.
2017-12-16 15:49:07 +01:00
2c190b975e Properly support nested ternary expressions
Fixes 14324.
2017-12-11 15:36:32 +02:00
3d8dd7b327 Make GDScript parser raise error when exporting Object 2017-12-09 15:35:02 -02:00
d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
fb801d4964 Allow to extends constant variable 2017-11-20 23:24:52 +01:00
74872fd23e Fix issue #11400. Fixes issue with arrays and dictionary acting as static objects between different instances of objects. 2017-11-17 17:49:52 -06:00
e4a36d0eda Allow exporting enums from GDScript
Use as `export(E) ...`
Closes #12392
2017-11-17 14:33:36 +02:00
4cfc29611e GDScript: Refactor "GD" class prefix to "GDScript" 2017-11-16 18:54:56 +01:00