Commit Graph

15566 Commits

Author SHA1 Message Date
George Marques 3445dca01d
Add ability to infer variable type from assigned value
Syntax: var x : = 42
Infers the type of "x" to be an integer.
2018-07-20 21:55:18 -03:00
George Marques 03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
George Marques a2305cd8b2
Fix line number detection in some parser nodes 2018-07-20 21:55:17 -03:00
George Marques 75f395c2a0
Use type hints to improve completion
- 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-20 21:55:17 -03:00
George Marques 95351ac867
Add syntax highlighting to type hints 2018-07-20 21:55:17 -03:00
George Marques 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
George Marques 4b18c4e448
Add typed instructions to GDScript
- 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-20 21:55:17 -03:00
George Marques 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
George Marques f7793fc5c9
Store type hint of declared identifiers 2018-07-20 21:55:16 -03:00
George Marques b7a00aead0
Move inheritance resolution to the parser 2018-07-20 21:55:16 -03:00
George Marques 8aab9a06d4
Add typing syntax 2018-07-20 21:55:16 -03:00
Juan Linietsky cfcb6e11f2
Merge pull request #20312 from Nufflee/fix-#20171
Fix #20171.
2018-07-20 18:17:00 -03:00
Juan Linietsky 336db8bcd1 -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
Nufflee 228bd21e26 Fix #20171. 2018-07-20 22:25:18 +02:00
Rémi Verschelde 002bacc01f
Merge pull request #20311 from YeldhamDev/update_spinner_popup_radio
Make Update Spinner popup use radio items
2018-07-20 21:20:05 +02:00
Michael Alexsander Silva Dias 12b55610ed Make Update Spinner popup use radio items 2018-07-20 14:32:53 -03:00
Juan Linietsky 6c09cdd136
Merge pull request #20157 from GodotExplorer/image-load-webp
Add webp buffer loader for Image
2018-07-20 12:00:21 -03:00
Pieter-Jan Briers a8c97eb094 Makes Mono bindings partial & adds GetNode<T>. 2018-07-20 13:55:13 +02:00
Chaosus 982c4d7d5c Few fixes for editor tab in editor settings 2018-07-20 13:22:22 +03:00
Rémi Verschelde 814fdd3985 Fix some more build issues after c69de2ba4
Fixes #20301.
2018-07-20 11:56:18 +02:00
Rémi Verschelde 2662c7e3d1
Merge pull request #20299 from PJB3005/18-07-20-cs-editorconfig
Adds C# rule to .editorconfig.
2018-07-20 11:36:29 +02:00
Pieter-Jan Briers 4c40227af6 Adds C# rule to .editorconfig.
C# standard is 4 width spaces, not tabs.
2018-07-20 08:42:13 +02:00
Rémi Verschelde 8c9e10553c Fix build issues and typos after c69de2ba4 2018-07-20 08:37:10 +02:00
Rémi Verschelde 286c88bb50 Fix typo in gdnative module path in CODEOWNERS
Supersedes and closes #20293.
2018-07-20 08:04:54 +02:00
Ignacio Etcheverry a85f0f89fe
Merge pull request #20257 from oisincar/fix_basis
Fix bug with Basis.Transposed()
2018-07-20 06:47:15 +02:00
volzhs b2d7641a0d
Merge pull request #20295 from volzhs/fix-restart
Fix unwanted restarting
2018-07-20 10:45:56 +09:00
volzhs 515c848ba8 Fix unwanted restarting 2018-07-20 10:41:32 +09:00
Ignacio Etcheverry ee3c476c9a Add Array and Dictionary wrapper classes to C# 2018-07-20 01:44:30 +02:00
Juan Linietsky c69de2ba46 -Project/Editor settings now use new inspector
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
2018-07-19 19:02:04 -03:00
Rémi Verschelde 76bfe14e00
Merge pull request #20117 from ordigdug/inspector-fix-inconsistencies-with-exported-enums
Fix -new inspector- Inconsistencies with exported enums - Fixes remai…
2018-07-19 18:18:20 +02:00
Max Hilbrunner aea6f4853e
Merge pull request #20265 from BastiaanOlij/csg_documentation
Added some documentation for the CSG nodes
2018-07-19 17:34:30 +02:00
Bastiaan Olij 6843f39875 Added some documentation for the CSG nodes 2018-07-19 22:24:46 +10:00
Rémi Verschelde 4ebcbea1ce
Merge pull request #20259 from marcelofg55/anim_call_err
Print an error when calling an invalid method on an Animation
2018-07-19 08:19:08 +02:00
Juan Linietsky 911febb41f Improvements to vector fields, show axis in color with a background 2018-07-18 22:27:39 -03:00
Marcelo Fernandez 9b9949de39 Print an error when calling an invalid method on an Animation 2018-07-18 22:26:01 -03:00
ordigdug afb4dfab22 Fix -new inspector- Inconsistencies with exported enums - Fixes remaining issues in #19534 2018-07-18 20:01:03 -04:00
oisincar 7a4d593198 Fix bug with Basis.Transposed()
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().
2018-07-19 00:17:45 +01:00
Juan Linietsky 43dc050947 Several improvements to editor inspector usability and style 2018-07-18 19:37:41 -03:00
Ignacio Etcheverry 2f69e36cef Add Dictionary::erase_checked(key) method
Same as erase, but it returns a boolean value indicating whether the pair was erased or not.
This method should be removed during the next compatibility breakage, and 'Dictionary::erase(key)' should be changed to return a boolean.
2018-07-18 23:07:31 +02:00
Ignacio Etcheverry a731bd5864
Merge pull request #20253 from neikeq/nobranchnameideasfeelsbadman
Make C# bindings generator ignore disabled classes
2018-07-18 21:20:34 +02:00
Ignacio Etcheverry 92c7fe422b Make C# bindings generator ignore disabled classes 2018-07-18 21:15:41 +02:00
Juan Linietsky 82b550c6b3 Fix spin slider, was not registering drag properly 2018-07-18 15:35:26 -03:00
Pedro J. Estébanez 49d0af3c8e Fix CanvasItem search for a CanvasLayer
This fixes the situation where a `CanvasItem` descendant of a `Viewport` which in turn is a descendant of a `CanvasLayer` prefers the more outer `CanvasLayer` rather than the `Vierport`'s.

Because of that, `CanvasItem`s inside a `Viewport` inside a `CanvasLayer` were being rendered to the main `Viewport` instead of the render target of the innermost one.
2018-07-18 20:34:21 +02:00
Rémi Verschelde b538254b18
Merge pull request #20243 from karroffel/object-windows-doof
fix nameclash with MSVC
2018-07-18 19:31:44 +02:00
karroffel 43ae1c712f fix nameclash with MSVC 2018-07-18 19:28:26 +02:00
Juan Linietsky d1550b4a9b Ability to disable scale in nodes, closes #19927 2018-07-18 13:48:09 -03:00
Rémi Verschelde 36efa7d445 Travis: Update clang-format version in shell script 2018-07-18 17:49:01 +02:00
Rémi Verschelde 22b176f69d Travis: Install libstdc++ >= 4.9 for clang-format-6.0 2018-07-18 17:39:05 +02:00
bruvzg 31a0b9eaed
Fix OpenGL buffer depth for per pixel transparency support (Windows, NVIDIA) 2018-07-18 17:40:20 +03:00
Juan Linietsky 09b1fdc97b
Merge pull request #19931 from BastiaanOlij/csg_polygon_local
Added path_local, path_continuous_u and path_joined properties to CSGPolygon
2018-07-18 11:33:47 -03:00