summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/analyzer
AgeCommit message (Collapse)Author
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-25Merge pull request #61279 from Trioct/fix-typed-array-assignmentRémi Verschelde
2022-05-25Fix const typed array assignmentTrioct
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-04-19Fixes GDScript define nested dictionary and array as constants #50285PastMoments
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-13GDScript: Fix parsing default parameter values from function callsstrank
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-12Merge pull request #53720 from vnen/gdscript-typed-array-custom-classRémi Verschelde
2021-10-12GDScript: Fix typed array with custom classesGeorge Marques
2021-10-12GDScript: Make setter parameter type same as variable typeGeorge 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-29GDScript: Don't allow builtin type names as identifiersGeorge Marques
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-15GDScript: Allow string keys on Lua-style dictionariesGeorge Marques
Which is useful when the key isn't a valid identifier, such as keys with spaces or numeric keys.
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
2021-08-26Correct null and boolean values being capitalised by the str commandBalloonpopper
2021-08-24GDScript: Allow access to outer constant and enum valuesGeorge Marques
2021-08-18GDScript: Fix calling builtin static functionsGeorge Marques
2021-08-18GDScript: Fix inner classes and preloaded scripts as typesGeorge Marques
2021-05-26GDScript: Fix function signature check for self callsGeorge Marques