summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/analyzer/features
AgeCommit message (Collapse)Author
2023-01-31GDScript: Allow void functions to return calls to other void functionsGeorge Marques
2023-01-31GDScript: Fix issues with typed arraysDmitrii Maganov
2023-01-30GDScript: Fix vararg method calls with exact argumentsDmitrii Maganov
2023-01-29Merge pull request #71844 from vonagam/fix-constant-conversionsRémi Verschelde
GDScript: Fix constant conversions
2023-01-29GDScript: Fix constant conversionsDmitrii Maganov
2023-01-28GDScript: Fix implicit conversions for function returnsDmitrii Maganov
2023-01-28GDScript: Fix test from #69163 after annotations changeRémi Verschelde
2023-01-28Merge pull request #69163 from vonagam/variant-safe-linesRémi Verschelde
GDScript: Fix wrong marking of some lines related to Variant as unsafe
2023-01-25GDScript: Allow constant expressions in annotationsDanil Alexeev
2023-01-25Merge pull request #71349 from vonagam/disallow-infer-on-weakRémi Verschelde
GDScript: Disallow type inference with untyped initializer
2023-01-18Fix unnammed enum crash regressionocean (they/them)
2023-01-13GDScript: Disallow type inference with untyped initializerDmitrii Maganov
2023-01-13GDScript: Fix typing of iterator in for loopDmitrii Maganov
2023-01-12Merge pull request #70733 from vonagam/fix-assigning-untypedRémi Verschelde
GDScript: Fix some issues with assignments that involve untyped things
2023-01-12GDScript: Fix extending abstract classes, forbid their constructionDmitrii Maganov
2023-01-12GDScript: Fix wrong marking of some lines related to Variant as unsafeDmitrii Maganov
2023-01-12GDScript: Fix some issues with assignments that involve untyped thingsDmitrii Maganov
2023-01-12GDScript: Fix getting type from PropertyInfo for Variant argumentsDmitrii Maganov
2023-01-10Add GDScript `.editorconfig` rulesAdam Scott
- Uniformize `.gd` unit test files indentation to tabs (where needed)
2023-01-09Fix GDScript base and outer classes, signals and functions lookup orderAdam Scott
- Add outer class lookup test - Add signal lookup test Co-authored-by: Dmitrii Maganov <vonagam@gmail.com>
2023-01-09Assorted enum and native type fixesocean (they/them)
2023-01-06GDScript: Fix typing of lambda functionsDmitrii Maganov
2023-01-06GDScript: Fix array as default value for parameterDmitrii Maganov
2023-01-06Unify typing of variables, constants and parameters in GDScriptDmitrii Maganov
2023-01-03Merge pull request #70859 from vonagam/fix-preload-native-typeRémi Verschelde
GDScript: Fix wrong native type for preloaded class
2023-01-03Merge pull request #70656 from vonagam/fix-void-returnsRémi Verschelde
GDScript: Disallow return with value in void functions
2023-01-03GDScript: Fix wrong native type for preloaded classDmitrii Maganov
2022-12-29GDScript: Disallow return with value in void functionsDmitrii Maganov
2022-12-28Fix usage of Enum as constantDmitrii Maganov
2022-12-23Merge pull request #69991 from rune-scape/cast-typeRémi Verschelde
GDScript: Fix cast producing null
2022-12-23Merge pull request #70220 from adamscott/fix-external-enumRémi Verschelde
Fix external enums not assignable as constants
2022-12-22Fix GDScript analyzer null literalrune-scape
2022-12-17Fix external enums not assignable as constantsAdam Scott
- Add external enums test - Rename external inner class test - Clean up `GDScriptAnalyzer::reduce_identifier_from_base` class behavior
2022-12-17Fix inner class constant assignmentAdam Scott
2022-12-16Fix enum value regressionrune-scape
2022-12-15Merge pull request #69471 from rune-scape/rune-out-of-orderRémi Verschelde
GDScript: Out of order member resolution
2022-12-14GDScript: Allow out of order member resolutionrune-scape
2022-12-12GDScript: Fix cast producing nullrune-scape
2022-12-12Fix String type compatibility being too permissiverune-scape
2022-12-10Fix constant base typing in extended GDScript classAdam Scott
2022-12-05Unify String and StringNamerune-scape
2022-11-18Fix cyclic references in GDScript 2.0Adam Scott
2022-11-13GDScript compiler subclass bugfixesRune
2022-08-31Improve null and object printing to avoid confusion with arraysHugo Locurcio
- Use different syntax for object printing to avoid confusion with arrays. - Print null as `<null>` to avoid confusion with a string `"null"`. - Display `<empty>` in editor resource pickers to avoid confusion with array-based properties.
2022-08-07fix(gdscript): Infer type from preload constAntonio Dell'Annunziata
When resolving the type of the attribute from the variant, the result_type.kind was overritten for no reason. It is assumed that this only needs to be done, if the variant value is not valid to have any kind here. Solves #63715
2022-05-24GDScript: Don't show redundant await warning on unknown typesGeorge Marques
Also avoid it when the type is known to be a signal.
2022-05-03Add regression test for gdscript valid function signatureCalebJohn
Previously, there was an issue where the gdscript analyzer incorrectly riased a validation error for code that had a default Dictionary, Array, or custom type.
2022-03-06GDScript: Check if method signature matches the parentGeorge Marques
To guarantee polymorphism, a method signature must be compatible with the parent. This checks if: 1. Return type is the same. 2. The subclass method takes at least the same amount of parameters. 3. The matching parameters have the same type. 4. If the subclass takes more parameters, all of the extra ones have a default value. 5. If the superclass has default values, so must have the subclass. There's a few test cases to ensure this holds up.
2022-02-03GDScript: Treat enum values as int and enum types as dictionaryGeorge Marques
Since enums resolve to a dictionary at runtime, calling dictionary methods on an enum type is a valid use case. This ensures this is true by adding test cases. This also makes enum values be treated as ints when used in operations.
2022-02-03GDScript: Consolidate behavior for assigning enum typesGeorge Marques
This makes sure that assigning values to enum-typed variables are consistent. Same enum is always valid, different enum is always invalid (without casting) and assigning `int` creates a warning if there is no casting. There are new test cases to ensure this behavior doesn't break in the future.