Age | Commit message (Collapse) | Author |
|
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
|
|
Fixes #21682 with a partial revert of #21411.
The ~Ref() destructor (from 'scriptres') already takes care
of freeing the 'script' resource.
|
|
|
|
|
|
Allow `is` operator to test built-in types
|
|
Deprecating bit flags export with no hint text
|
|
Remove space before colon on type hints
|
|
|
|
|
|
- gdscript
- gdscript_compiler
- regex
- android/export
- gles3/rasterizer (scene and storage)
|
|
|
|
|
|
Makes it simple to ignore particular arguments without adding special
comments, especially in engine-defined functions.
|
|
Don't show on console/output anymore.
|
|
|
|
Also forbid shadowing a variable from an upper scope.
|
|
|
|
Since multiline comments are not officially supported in GDScript, it is
more common to see multiline strings being used as strings rather than
as comments (which are actually standalone expressions here).
This closes #21142.
|
|
|
|
|
|
Fix case where exported properties value is lost
|
|
|
|
- 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.
|
|
|
|
Fixes exported property modified values lost when creating a placeholder script instance with a failed script compilation
- Object set/get will call PlaceHolderScriptInstance's new fallback set/get methods as a last resort. This way, placeholder script instances can keep the values for storage or until the script is compiled successfuly.
- Script::can_instance() will only return true if a real script instance can be created. Otherwise, in the case of placeholder script instances, it will return false.
- Object::set_script(script) is now in charge of requesting the creation of placeholder script instances. It's no longer Script::instance_create(owner)'s duty.
- PlaceHolderScriptInstance has a new method set_build_failed(bool) to determine whether it should call into its script methods or not.
- Fixed a few problems during reloading of C# scripts.
|
|
|
|
|
|
|
|
Also make typed assigns a debug-only thing, so release builds are more
lenient on errors.
|
|
|
|
Only for debug builds. Fix problems in non-tools targets.
|
|
|
|
|
|
|
|
Also show the parent method signature in the error message.
|
|
|
|
|
|
|
|
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.
|
|
- 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.
|
|
Syntax: var x : = 42
Infers the type of "x" to be an integer.
|
|
The line number is hightlighted to indicate that the line contains only
type-safe code.
|
|
|
|
- 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).
|
|
|
|
This makes the Script API provide accurate information when requesting
property or method info.
|
|
- 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.
|
|
- 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.
|
|
|
|
|