- [x] Data-driven test system (#546) - [x] Specify source and target using comments (link them using a common name) and test markers - [x] Ability to load multiple files at once - [x] Ability to test that some cross-references cannot be resolved - [x] Document how to add more tests - [x] Scoping for imports - [x] Qualified imports - [x] Qualified import with alias - [x] Wildcard imports - [x] Default import of `safeds.**.*` - [x] Default import of everything in same package - [x] Explicit import shadows implicit import of declaration in same package - [x] Declaration in own file shadows implicit import of safeds declarations - [x] Declaration in own file shadows implicit import of declaration in same package - [x] Declaration in own file shadows explicit import (?) - [x] Scoping for annotation calls - [x] Annotations in other files - [x] Scoping for type parameter constraints - [x] Target: Type parameter of class - [x] Target: Type parameter of enum variant - [x] Target: Type parameter of function - [x] Enables references to type parameters of outer layers - [x] Scoping for yield - [x] Scoping for arguments - [x] Arguments of calls - [x] Arguments of annotation calls - [x] Scoping for references - [x] Target: Local variable - [x] Prevent forward references to local variables - [x] Enable closures (access to local variables of outer layers) - [x] Target: Parameter - [x] Enable closures (access to parameters of outer layers) - [x] Target: Class - [x] Target: Enum - [x] Target: Global function - [x] Target: Schema - [x] Target: Pipeline - [x] Target: Segment - [x] Take visibility modifiers into account - [x] Target: Instance attribute - [x] Target: Static attribute - [x] Target: Nested class (in another class) - [x] Target: Nested enum (in another class) - [x] Target: Instance method - [x] Target: Static method - [x] Target: Result - [x] Target: Enum variant - [x] Target: Parameter of enum variant - [x] Target: Members of containing class from default value (?) - [x] Target: Containing classes from default value (?) - [x] Target: Members of containing class from annotation call argument (?) - [x] Target: Containing classes from annotation call argument (?) - [x] Target: Previous parameter from default value (?) - [x] Prevent references to following parameters from default values: `fun f(p: Int = q, q: Int = p)` - [x] Prevent references to type parameters - [x] Inheritance - [x] Overriding - [x] Shadowing - [x] Hiding of static members - [x] Scoping for named types - [x] Target: Class - [x] Target: Enum - [x] Target: Enum variant - [x] Target: Type parameter - [x] In parent type lists + https://github.com/Safe-DS/DSL/issues/29 - [x] Named type declarations in other files - [x] Scoping for type arguments - [x] Type arguments of named type
safeds.**.*fun f(p: Int = q, q: Int = p)