summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/analyzer/features
AgeCommit message (Collapse)Author
2023-01-12GDScript: Fix extending abstract classes, forbid their constructionDmitrii 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.
2022-01-04GDScript: Add annotation to ignore warningsGeorge Marques
2021-10-15GDScript: Fix inferred typed array marked as constantGeorge Marques
2021-10-14Merge pull request #53726 from briansemrau/gd-outer-classGeorge Marques
GDScript 2.0: Access outer scope classes
2021-10-13GDScript: Access outer scope classesBrian Semrau
2021-10-12GDScript: Fix typed array with custom classesGeorge Marques
2021-10-08GDScript: Report property type errorsZuBsPaCe
Inline getters & setters are now FunctionNodes. Their names are set in the parser, not in the compiler. GDScript-Analyzer will now run through getter and setter. Also report wrong type or signature errors regarding getset properties. Added GDScript tests for getters and setters. #53102
2021-10-06Merge pull request #53479 from vnen/gdscript-subscript-object-selfRémi Verschelde
2021-10-06GDScript: Allow subscript on self and object typesGeorge Marques
2021-10-06GDScript: Avoid hard errors on inferred typesGeorge Marques
Since inference isn't always correct, they are now treated as unsafe instead of errors. This also removes inferred type when a variable is reassigned. Since it's not aware of branching, the types might become invalid in a later context.
2021-10-06GDScript: Make all warnings enabled in test generationGeorge Marques
The test generation doesn't initialize the language (since it's already initialized in main), but it still needs the warning enabled so it matches the actual tests.
2021-09-21Merge pull request #52718 from Calinou/gdscript-add-integration-tests-2Rémi Verschelde
2021-09-17GDScript: Avoid inferred types from giving hard errorsGeorge Marques
2021-09-15Add more integration tests to the GDScript test suiteHugo Locurcio
This also fixes a typo in the `bitwise_float_right_operand.gd` test.
2021-09-14Add dozens of new integration tests to the GDScript test suiteHugo Locurcio
This also ignores `.out` files in the file format static checks.
2021-09-13Fix GDScript test casesGeorge Marques
2021-09-13Merge pull request #52100 from vnen/gdscript-access-outer-constantsRémi Verschelde
GDScript: Allow access to outer constant and enum values