From 3d43d38fd3db9f442d5f79d5fe8bd5ce7c9dd7cf Mon Sep 17 00:00:00 2001 From: Lars Reimann Date: Thu, 25 Apr 2024 18:44:20 +0200 Subject: [PATCH] feat: visibility modifiers for any module member (#1104) Closes #1083 ### Summary of Changes All module members can now have a visibility. This is useful if, say, a class is only used internally for typing. Pipelines must always be private, which is also the default if no visibility modifier is provided. They can never be referenced anyway, not even in the same file. --------- Co-authored-by: megalinter-bot <129584137+megalinter-bot@users.noreply.github.com> --- .../src/language/grammar/safe-ds.langium | 20 +++++- .../src/language/helpers/nodeProperties.ts | 4 +- .../lsp/safe-ds-completion-provider.ts | 2 +- .../src/language/lsp/safe-ds-formatter.ts | 66 ++++++++----------- .../scoping/safe-ds-scope-computation.ts | 5 +- .../other/declarations/moduleMembers.ts | 27 ++++++++ .../other/declarations/pipelines.ts | 21 ++++++ .../validation/other/declarations/segments.ts | 22 ------- .../language/validation/safe-ds-validator.ts | 12 ++-- .../workspace/safe-ds-package-manager.ts | 4 +- .../lsp/safe-ds.completion-provider.test.ts | 8 +-- .../internal with annotation call.sdsdev | 10 +++ .../declarations/annotations/internal.sdsdev | 5 ++ .../private with annotation call.sdsdev | 10 +++ .../declarations/annotations/private.sdsdev | 5 ++ .../internal with annotation call.sdsdev | 10 +++ .../declarations/classes/internal.sdsdev | 5 ++ .../private with annotation call.sdsdev | 10 +++ .../declarations/classes/private.sdsdev | 5 ++ .../internal with annotation call.sdsdev | 10 +++ .../declarations/enums/internal.sdsdev | 5 ++ .../enums/private with annotation call.sdsdev | 10 +++ .../declarations/enums/private.sdsdev | 5 ++ .../internal with annotation call.sdsdev | 10 +++ .../declarations/functions/internal.sdsdev | 5 ++ .../private with annotation call.sdsdev | 10 +++ .../declarations/functions/private.sdsdev | 5 ++ .../internal with annotation call.sdsdev | 10 +++ .../declarations/pipelines/internal.sdsdev | 5 ++ .../private with annotation call.sdsdev | 10 +++ .../declarations/pipelines/private.sdsdev | 5 ++ .../schemas}/annotation call.sdsdev | 0 .../schemas}/empty schema.sdsdev | 0 .../internal with annotation call.sdsdev | 10 +++ .../declarations/schemas/internal.sdsdev | 5 ++ .../schemas}/one column.sdsdev | 0 .../private with annotation call.sdsdev | 10 +++ .../declarations/schemas/private.sdsdev | 5 ++ .../schemas}/two columns.sdsdev | 0 ...v => internal with annotation call.sdsdev} | 0 ...nternal segment.sdsdev => internal.sdsdev} | 0 ...ev => private with annotation call.sdsdev} | 0 ...{private segment.sdsdev => private.sdsdev} | 0 ...o visibilities (internal, internal).sdsdev | 3 + ...wo visibilities (internal, private).sdsdev | 3 + ...wo visibilities (private, internal).sdsdev | 3 + ...two visibilities (private, private).sdsdev | 3 + .../annotations/good-internal.sdsdev | 3 + .../annotations/good-private.sdsdev | 3 + ...o visibilities (internal, internal).sdsdev | 3 + ...wo visibilities (internal, private).sdsdev | 3 + ...wo visibilities (private, internal).sdsdev | 3 + ...two visibilities (private, private).sdsdev | 3 + .../declarations/classes/good-internal.sdsdev | 3 + .../declarations/classes/good-private.sdsdev | 3 + .../classes/methods/bad-internal.sdsdev | 5 ++ .../classes/methods/bad-private.sdsdev | 5 ++ .../nested classes/bad-internal.sdsdev | 5 ++ .../classes/nested classes/bad-private.sdsdev | 5 ++ .../classes/nested enums/bad-internal.sdsdev | 5 ++ .../classes/nested enums/bad-private.sdsdev | 5 ++ ...o visibilities (internal, internal).sdsdev | 3 + ...wo visibilities (internal, private).sdsdev | 3 + ...wo visibilities (private, internal).sdsdev | 3 + ...two visibilities (private, private).sdsdev | 3 + .../declarations/enums/good-internal.sdsdev | 3 + .../declarations/enums/good-private.sdsdev | 3 + ...o visibilities (internal, internal).sdsdev | 3 + ...wo visibilities (internal, private).sdsdev | 3 + ...wo visibilities (private, internal).sdsdev | 3 + ...two visibilities (private, private).sdsdev | 3 + .../functions/good-internal.sdsdev | 3 + .../functions/good-private.sdsdev | 3 + ...o visibilities (internal, internal).sdsdev | 3 + ...wo visibilities (internal, private).sdsdev | 3 + ...wo visibilities (private, internal).sdsdev | 3 + ...two visibilities (private, private).sdsdev | 3 + .../pipelines/good-internal.sdsdev | 3 + .../pipelines/good-private.sdsdev | 3 + .../schemas}/bad-no name (colon).sdsdev | 0 .../schemas}/bad-no name (no colon).sdsdev | 0 .../schemas}/bad-no type (colon).sdsdev | 0 .../schemas}/bad-no type (no colon).sdsdev | 0 .../bad-switched name and type.sdsdev | 0 ...o visibilities (internal, internal).sdsdev | 3 + ...wo visibilities (internal, private).sdsdev | 3 + ...wo visibilities (private, internal).sdsdev | 3 + ...two visibilities (private, private).sdsdev | 3 + .../schemas}/bad-unclosed curly brace.sdsdev | 0 .../schemas}/good-annotation call.sdsdev | 0 .../schemas}/good-empty schema.sdsdev | 0 .../declarations/schemas/good-internal.sdsdev | 3 + .../schemas}/good-one column.sdsdev | 0 .../declarations/schemas/good-private.sdsdev | 3 + .../schemas}/good-two columns.sdsdev | 0 ...al segment.sdsdev => good-internal.sdsdev} | 0 ...ate segment.sdsdev => good-private.sdsdev} | 0 ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 46 ++++++++++--- .../main with qualified import.sdsdev | 51 ++++++++++---- .../main with wildcard import.sdsdev | 40 +++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 45 ++++++++++--- .../main with qualified import.sdsdev | 51 ++++++++++---- .../main with wildcard import.sdsdev | 40 +++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- .../to global classes/main.sdsdev | 42 +++++++++--- .../in same file/to global enums/main.sdsdev | 42 +++++++++--- ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 40 +++++++++-- .../main with qualified import.sdsdev | 48 +++++++++++--- .../main with wildcard import.sdsdev | 40 +++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 40 +++++++++-- .../main with qualified import.sdsdev | 48 +++++++++++--- .../main with wildcard import.sdsdev | 40 +++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 39 +++++++++-- .../main with qualified import.sdsdev | 48 +++++++++++--- .../main with wildcard import.sdsdev | 40 +++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 39 +++++++++-- .../main with qualified import.sdsdev | 48 +++++++++++--- .../main with wildcard import.sdsdev | 40 +++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...main no imports or own declarations.sdsdev | 36 ++++++++-- ...n with imports and own declarations.sdsdev | 38 +++++++++-- ...in with qualified import with alias.sdsdev | 35 ++++++++-- .../main with qualified import.sdsdev | 38 +++++++++-- .../main with wildcard import.sdsdev | 36 ++++++++-- .../resource other package.sdsdev | 14 ++-- .../resource safeds package.sdsdev | 10 ++- .../to pipelines/resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...main no imports or own declarations.sdsdev | 40 +++++++++-- ...n with imports and own declarations.sdsdev | 48 +++++++++++--- ...in with qualified import with alias.sdsdev | 39 +++++++++-- .../main with qualified import.sdsdev | 48 +++++++++++--- .../main with wildcard import.sdsdev | 40 +++++++++-- .../to schemas/resource other package.sdsdev | 14 ++-- .../to schemas/resource safeds package.sdsdev | 10 ++- .../to schemas/resource same package.sdsdev | 10 ++- .../resource without package.sdsdev | 10 ++- ...n with imports and own declarations.sdsdev | 6 +- .../main with qualified import.sdsdev | 6 +- .../to segments/resource other package.sdsdev | 4 +- .../resource without package.sdsdev | 8 +-- .../in same file/to annotations/main.sdsdev | 38 ++++++++--- .../to global classes/main.sdsdev | 36 +++++++--- .../in same file/to global enums/main.sdsdev | 36 +++++++--- .../to global functions/main.sdsdev | 36 +++++++--- .../in same file/to pipelines/main.sdsdev | 37 ++++++++--- .../in same file/to schemas/main.sdsdev | 38 ++++++++--- .../in same file/to segments/main.sdsdev | 3 + .../module members/unused/main.sdsdev | 43 ++++++++++++ .../unused/same package.sdsdev | 2 +- .../must not be internal/main.sdsdev | 4 ++ .../pipelines/need not be private/main.sdsdev | 4 ++ .../declarations/segments/unused/main.sdsdev | 23 ------- .../safe-ds-vscode/snippets/safe-ds-dev.json | 35 +++++++--- .../safe-ds-vscode/snippets/safe-ds-stub.json | 35 +++++++--- packages/safe-ds-vscode/snippets/safe-ds.json | 2 +- .../syntaxes/safe-ds-stub.tmLanguage.json | 2 +- 191 files changed, 2469 insertions(+), 583 deletions(-) create mode 100644 packages/safe-ds-lang/src/language/validation/other/declarations/moduleMembers.ts create mode 100644 packages/safe-ds-lang/src/language/validation/other/declarations/pipelines.ts create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private.sdsdev rename packages/safe-ds-lang/tests/resources/formatting/{schema => declarations/schemas}/annotation call.sdsdev (100%) rename packages/safe-ds-lang/tests/resources/formatting/{schema => declarations/schemas}/empty schema.sdsdev (100%) create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal.sdsdev rename packages/safe-ds-lang/tests/resources/formatting/{schema => declarations/schemas}/one column.sdsdev (100%) create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private with annotation call.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private.sdsdev rename packages/safe-ds-lang/tests/resources/formatting/{schema => declarations/schemas}/two columns.sdsdev (100%) rename packages/safe-ds-lang/tests/resources/formatting/declarations/segments/{internal segment with annotation call.sdsdev => internal with annotation call.sdsdev} (100%) rename packages/safe-ds-lang/tests/resources/formatting/declarations/segments/{internal segment.sdsdev => internal.sdsdev} (100%) rename packages/safe-ds-lang/tests/resources/formatting/declarations/segments/{private segment with annotation call.sdsdev => private with annotation call.sdsdev} (100%) rename packages/safe-ds-lang/tests/resources/formatting/declarations/segments/{private segment.sdsdev => private.sdsdev} (100%) create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-private.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-internal.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-private.sdsdev rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/bad-no name (colon).sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/bad-no name (no colon).sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/bad-no type (colon).sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/bad-no type (no colon).sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/bad-switched name and type.sdsdev (100%) create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, private).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, internal).sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, private).sdsdev rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/bad-unclosed curly brace.sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/good-annotation call.sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/good-empty schema.sdsdev (100%) create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-internal.sdsdev rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/good-one column.sdsdev (100%) create mode 100644 packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-private.sdsdev rename packages/safe-ds-lang/tests/resources/grammar/{schema => declarations/schemas}/good-two columns.sdsdev (100%) rename packages/safe-ds-lang/tests/resources/grammar/declarations/segments/{good-internal segment.sdsdev => good-internal.sdsdev} (100%) rename packages/safe-ds-lang/tests/resources/grammar/declarations/segments/{good-private segment.sdsdev => good-private.sdsdev} (100%) create mode 100644 packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/main.sdsdev rename packages/safe-ds-lang/tests/resources/validation/other/declarations/{segments => module members}/unused/same package.sdsdev (55%) create mode 100644 packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/must not be internal/main.sdsdev create mode 100644 packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/need not be private/main.sdsdev delete mode 100644 packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/main.sdsdev diff --git a/packages/safe-ds-lang/src/language/grammar/safe-ds.langium b/packages/safe-ds-lang/src/language/grammar/safe-ds.langium index a4a949486..2b7e91e7c 100644 --- a/packages/safe-ds-lang/src/language/grammar/safe-ds.langium +++ b/packages/safe-ds-lang/src/language/grammar/safe-ds.langium @@ -111,7 +111,13 @@ QualifiedName returns string: // Declarations // ----------------------------------------------------------------------------- -interface SdsModuleMember extends SdsDeclaration {} +interface SdsModuleMember extends SdsDeclaration { + visibility?: string +} + +SdsVisibility returns string: + 'internal' | 'private' +; SdsAnnotatedModuleMember returns SdsModuleMember: {SdsAnnotationCallList} @@ -121,12 +127,15 @@ SdsAnnotatedModuleMember returns SdsModuleMember: SdsAnnotationFragment | {SdsClass.annotationCallList=current} + visibility=SdsVisibility? SdsClassFragment | {SdsEnum.annotationCallList=current} + visibility=SdsVisibility? SdsEnumFragment | {SdsFunction.annotationCallList=current} + visibility=SdsVisibility? SdsFunctionFragment | {SdsSchema.annotationCallList=current} @@ -145,12 +154,15 @@ SdsUnannotatedModuleMember returns SdsModuleMember: SdsAnnotationFragment | {SdsClass} + visibility=SdsVisibility? SdsClassFragment | {SdsEnum} + visibility=SdsVisibility? SdsEnumFragment | {SdsFunction} + visibility=SdsVisibility? SdsFunctionFragment | {SdsSchema} @@ -168,6 +180,7 @@ interface SdsAnnotation extends SdsCallable, SdsModuleMember { } fragment SdsAnnotationFragment: + visibility=SdsVisibility? 'annotation' name=ID parameterList=SdsParameterList? constraintList=SdsConstraintList? @@ -312,20 +325,20 @@ interface SdsPipeline extends SdsModuleMember { } fragment SdsPipelineFragment: + visibility=SdsVisibility? 'pipeline' name=ID body=SdsBlock ; interface SdsSegment extends SdsCallable, SdsModuleMember { - visibility?: string resultList?: SdsResultList constraintList?: SdsConstraintList body: SdsBlock } fragment SdsSegmentFragment: - visibility=('internal' | 'private')? + visibility=SdsVisibility? 'segment' name=ID parameterList=SdsParameterList @@ -1050,6 +1063,7 @@ interface SdsSchema extends SdsModuleMember { } fragment SdsSchemaFragment: + visibility=SdsVisibility? 'schema' name=ID columnList=SdsColumnList diff --git a/packages/safe-ds-lang/src/language/helpers/nodeProperties.ts b/packages/safe-ds-lang/src/language/helpers/nodeProperties.ts index 1c5d6e1a3..ce157692d 100644 --- a/packages/safe-ds-lang/src/language/helpers/nodeProperties.ts +++ b/packages/safe-ds-lang/src/language/helpers/nodeProperties.ts @@ -86,11 +86,11 @@ export const hasAnnotationCallOf = ( }; export const isInternal = (node: SdsDeclaration | undefined): boolean => { - return isSdsSegment(node) && node.visibility === 'internal'; + return isSdsModuleMember(node) && node.visibility === 'internal'; }; export const isPrivate = (node: SdsDeclaration | undefined): boolean => { - return isSdsSegment(node) && node.visibility === 'private'; + return isSdsModuleMember(node) && node.visibility === 'private'; }; export namespace Argument { diff --git a/packages/safe-ds-lang/src/language/lsp/safe-ds-completion-provider.ts b/packages/safe-ds-lang/src/language/lsp/safe-ds-completion-provider.ts index b39f64190..c04dd6c01 100644 --- a/packages/safe-ds-lang/src/language/lsp/safe-ds-completion-provider.ts +++ b/packages/safe-ds-lang/src/language/lsp/safe-ds-completion-provider.ts @@ -74,7 +74,7 @@ export class SafeDsCompletionProvider extends DefaultCompletionProvider { } private illegalKeywordsInPipelineFile = new Set(['annotation', 'class', 'enum', 'fun']); - private illegalKeywordsInStubFile = new Set(['pipeline', 'internal', 'private', 'segment']); + private illegalKeywordsInStubFile = new Set(['pipeline', 'segment']); protected override filterKeyword(context: CompletionContext, keyword: Keyword): boolean { // Filter out keywords that do not contain any word character diff --git a/packages/safe-ds-lang/src/language/lsp/safe-ds-formatter.ts b/packages/safe-ds-lang/src/language/lsp/safe-ds-formatter.ts index fc94c98c0..ec56cec08 100644 --- a/packages/safe-ds-lang/src/language/lsp/safe-ds-formatter.ts +++ b/packages/safe-ds-lang/src/language/lsp/safe-ds-formatter.ts @@ -2,7 +2,7 @@ import { AstNode, CstNode, CstUtils, isAstNode } from 'langium'; import { last } from '../../helpers/collections.js'; import * as ast from '../generated/ast.js'; import { getAnnotationCalls, getLiterals, getTypeArguments } from '../helpers/nodeProperties.js'; -import { AbstractFormatter, Formatting, FormattingAction, FormattingActionOptions } from 'langium/lsp'; +import { AbstractFormatter, Formatting, FormattingAction, FormattingActionOptions, NodeFormatter } from 'langium/lsp'; import indent = Formatting.indent; import newLine = Formatting.newLine; import newLines = Formatting.newLines; @@ -309,10 +309,7 @@ export class SafeDsFormatter extends AbstractFormatter { private formatSdsAnnotation(node: ast.SdsAnnotation): void { const formatter = this.getNodeFormatter(node); - if (getAnnotationCalls(node).length > 0) { - formatter.keyword('annotation').prepend(newLine()); - } - + this.formatVisibilityAndKeyword(formatter, node, 'annotation'); formatter.property('name').prepend(oneSpace()); formatter.property('parameterList').prepend(noSpace()); formatter.property('constraintList').prepend(oneSpace()); @@ -337,10 +334,7 @@ export class SafeDsFormatter extends AbstractFormatter { private formatSdsClass(node: ast.SdsClass): void { const formatter = this.getNodeFormatter(node); - if (getAnnotationCalls(node).length > 0) { - formatter.keyword('class').prepend(newLine()); - } - + this.formatVisibilityAndKeyword(formatter, node, 'class'); formatter.property('name').prepend(oneSpace()); formatter.property('typeParameterList').prepend(noSpace()); formatter.property('parameterList').prepend(noSpace()); @@ -383,10 +377,7 @@ export class SafeDsFormatter extends AbstractFormatter { private formatSdsEnum(node: ast.SdsEnum): void { const formatter = this.getNodeFormatter(node); - if (getAnnotationCalls(node).length > 0) { - formatter.keyword('enum').prepend(newLine()); - } - + this.formatVisibilityAndKeyword(formatter, node, 'enum'); formatter.property('name').prepend(oneSpace()); formatter.property('body').prepend(oneSpace()); } @@ -428,15 +419,15 @@ export class SafeDsFormatter extends AbstractFormatter { formatSdsFunction(node: ast.SdsFunction): void { const formatter = this.getNodeFormatter(node); - if (getAnnotationCalls(node).length > 0) { - if (node.isStatic) { + if (node.isStatic) { + // A static function cannot have a visibility modifier + if (getAnnotationCalls(node).length > 0) { formatter.keyword('static').prepend(newLine()); - } else { - formatter.keyword('fun').prepend(newLine()); } + formatter.keyword('static').append(oneSpace()); + } else { + this.formatVisibilityAndKeyword(formatter, node, 'fun'); } - - formatter.keyword('static').append(oneSpace()); formatter.property('name').prepend(oneSpace()); formatter.property('typeParameterList').prepend(noSpace()); formatter.property('parameterList').prepend(noSpace()); @@ -447,12 +438,7 @@ export class SafeDsFormatter extends AbstractFormatter { private formatSdsPipeline(node: ast.SdsPipeline): void { const formatter = this.getNodeFormatter(node); - formatter.property('annotationCallList').prepend(noSpace()); - - if (getAnnotationCalls(node).length > 0) { - formatter.keyword('pipeline').prepend(newLine()); - } - + this.formatVisibilityAndKeyword(formatter, node, 'pipeline'); formatter.property('name').prepend(oneSpace()); formatter.node(node.body).prepend(oneSpace()); } @@ -460,24 +446,31 @@ export class SafeDsFormatter extends AbstractFormatter { private formatSdsSegment(node: ast.SdsSegment): void { const formatter = this.getNodeFormatter(node); + this.formatVisibilityAndKeyword(formatter, node, 'segment'); + formatter.property('name').prepend(oneSpace()); + formatter.property('parameterList').prepend(noSpace()); + formatter.property('resultList').prepend(oneSpace()); + formatter.property('constraintList').prepend(oneSpace()); + formatter.property('body').prepend(oneSpace()); + } + + private formatVisibilityAndKeyword( + formatter: NodeFormatter, + node: ast.SdsModuleMember, + keyword: string, + ): void { if (getAnnotationCalls(node).length === 0) { if (node.visibility) { - formatter.keyword('segment').prepend(oneSpace()); + formatter.keyword(keyword).prepend(oneSpace()); } } else { if (node.visibility) { formatter.property('visibility').prepend(newLine()); - formatter.keyword('segment').prepend(oneSpace()); + formatter.keyword(keyword).prepend(oneSpace()); } else { - formatter.keyword('segment').prepend(newLine()); + formatter.keyword(keyword).prepend(newLine()); } } - - formatter.property('name').prepend(oneSpace()); - formatter.property('parameterList').prepend(noSpace()); - formatter.property('resultList').prepend(oneSpace()); - formatter.property('constraintList').prepend(oneSpace()); - formatter.property('body').prepend(oneSpace()); } // ----------------------------------------------------------------------------- @@ -963,10 +956,7 @@ export class SafeDsFormatter extends AbstractFormatter { private formatSdsSchema(node: ast.SdsSchema) { const formatter = this.getNodeFormatter(node); - if (getAnnotationCalls(node).length > 0) { - formatter.keyword('schema').prepend(newLine()); - } - + this.formatVisibilityAndKeyword(formatter, node, 'schema'); formatter.property('name').prepend(oneSpace()); formatter.property('columnList').prepend(oneSpace()); } diff --git a/packages/safe-ds-lang/src/language/scoping/safe-ds-scope-computation.ts b/packages/safe-ds-lang/src/language/scoping/safe-ds-scope-computation.ts index c461c22fd..225ad2666 100644 --- a/packages/safe-ds-lang/src/language/scoping/safe-ds-scope-computation.ts +++ b/packages/safe-ds-lang/src/language/scoping/safe-ds-scope-computation.ts @@ -26,11 +26,12 @@ import { SdsParameter, SdsTypeParameter, } from '../generated/ast.js'; +import { isPrivate } from '../helpers/nodeProperties.js'; export class SafeDsScopeComputation extends DefaultScopeComputation { protected override exportNode(node: AstNode, exports: AstNodeDescription[], document: LangiumDocument): void { - // Modules, pipelines, and private segments cannot be referenced from other documents - if (isSdsModule(node) || isSdsPipeline(node) || (isSdsSegment(node) && node.visibility === 'private')) { + // Modules, pipelines, and private declarations cannot be referenced from other documents + if (isSdsModule(node) || isSdsPipeline(node) || (isSdsDeclaration(node) && isPrivate(node))) { return; } diff --git a/packages/safe-ds-lang/src/language/validation/other/declarations/moduleMembers.ts b/packages/safe-ds-lang/src/language/validation/other/declarations/moduleMembers.ts new file mode 100644 index 000000000..5fed0402b --- /dev/null +++ b/packages/safe-ds-lang/src/language/validation/other/declarations/moduleMembers.ts @@ -0,0 +1,27 @@ +import { SafeDsServices } from '../../../safe-ds-module.js'; +import { isSdsPipeline, SdsModuleMember } from '../../../generated/ast.js'; +import { ValidationAcceptor } from 'langium'; +import { DiagnosticTag } from 'vscode-languageserver'; + +export const CODE_MODULE_MEMBER_UNUSED = 'module-member/unused'; + +export const moduleMemberShouldBeUsed = (services: SafeDsServices) => { + const referenceProvider = services.references.References; + + return (node: SdsModuleMember, accept: ValidationAcceptor) => { + // Don't show this warning for pipelines or public declarations + if (isSdsPipeline(node) || node.visibility === undefined) { + return; + } + + const references = referenceProvider.findReferences(node, {}); + if (references.isEmpty()) { + accept('warning', 'This declaration is unused and can be removed.', { + node, + property: 'name', + code: CODE_MODULE_MEMBER_UNUSED, + tags: [DiagnosticTag.Unnecessary], + }); + } + }; +}; diff --git a/packages/safe-ds-lang/src/language/validation/other/declarations/pipelines.ts b/packages/safe-ds-lang/src/language/validation/other/declarations/pipelines.ts new file mode 100644 index 000000000..b7f93bfc1 --- /dev/null +++ b/packages/safe-ds-lang/src/language/validation/other/declarations/pipelines.ts @@ -0,0 +1,21 @@ +import { ValidationAcceptor } from 'langium'; +import { SdsPipeline } from '../../../generated/ast.js'; +import { isInternal, isPrivate } from '../../../helpers/nodeProperties.js'; + +export const CODE_PIPELINE_VISIBILITY = 'pipeline/visibility'; + +export const pipelinesMustBePrivate = (node: SdsPipeline, accept: ValidationAcceptor) => { + if (isInternal(node)) { + accept('error', 'Pipelines are always private and cannot be declared as internal.', { + node, + property: 'visibility', + code: CODE_PIPELINE_VISIBILITY, + }); + } else if (isPrivate(node)) { + accept('info', 'Pipelines are always private and need no explicit visibility modifier.', { + node, + property: 'visibility', + code: CODE_PIPELINE_VISIBILITY, + }); + } +}; diff --git a/packages/safe-ds-lang/src/language/validation/other/declarations/segments.ts b/packages/safe-ds-lang/src/language/validation/other/declarations/segments.ts index 6a7280f4a..642262687 100644 --- a/packages/safe-ds-lang/src/language/validation/other/declarations/segments.ts +++ b/packages/safe-ds-lang/src/language/validation/other/declarations/segments.ts @@ -6,7 +6,6 @@ import { DiagnosticTag } from 'vscode-languageserver'; export const CODE_SEGMENT_DUPLICATE_YIELD = 'segment/duplicate-yield'; export const CODE_SEGMENT_UNASSIGNED_RESULT = 'segment/unassigned-result'; -export const CODE_SEGMENT_UNUSED = 'segment/unused'; export const CODE_SEGMENT_UNUSED_PARAMETER = 'segment/unused-parameter'; export const segmentResultMustBeAssignedExactlyOnce = (services: SafeDsServices) => { @@ -37,27 +36,6 @@ export const segmentResultMustBeAssignedExactlyOnce = (services: SafeDsServices) }; }; -export const segmentShouldBeUsed = (services: SafeDsServices) => { - const referenceProvider = services.references.References; - - return (node: SdsSegment, accept: ValidationAcceptor) => { - // Don't show this warning for public segments - if (node.visibility === undefined) { - return; - } - - const references = referenceProvider.findReferences(node, {}); - if (references.isEmpty()) { - accept('warning', 'This segment is unused and can be removed.', { - node, - property: 'name', - code: CODE_SEGMENT_UNUSED, - tags: [DiagnosticTag.Unnecessary], - }); - } - }; -}; - export const segmentParameterShouldBeUsed = (services: SafeDsServices) => { const nodeMapper = services.helpers.NodeMapper; diff --git a/packages/safe-ds-lang/src/language/validation/safe-ds-validator.ts b/packages/safe-ds-lang/src/language/validation/safe-ds-validator.ts index 8883a5d93..cb9434a91 100644 --- a/packages/safe-ds-lang/src/language/validation/safe-ds-validator.ts +++ b/packages/safe-ds-lang/src/language/validation/safe-ds-validator.ts @@ -76,11 +76,7 @@ import { constantParameterMustHaveTypeThatCanBeEvaluatedToConstant, } from './other/declarations/parameters.js'; import { placeholderShouldBeUsed, placeholdersMustNotBeAnAlias } from './other/declarations/placeholders.js'; -import { - segmentParameterShouldBeUsed, - segmentResultMustBeAssignedExactlyOnce, - segmentShouldBeUsed, -} from './other/declarations/segments.js'; +import { segmentParameterShouldBeUsed, segmentResultMustBeAssignedExactlyOnce } from './other/declarations/segments.js'; import { typeParameterMustBeUsedInCorrectPosition, typeParameterMustHaveSufficientContext, @@ -190,6 +186,8 @@ import { } from './other/declarations/parameterBounds.js'; import { unknownMustOnlyBeUsedAsDefaultValueOfStub } from './other/expressions/literals.js'; import { tagsShouldNotHaveDuplicateEntries } from './builtins/tags.js'; +import { moduleMemberShouldBeUsed } from './other/declarations/moduleMembers.js'; +import { pipelinesMustBePrivate } from './other/declarations/pipelines.js'; /** * Register custom validation checks. @@ -325,6 +323,7 @@ export const registerValidationChecks = function (services: SafeDsServices) { pipelineFileMustNotBeInBuiltinPackage, pythonModuleShouldDifferFromSafeDsPackage(services), ], + SdsModuleMember: [moduleMemberShouldBeUsed(services)], SdsNamedType: [ namedTypeDeclarationShouldNotBeDeprecated(services), namedTypeDeclarationShouldNotBeExperimental(services), @@ -350,7 +349,7 @@ export const registerValidationChecks = function (services: SafeDsServices) { parameterBoundRightOperandMustEvaluateToFloatConstantOrIntConstant(services), ], SdsParameterList: [parameterListMustNotHaveRequiredParametersAfterOptionalParameters], - SdsPipeline: [pipelineMustContainUniqueNames], + SdsPipeline: [pipelinesMustBePrivate, pipelineMustContainUniqueNames], SdsPlaceholder: [placeholdersMustNotBeAnAlias, placeholderShouldBeUsed(services)], SdsPrefixOperation: [prefixOperationOperandMustHaveCorrectType(services)], SdsReference: [ @@ -367,7 +366,6 @@ export const registerValidationChecks = function (services: SafeDsServices) { segmentParameterShouldBeUsed(services), segmentResultMustBeAssignedExactlyOnce(services), segmentResultListShouldNotBeEmpty(services), - segmentShouldBeUsed(services), ], SdsStatement: [statementMustDoSomething(services)], SdsTemplateString: [templateStringMustHaveExpressionBetweenTwoStringParts], diff --git a/packages/safe-ds-lang/src/language/workspace/safe-ds-package-manager.ts b/packages/safe-ds-lang/src/language/workspace/safe-ds-package-manager.ts index f8ce92376..f6280505d 100644 --- a/packages/safe-ds-lang/src/language/workspace/safe-ds-package-manager.ts +++ b/packages/safe-ds-lang/src/language/workspace/safe-ds-package-manager.ts @@ -8,7 +8,7 @@ import { IndexManager, LangiumDocuments, } from 'langium'; -import { isSdsSegment } from '../generated/ast.js'; +import { isSdsDeclaration } from '../generated/ast.js'; import { getPackageName, isInternal } from '../helpers/nodeProperties.js'; export class SafeDsPackageManager { @@ -112,7 +112,7 @@ export class SafeDsPackageManager { } if (hideInternal) { - result = result.filter((it) => !isSdsSegment(it.node) || !isInternal(it.node)); + result = result.filter((it) => !isSdsDeclaration(it.node) || !isInternal(it.node)); } return result; diff --git a/packages/safe-ds-lang/tests/language/lsp/safe-ds.completion-provider.test.ts b/packages/safe-ds-lang/tests/language/lsp/safe-ds.completion-provider.test.ts index 143143533..a2261f7ab 100644 --- a/packages/safe-ds-lang/tests/language/lsp/safe-ds.completion-provider.test.ts +++ b/packages/safe-ds-lang/tests/language/lsp/safe-ds.completion-provider.test.ts @@ -25,7 +25,7 @@ describe('SafeDsCompletionProvider', async () => { `, uri: `file:///test1.sds`, expectedLabels: { - shouldEqual: ['from', 'schema', 'pipeline', 'internal', 'private', 'segment'], + shouldEqual: ['from', 'internal', 'private', 'schema', 'pipeline', 'segment'], }, }, { @@ -36,7 +36,7 @@ describe('SafeDsCompletionProvider', async () => { `, uri: `file:///test2.sdsstub`, expectedLabels: { - shouldEqual: ['from', 'annotation', 'class', 'enum', 'fun', 'schema'], + shouldEqual: ['from', 'internal', 'private', 'annotation', 'class', 'enum', 'fun', 'schema'], }, }, { @@ -49,14 +49,14 @@ describe('SafeDsCompletionProvider', async () => { expectedLabels: { shouldEqual: [ 'from', + 'internal', + 'private', 'annotation', 'class', 'enum', 'fun', 'schema', 'pipeline', - 'internal', - 'private', 'segment', ], }, diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal with annotation call.sdsdev new file mode 100644 index 000000000..756d7d341 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation internal annotation MyAnnotation + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +internal annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal.sdsdev new file mode 100644 index 000000000..5309e0937 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/internal.sdsdev @@ -0,0 +1,5 @@ +internal annotation MyAnnotation + +// ----------------------------------------------------------------------------- + +internal annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private with annotation call.sdsdev new file mode 100644 index 000000000..4271931ba --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation private annotation MyAnnotation + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +private annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private.sdsdev new file mode 100644 index 000000000..be9084803 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/annotations/private.sdsdev @@ -0,0 +1,5 @@ +private annotation MyAnnotation + +// ----------------------------------------------------------------------------- + +private annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal with annotation call.sdsdev new file mode 100644 index 000000000..72a17b37e --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation internal class MyClass + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +internal class MyClass diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal.sdsdev new file mode 100644 index 000000000..156413320 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/internal.sdsdev @@ -0,0 +1,5 @@ +internal class MyClass + +// ----------------------------------------------------------------------------- + +internal class MyClass diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private with annotation call.sdsdev new file mode 100644 index 000000000..4081d6f65 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation private class MyClass + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +private class MyClass diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private.sdsdev new file mode 100644 index 000000000..8b3f555ec --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/classes/private.sdsdev @@ -0,0 +1,5 @@ +private class MyClass + +// ----------------------------------------------------------------------------- + +private class MyClass diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal with annotation call.sdsdev new file mode 100644 index 000000000..cf4c6b3a3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation internal enum MyEnum + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +internal enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal.sdsdev new file mode 100644 index 000000000..36c9c5b30 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/internal.sdsdev @@ -0,0 +1,5 @@ +internal enum MyEnum + +// ----------------------------------------------------------------------------- + +internal enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private with annotation call.sdsdev new file mode 100644 index 000000000..29f740b3b --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation private enum MyEnum + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +private enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private.sdsdev new file mode 100644 index 000000000..5f9bfddc1 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/enums/private.sdsdev @@ -0,0 +1,5 @@ +private enum MyEnum + +// ----------------------------------------------------------------------------- + +private enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal with annotation call.sdsdev new file mode 100644 index 000000000..55a2957ac --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation internal fun myFunction ( ) + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +internal fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal.sdsdev new file mode 100644 index 000000000..3114b51d2 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/internal.sdsdev @@ -0,0 +1,5 @@ +internal fun myFunction ( ) + +// ----------------------------------------------------------------------------- + +internal fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private with annotation call.sdsdev new file mode 100644 index 000000000..ccb87b571 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation private fun myFunction ( ) + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +private fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private.sdsdev new file mode 100644 index 000000000..c8e7c3b65 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/functions/private.sdsdev @@ -0,0 +1,5 @@ +private fun myFunction ( ) + +// ----------------------------------------------------------------------------- + +private fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal with annotation call.sdsdev new file mode 100644 index 000000000..227e74159 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation internal pipeline myPipeline { } + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +internal pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal.sdsdev new file mode 100644 index 000000000..bd25daa0b --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/internal.sdsdev @@ -0,0 +1,5 @@ +internal pipeline myPipeline { } + +// ----------------------------------------------------------------------------- + +internal pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private with annotation call.sdsdev new file mode 100644 index 000000000..721b6e082 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation private pipeline myPipeline { } + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +private pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private.sdsdev new file mode 100644 index 000000000..0a94fad51 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/pipelines/private.sdsdev @@ -0,0 +1,5 @@ +private pipeline myPipeline { } + +// ----------------------------------------------------------------------------- + +private pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/schema/annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/annotation call.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/schema/annotation call.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/annotation call.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/schema/empty schema.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/empty schema.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/schema/empty schema.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/empty schema.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal with annotation call.sdsdev new file mode 100644 index 000000000..0b7bc3d13 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation internal schema MySchema { } + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +internal schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal.sdsdev new file mode 100644 index 000000000..f0eae95ab --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/internal.sdsdev @@ -0,0 +1,5 @@ +internal schema MySchema { } + +// ----------------------------------------------------------------------------- + +internal schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/schema/one column.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/one column.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/schema/one column.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/one column.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private with annotation call.sdsdev new file mode 100644 index 000000000..c372d2040 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private with annotation call.sdsdev @@ -0,0 +1,10 @@ +package test + +@Annotation private schema MySchema { } + +// ----------------------------------------------------------------------------- + +package test + +@Annotation +private schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private.sdsdev new file mode 100644 index 000000000..1d37dcc5f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/private.sdsdev @@ -0,0 +1,5 @@ +private schema MySchema { } + +// ----------------------------------------------------------------------------- + +private schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/formatting/schema/two columns.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/two columns.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/schema/two columns.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/schemas/two columns.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal segment with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal with annotation call.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal segment with annotation call.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal with annotation call.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal segment.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal segment.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/segments/internal.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private segment with annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private with annotation call.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private segment with annotation call.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private with annotation call.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private segment.sdsdev b/packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private segment.sdsdev rename to packages/safe-ds-lang/tests/resources/formatting/declarations/segments/private.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, internal).sdsdev new file mode 100644 index 000000000..cb89fe407 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal internal annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, private).sdsdev new file mode 100644 index 000000000..00b84b8b2 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (internal, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal private annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, internal).sdsdev new file mode 100644 index 000000000..89f31dda3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private internal annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, private).sdsdev new file mode 100644 index 000000000..d6af54f72 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/bad-two visibilities (private, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private private annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-internal.sdsdev new file mode 100644 index 000000000..21652fed4 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-internal.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +internal annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-private.sdsdev new file mode 100644 index 000000000..f8923bcc2 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/annotations/good-private.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +private annotation MyAnnotation diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, internal).sdsdev new file mode 100644 index 000000000..26e970d7b --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal internal class MyClass diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, private).sdsdev new file mode 100644 index 000000000..41728bd2c --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (internal, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal private class MyClass diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, internal).sdsdev new file mode 100644 index 000000000..a7ca10d84 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private internal class MyClass diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, private).sdsdev new file mode 100644 index 000000000..6bd5ab8b3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/bad-two visibilities (private, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private private class MyClass diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-internal.sdsdev new file mode 100644 index 000000000..961a24228 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-internal.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +internal class MyClass diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-private.sdsdev new file mode 100644 index 000000000..7b5361d32 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/good-private.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +private class MyClass diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-internal.sdsdev new file mode 100644 index 000000000..40ebfaf7a --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-internal.sdsdev @@ -0,0 +1,5 @@ +// $TEST$ syntax_error + +class MyClass { + internal fun myFunction() +} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-private.sdsdev new file mode 100644 index 000000000..18abda0a1 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/methods/bad-private.sdsdev @@ -0,0 +1,5 @@ +// $TEST$ syntax_error + +class MyClass { + private fun myFunction() +} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-internal.sdsdev new file mode 100644 index 000000000..2866595b3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-internal.sdsdev @@ -0,0 +1,5 @@ +// $TEST$ syntax_error + +class MyOuterClass { + internal class MyClass +} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-private.sdsdev new file mode 100644 index 000000000..7e7975bd0 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested classes/bad-private.sdsdev @@ -0,0 +1,5 @@ +// $TEST$ syntax_error + +class MyOuterClass { + private class MyClass +} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-internal.sdsdev new file mode 100644 index 000000000..21397c8ef --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-internal.sdsdev @@ -0,0 +1,5 @@ +// $TEST$ syntax_error + +class MyClass { + internal enum MyEnum +} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-private.sdsdev new file mode 100644 index 000000000..8db9e24b2 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/classes/nested enums/bad-private.sdsdev @@ -0,0 +1,5 @@ +// $TEST$ syntax_error + +class MyClass { + private enum MyEnum +} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, internal).sdsdev new file mode 100644 index 000000000..901397238 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal internal enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, private).sdsdev new file mode 100644 index 000000000..9c5e4cbdc --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (internal, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal private enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, internal).sdsdev new file mode 100644 index 000000000..262d44720 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private internal enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, private).sdsdev new file mode 100644 index 000000000..7524b9711 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/bad-two visibilities (private, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private private enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-internal.sdsdev new file mode 100644 index 000000000..423f4c39c --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-internal.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +internal enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-private.sdsdev new file mode 100644 index 000000000..d71d4bbd3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/enums/good-private.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +private enum MyEnum diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, internal).sdsdev new file mode 100644 index 000000000..63498b9a3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal internal fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, private).sdsdev new file mode 100644 index 000000000..fa7ae73bf --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (internal, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal private fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, internal).sdsdev new file mode 100644 index 000000000..877db8597 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private internal fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, private).sdsdev new file mode 100644 index 000000000..12890638c --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/bad-two visibilities (private, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private private fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-internal.sdsdev new file mode 100644 index 000000000..b9eeafb50 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-internal.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +internal fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-private.sdsdev new file mode 100644 index 000000000..faf91a79e --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/functions/good-private.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +private fun myFunction() diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, internal).sdsdev new file mode 100644 index 000000000..00fa0648f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal internal pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, private).sdsdev new file mode 100644 index 000000000..0c0eab623 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (internal, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal private pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, internal).sdsdev new file mode 100644 index 000000000..f8613a2fe --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private internal pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, private).sdsdev new file mode 100644 index 000000000..963d6325a --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/bad-two visibilities (private, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private private pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-internal.sdsdev new file mode 100644 index 000000000..78e94b47c --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-internal.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +internal pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-private.sdsdev new file mode 100644 index 000000000..45b797a07 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/pipelines/good-private.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +private pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/bad-no name (colon).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no name (colon).sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/bad-no name (colon).sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no name (colon).sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/bad-no name (no colon).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no name (no colon).sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/bad-no name (no colon).sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no name (no colon).sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/bad-no type (colon).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no type (colon).sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/bad-no type (colon).sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no type (colon).sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/bad-no type (no colon).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no type (no colon).sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/bad-no type (no colon).sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-no type (no colon).sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/bad-switched name and type.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-switched name and type.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/bad-switched name and type.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-switched name and type.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, internal).sdsdev new file mode 100644 index 000000000..09c9b1766 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal internal schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, private).sdsdev new file mode 100644 index 000000000..bde4b04b8 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (internal, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +internal private schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, internal).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, internal).sdsdev new file mode 100644 index 000000000..2d45c4ca4 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, internal).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private internal schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, private).sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, private).sdsdev new file mode 100644 index 000000000..aa00569af --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-two visibilities (private, private).sdsdev @@ -0,0 +1,3 @@ +// $TEST$ syntax_error + +private private schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/bad-unclosed curly brace.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-unclosed curly brace.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/bad-unclosed curly brace.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/bad-unclosed curly brace.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/good-annotation call.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-annotation call.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/good-annotation call.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-annotation call.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/good-empty schema.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-empty schema.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/good-empty schema.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-empty schema.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-internal.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-internal.sdsdev new file mode 100644 index 000000000..49ade82f8 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-internal.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +internal schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/good-one column.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-one column.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/good-one column.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-one column.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-private.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-private.sdsdev new file mode 100644 index 000000000..45a954683 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-private.sdsdev @@ -0,0 +1,3 @@ +// $TEST$ no_syntax_error + +private schema MySchema {} diff --git a/packages/safe-ds-lang/tests/resources/grammar/schema/good-two columns.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-two columns.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/schema/good-two columns.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/schemas/good-two columns.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-internal segment.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-internal.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-internal segment.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-internal.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-private segment.sdsdev b/packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-private.sdsdev similarity index 100% rename from packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-private segment.sdsdev rename to packages/safe-ds-lang/tests/resources/grammar/declarations/segments/good-private.sdsdev diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main no imports or own declarations.sdsdev index 83bf6e2d5..f7726197d 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ segment mySegment( // $TEST$ references same_MyClass p1: »MyClass«, - // $TEST$ references same_ClassInSamePackage - p2: »ClassInSamePackage«, - // $TEST$ references safeds_ClassInSafeDsPackage - p3: »ClassInSafeDsPackage«, + // $TEST$ references same_PublicClassInSamePackage + p2: »PublicClassInSamePackage«, + + // $TEST$ references same_InternalClassInSamePackage + p3: »InternalClassInSamePackage«, + + // $TEST$ unresolved + p4: »PrivateClassInSamePackage«, + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + p4: »PublicClassInSafeDsPackage«, + + // $TEST$ unresolved + p5: »InternalClassInSafeDsPackage«, + + // $TEST$ unresolved + p6: »PrivateClassInSafeDsPackage«, + + + // $TEST$ unresolved + p7: »PublicClassInAnotherPackage«, + + // $TEST$ unresolved + p8: »InternalClassInAnotherPackage«, + + // $TEST$ unresolved + p9: »PrivateClassInAnotherPackage«, + + + // $TEST$ unresolved + p10: »PublicClassWithoutPackage«, // $TEST$ unresolved - p4: »ClassInAnotherPackage«, + p11: »InternalClassWithoutPackage«, // $TEST$ unresolved - p5: »ClassWithoutPackage«, + p12: »PrivateClassWithoutPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with imports and own declarations.sdsdev index 86ba33e06..47014fd92 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalClasses from safeds.scoping.namedTypes.acrossFiles.toGlobalClasses import MyClass as MyOwnClass -from tests.scoping.namedTypes.acrossFiles.toGlobalClasses.other import ClassInAnotherPackage, Class2InAnotherPackage +from tests.scoping.namedTypes.acrossFiles.toGlobalClasses.other import PublicClassInAnotherPackage, PublicClassInAnotherPackage2 // $TEST$ target own_MyOwnClass class »MyOwnClass« @@ -10,18 +10,46 @@ segment mySegment( // $TEST$ references own_MyOwnClass p1: »MyOwnClass«, - // $TEST$ references same_ClassInSamePackage - p2: »ClassInSamePackage«, - // $TEST$ references safeds_ClassInSafeDsPackage - p3: »ClassInSafeDsPackage«, + // $TEST$ references same_PublicClassInSamePackage + p2: »PublicClassInSamePackage«, - // $TEST$ references other_ClassInAnotherPackage - p4: »ClassInAnotherPackage«, + // $TEST$ references same_InternalClassInSamePackage + p3: »InternalClassInSamePackage«, - // $TEST$ references other_Class2InAnotherPackage - p5: »Class2InAnotherPackage«, + // $TEST$ unresolved + p4: »PrivateClassInSamePackage«, + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + p4: »PublicClassInSafeDsPackage«, + + // $TEST$ unresolved + p5: »InternalClassInSafeDsPackage«, + + // $TEST$ unresolved + p6: »PrivateClassInSafeDsPackage«, + + + // $TEST$ references other_PublicClassInAnotherPackage + p7: »PublicClassInAnotherPackage«, + + // $TEST$ references other_PublicClassInAnotherPackage2 + p8: »PublicClassInAnotherPackage2«, + + // $TEST$ unresolved + p9: »InternalClassInAnotherPackage«, + + // $TEST$ unresolved + p10: »PrivateClassInAnotherPackage«, + + + // $TEST$ unresolved + p11: »PublicClassWithoutPackage«, + + // $TEST$ unresolved + p12: »InternalClassWithoutPackage«, // $TEST$ unresolved - p6: »ClassWithoutPackage«, + p13: »PrivateClassWithoutPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import with alias.sdsdev index 476df03c8..60d8858c6 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import with alias.sdsdev @@ -9,24 +9,52 @@ segment mySegment( p1: »MyClass«, - // $TEST$ references same_ClassInSamePackage - p2: »ClassInSamePackage«, + // $TEST$ references same_PublicClassInSamePackage + p2: »PublicClassInSamePackage«, - // $TEST$ references safeds_ClassInSafeDsPackage - p3: »ClassInSafeDsPackage«, + // $TEST$ references same_InternalClassInSamePackage + p3: »InternalClassInSamePackage«, // $TEST$ unresolved - p4: »ClassInAnotherPackage«, + p4: »PrivateClassInSamePackage«, + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + p5: »PublicClassInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalClassInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateClassInSafeDsPackage«, + // $TEST$ unresolved - p5: »ClassWithoutPackage«, + p8: »PublicClassInAnotherPackage«, + + // $TEST$ unresolved + p9: »InternalClassInAnotherPackage«, + + // $TEST$ unresolved + p10: »PrivateClassInAnotherPackage«, + + + // $TEST$ unresolved + p11: »PublicClassWithoutPackage«, + + // $TEST$ unresolved + p12: »InternalClassWithoutPackage«, + + // $TEST$ unresolved + p13: »PrivateClassWithoutPackage«, + // $TEST$ references same_MyClass - p6: »MyClassInSamePackage«, + p14: »MyClassInSamePackage«, // $TEST$ references safeds_MyClass - p7: »MyClassInSafeDsPackage«, + p15: »MyClassInSafeDsPackage«, // $TEST$ references other_MyClass - p8: »MyClassInAnotherPackage«, + p16: »MyClassInAnotherPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import.sdsdev index c29a526f2..6b325e177 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with qualified import.sdsdev @@ -1,27 +1,56 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalClasses from safeds.scoping.namedTypes.acrossFiles.toGlobalClasses import MyClass -from tests.scoping.namedTypes.acrossFiles.toGlobalClasses.other import ClassInAnotherPackage, Class2InAnotherPackage, notANamedTypeDeclaration +from tests.scoping.namedTypes.acrossFiles.toGlobalClasses.other import PublicClassInAnotherPackage, PublicClassInAnotherPackage2, notANamedTypeDeclaration segment mySegment( // $TEST$ references safeds_MyClass p1: »MyClass«, - // $TEST$ references same_ClassInSamePackage - p2: »ClassInSamePackage«, - // $TEST$ references safeds_ClassInSafeDsPackage - p3: »ClassInSafeDsPackage«, + // $TEST$ references same_PublicClassInSamePackage + p2: »PublicClassInSamePackage«, - // $TEST$ references other_ClassInAnotherPackage - p4: »ClassInAnotherPackage«, + // $TEST$ references same_InternalClassInSamePackage + p3: »InternalClassInSamePackage«, - // $TEST$ references other_Class2InAnotherPackage - p5: »Class2InAnotherPackage«, + // $TEST$ unresolved + p4: »PrivateClassInSamePackage«, + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + p5: »PublicClassInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalClassInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateClassInSafeDsPackage«, + + + // $TEST$ references other_PublicClassInAnotherPackage + p8: »PublicClassInAnotherPackage«, + + // $TEST$ references other_PublicClassInAnotherPackage2 + p9: »PublicClassInAnotherPackage2«, // $TEST$ unresolved - p6: »notANamedTypeDeclaration«, + p10: »InternalClassInAnotherPackage«, + + // $TEST$ unresolved + p11: »PrivateClassInAnotherPackage«, + + + // $TEST$ unresolved + p12: »PublicClassWithoutPackage«, + + // $TEST$ unresolved + p13: »InternalClassWithoutPackage«, + + // $TEST$ unresolved + p14: »PrivateClassWithoutPackage«, + // $TEST$ unresolved - p7: »ClassWithoutPackage«, + p15: »notANamedTypeDeclaration«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with wildcard import.sdsdev index c68c481c0..b4cfa37a0 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ segment mySegment( // $TEST$ references safeds_MyClass p1: »MyClass«, - // $TEST$ references same_ClassInSamePackage - p2: »ClassInSamePackage«, - // $TEST$ references safeds_ClassInSafeDsPackage - p3: »ClassInSafeDsPackage«, + // $TEST$ references same_PublicClassInSamePackage + p2: »PublicClassInSamePackage«, + + // $TEST$ references same_InternalClassInSamePackage + p3: »InternalClassInSamePackage«, + + // $TEST$ unresolved + p4: »PrivateClassInSamePackage«, + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + p5: »PublicClassInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalClassInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateClassInSafeDsPackage«, + + + // $TEST$ unresolved + p8: »PublicClassInAnotherPackage«, + + // $TEST$ unresolved + p9: »InternalClassInAnotherPackage«, + + // $TEST$ unresolved + p10: »PrivateClassInAnotherPackage«, + + + // $TEST$ unresolved + p11: »PublicClassWithoutPackage«, // $TEST$ unresolved - p4: »ClassInAnotherPackage«, + p12: »InternalClassWithoutPackage«, // $TEST$ unresolved - p5: »ClassWithoutPackage«, + p13: »PrivateClassWithoutPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource other package.sdsdev index 06528eef9..ba3069bb5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource other package.sdsdev @@ -3,11 +3,17 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalClasses.other // $TEST$ target other_MyClass class »MyClass« -// $TEST$ target other_ClassInAnotherPackage -class »ClassInAnotherPackage« +// $TEST$ target other_PublicClassInAnotherPackage +class »PublicClassInAnotherPackage« -// $TEST$ target other_Class2InAnotherPackage -class »Class2InAnotherPackage« +// $TEST$ target other_PublicClassInAnotherPackage2 +class »PublicClassInAnotherPackage2« + +// $TEST$ target other_InternalClassInAnotherPackage +internal class »InternalClassInAnotherPackage« + +// $TEST$ target other_PrivateClassInAnotherPackage +private class »PrivateClassInAnotherPackage« // $TEST$ target other_notANamedTypeDeclaration fun »notANamedTypeDeclaration«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource safeds package.sdsdev index a51a37c2d..f3006a23d 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.namedTypes.acrossFiles.toGlobalClasses // $TEST$ target safeds_MyClass class »MyClass« -// $TEST$ target safeds_ClassInSafeDsPackage -class »ClassInSafeDsPackage« +// $TEST$ target safeds_PublicClassInSafeDsPackage +class »PublicClassInSafeDsPackage« + +// $TEST$ target safeds_InternalClassInSafeDsPackage +internal class »InternalClassInSafeDsPackage« + +// $TEST$ target safeds_PrivateClassInSafeDsPackage +private class »PrivateClassInSafeDsPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource same package.sdsdev index 742ed65ec..3b6d4ac71 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalClasses // $TEST$ target same_MyClass class »MyClass« -// $TEST$ target same_ClassInSamePackage -class »ClassInSamePackage« +// $TEST$ target same_PublicClassInSamePackage +class »PublicClassInSamePackage« + +// $TEST$ target same_InternalClassInSamePackage +internal class »InternalClassInSamePackage« + +// $TEST$ target same_PrivateClassInSamePackage +private class »PrivateClassInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource without package.sdsdev index bcd074356..581101f4c 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global classes/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_MyClass class »MyClass« -// $TEST$ target without_ClassWithoutPackage -class »ClassWithoutPackage« +// $TEST$ target without_PublicClassWithoutPackage +class »PublicClassWithoutPackage« + +// $TEST$ target without_InternalClassInSamePackage +internal class »InternalClassInSamePackage« + +// $TEST$ target without_PrivateClassInSamePackage +private class »PrivateClassInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main no imports or own declarations.sdsdev index 7f0a0cef0..8d45fea72 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ segment mySegment( // $TEST$ references same_MyEnum p1: »MyEnum«, - // $TEST$ references same_EnumInSamePackage - p2: »EnumInSamePackage«, - // $TEST$ references safeds_EnumInSafeDsPackage - p3: »EnumInSafeDsPackage«, + // $TEST$ references same_PublicEnumInSamePackage + p2: »PublicEnumInSamePackage«, + + // $TEST$ references same_InternalEnumInSamePackage + p3: »InternalEnumInSamePackage«, + + // $TEST$ unresolved + p4: »PrivateEnumInSamePackage«, + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + p5: »PublicEnumInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalEnumInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateEnumInSafeDsPackage«, + + + // $TEST$ unresolved + p8: »PublicEnumInAnotherPackage«, + + // $TEST$ unresolved + p9: »InternalEnumInAnotherPackage«, + + // $TEST$ unresolved + p10: »PrivateEnumInAnotherPackage«, + + + // $TEST$ unresolved + p11: »PublicEnumWithoutPackage«, // $TEST$ unresolved - p4: »EnumInAnotherPackage«, + p12: »InternalEnumWithoutPackage«, // $TEST$ unresolved - p5: »EnumWithoutPackage«, + p13: »PrivateEnumWithoutPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with imports and own declarations.sdsdev index e56ba80ae..57a14ee50 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalEnums from safeds.scoping.namedTypes.acrossFiles.toGlobalEnums import MyEnum as MyOwnEnum -from tests.scoping.namedTypes.acrossFiles.toGlobalEnums.other import EnumInAnotherPackage, Enum2InAnotherPackage +from tests.scoping.namedTypes.acrossFiles.toGlobalEnums.other import PublicEnumInAnotherPackage, PublicEnumInAnotherPackage2 // $TEST$ target own_MyOwnEnum enum »MyOwnEnum« @@ -10,18 +10,46 @@ segment mySegment( // $TEST$ references own_MyOwnEnum p1: »MyOwnEnum«, - // $TEST$ references same_EnumInSamePackage - p2: »EnumInSamePackage«, - // $TEST$ references safeds_EnumInSafeDsPackage - p3: »EnumInSafeDsPackage«, + // $TEST$ references same_PublicEnumInSamePackage + p2: »PublicEnumInSamePackage«, - // $TEST$ references other_EnumInAnotherPackage - p4: »EnumInAnotherPackage«, + // $TEST$ references same_InternalEnumInSamePackage + p3: »InternalEnumInSamePackage«, - // $TEST$ references other_Enum2InAnotherPackage - p5: »Enum2InAnotherPackage«, + // $TEST$ unresolved + p4: »PrivateEnumInSamePackage«, + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + p5: »PublicEnumInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalEnumInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateEnumInSafeDsPackage«, + + + // $TEST$ references other_PublicEnumInAnotherPackage + p8: »PublicEnumInAnotherPackage«, + + // $TEST$ references other_PublicEnumInAnotherPackage2 + p9: »PublicEnumInAnotherPackage2«, + + // $TEST$ unresolved + p10: »InternalEnumInAnotherPackage«, + + // $TEST$ unresolved + p11: »PrivateEnumInAnotherPackage«, + + + // $TEST$ unresolved + p12: »PublicEnumWithoutPackage«, + + // $TEST$ unresolved + p13: »InternalEnumWithoutPackage«, // $TEST$ unresolved - p6: »EnumWithoutPackage«, + p15: »PrivateEnumWithoutPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import with alias.sdsdev index fbd4b754d..8c2bdf370 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import with alias.sdsdev @@ -9,25 +9,52 @@ segment mySegment( p1: »MyEnum«, - // $TEST$ references same_EnumInSamePackage - p2: »EnumInSamePackage«, + // $TEST$ references same_PublicEnumInSamePackage + p2: »PublicEnumInSamePackage«, - // $TEST$ references safeds_EnumInSafeDsPackage - p3: »EnumInSafeDsPackage«, + // $TEST$ references same_InternalEnumInSamePackage + p3: »InternalEnumInSamePackage«, // $TEST$ unresolved - p4: »EnumInAnotherPackage«, + p4: »PrivateEnumInSamePackage«, + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + p5: »PublicEnumInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalEnumInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateEnumInSafeDsPackage«, + + + // $TEST$ unresolved + p8: »PublicEnumInAnotherPackage«, + + // $TEST$ unresolved + p9: »InternalEnumInAnotherPackage«, + + // $TEST$ unresolved + p10: »PrivateEnumInAnotherPackage«, + + + // $TEST$ unresolved + p11: »PublicEnumWithoutPackage«, + + // $TEST$ unresolved + p12: »InternalEnumWithoutPackage«, // $TEST$ unresolved - p5: »EnumWithoutPackage«, + p13: »PrivateEnumWithoutPackage«, // $TEST$ references same_MyEnum - p6: »MyEnumInSamePackage«, + p14: »MyEnumInSamePackage«, // $TEST$ references safeds_MyEnum - p7: »MyEnumInSafeDsPackage«, + p15: »MyEnumInSafeDsPackage«, // $TEST$ references other_MyEnum - p8: »MyEnumInAnotherPackage«, + p16: »MyEnumInAnotherPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import.sdsdev index 155e02e56..cbf704c75 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with qualified import.sdsdev @@ -1,27 +1,56 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalEnums from safeds.scoping.namedTypes.acrossFiles.toGlobalEnums import MyEnum -from tests.scoping.namedTypes.acrossFiles.toGlobalEnums.other import EnumInAnotherPackage, Enum2InAnotherPackage, notANamedTypeDeclaration +from tests.scoping.namedTypes.acrossFiles.toGlobalEnums.other import PublicEnumInAnotherPackage, PublicEnumInAnotherPackage2, notANamedTypeDeclaration segment mySegment( // $TEST$ references safeds_MyEnum p1: »MyEnum«, - // $TEST$ references same_EnumInSamePackage - p2: »EnumInSamePackage«, - // $TEST$ references safeds_EnumInSafeDsPackage - p3: »EnumInSafeDsPackage«, + // $TEST$ references same_PublicEnumInSamePackage + p2: »PublicEnumInSamePackage«, - // $TEST$ references other_EnumInAnotherPackage - p4: »EnumInAnotherPackage«, + // $TEST$ references same_InternalEnumInSamePackage + p3: »InternalEnumInSamePackage«, - // $TEST$ references other_Enum2InAnotherPackage - p5: »Enum2InAnotherPackage«, + // $TEST$ unresolved + p4: »PrivateEnumInSamePackage«, + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + p5: »PublicEnumInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalEnumInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateEnumInSafeDsPackage«, + + + // $TEST$ references other_PublicEnumInAnotherPackage + p8: »PublicEnumInAnotherPackage«, + + // $TEST$ references other_PublicEnumInAnotherPackage2 + p9: »PublicEnumInAnotherPackage2«, // $TEST$ unresolved - p6: »notANamedTypeDeclaration«, + p10: »InternalEnumInAnotherPackage«, + + // $TEST$ unresolved + p11: »PrivateEnumInAnotherPackage«, + + + // $TEST$ unresolved + p12: »PublicEnumWithoutPackage«, + + // $TEST$ unresolved + p13: »InternalEnumWithoutPackage«, + + // $TEST$ unresolved + p14: »PrivateEnumWithoutPackage«, + // $TEST$ unresolved - p7: »EnumWithoutPackage«, + p15: »notANamedTypeDeclaration«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with wildcard import.sdsdev index a3970f20a..e099eb7d8 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ segment mySegment( // $TEST$ references safeds_MyEnum p1: »MyEnum«, - // $TEST$ references same_EnumInSamePackage - p2: »EnumInSamePackage«, - // $TEST$ references safeds_EnumInSafeDsPackage - p3: »EnumInSafeDsPackage«, + // $TEST$ references same_PublicEnumInSamePackage + p2: »PublicEnumInSamePackage«, + + // $TEST$ references same_InternalEnumInSamePackage + p3: »InternalEnumInSamePackage«, + + // $TEST$ unresolved + p4: »PrivateEnumInSamePackage«, + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + p5: »PublicEnumInSafeDsPackage«, + + // $TEST$ unresolved + p6: »InternalEnumInSafeDsPackage«, + + // $TEST$ unresolved + p7: »PrivateEnumInSafeDsPackage«, + + + // $TEST$ unresolved + p8: »PublicEnumInAnotherPackage«, + + // $TEST$ unresolved + p9: »InternalEnumInAnotherPackage«, + + // $TEST$ unresolved + p10: »PrivateEnumInAnotherPackage«, + + + // $TEST$ unresolved + p11: »PublicEnumWithoutPackage«, // $TEST$ unresolved - p4: »EnumInAnotherPackage«, + p12: »InternalEnumWithoutPackage«, // $TEST$ unresolved - p5: »EnumWithoutPackage«, + p12: »PrivateEnumWithoutPackage«, ) {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource other package.sdsdev index d5c036c00..9e1fe028f 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource other package.sdsdev @@ -3,11 +3,17 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalEnums.other // $TEST$ target other_MyEnum enum »MyEnum« -// $TEST$ target other_EnumInAnotherPackage -enum »EnumInAnotherPackage« +// $TEST$ target other_PublicEnumInAnotherPackage +enum »PublicEnumInAnotherPackage« -// $TEST$ target other_Enum2InAnotherPackage -enum »Enum2InAnotherPackage« +// $TEST$ target other_PublicEnumInAnotherPackage2 +enum »PublicEnumInAnotherPackage2« + +// $TEST$ target other_InternalEnumInAnotherPackage +internal enum »InternalEnumInAnotherPackage« + +// $TEST$ target other_PrivateEnumInAnotherPackage +private enum »PrivateEnumInAnotherPackage« // $TEST$ target other_notANamedTypeDeclaration fun »notANamedTypeDeclaration«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource safeds package.sdsdev index 0c032246f..6c1a26cc2 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.namedTypes.acrossFiles.toGlobalEnums // $TEST$ target safeds_MyEnum enum »MyEnum« -// $TEST$ target safeds_EnumInSafeDsPackage -enum »EnumInSafeDsPackage« +// $TEST$ target safeds_PublicEnumInSafeDsPackage +enum »PublicEnumInSafeDsPackage« + +// $TEST$ target safeds_InternalEnumInSafeDsPackage +internal enum »InternalEnumInSafeDsPackage« + +// $TEST$ target safeds_privateSegmentInSafeDsPackage +private enum »privateSegmentInSafeDsPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource same package.sdsdev index c5e7e0f02..ab2b8f115 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.namedTypes.acrossFiles.toGlobalEnums // $TEST$ target same_MyEnum enum »MyEnum« -// $TEST$ target same_EnumInSamePackage -enum »EnumInSamePackage« +// $TEST$ target same_PublicEnumInSamePackage +enum »PublicEnumInSamePackage« + +// $TEST$ target same_InternalEnumInSamePackage +internal enum »InternalEnumInSamePackage« + +// $TEST$ target same_PrivateEnumInSamePackage +private enum »PrivateEnumInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource without package.sdsdev index 7587c7e28..248a81d59 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/across files/to global enums/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_MyEnum enum »MyEnum« -// $TEST$ target without_EnumWithoutPackage -enum »EnumWithoutPackage« +// $TEST$ target without_PublicEnumWithoutPackage +enum »PublicEnumWithoutPackage« + +// $TEST$ target without_InternalEnumInSamePackage +internal enum »InternalEnumInSamePackage« + +// $TEST$ target without_PrivateSegmentInSamePackage +private enum »PrivateSegmentInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global classes/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global classes/main.sdsdev index 412e4c4eb..3ed941ce1 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global classes/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global classes/main.sdsdev @@ -1,18 +1,42 @@ package tests.scoping.namedTypes.inSameFile.toGlobalClasses -// $TEST$ target before -class »BeforeClass« +// $TEST$ target privateBefore +private class »PrivateBeforeClass« + +// $TEST$ target internalBefore +internal class »InternalBeforeClass« + +// $TEST$ target publicBefore +class »PublicBeforeClass« segment mySegment( - // $TEST$ references before - p1: »BeforeClass«, + // $TEST$ references privateBefore + p1: »PrivateBeforeClass«, + + // $TEST$ references internalBefore + p2: »InternalBeforeClass«, + + // $TEST$ references publicBefore + p3: »PublicBeforeClass«, - // $TEST$ references after - p2: »AfterClass«, + // $TEST$ references privateAfter + p4: »PrivateAfterClass«, + + // $TEST$ references internalAfter + p5: »InternalAfterClass«, + + // $TEST$ references publicAfter + p6: »PublicAfterClass«, // $TEST$ unresolved - p3: »Unresolved«, + p7: »Unresolved«, ) {} -// $TEST$ target after -class »AfterClass« +// $TEST$ target privateAfter +private class »PrivateAfterClass« + +// $TEST$ target internalAfter +internal class »InternalAfterClass« + +// $TEST$ target publicAfter +class »PublicAfterClass« diff --git a/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global enums/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global enums/main.sdsdev index dfa877d55..3955ef549 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global enums/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/named types/in same file/to global enums/main.sdsdev @@ -1,18 +1,42 @@ package tests.scoping.namedTypes.inSameFile.toGlobalEnums -// $TEST$ target before -enum »BeforeEnum« +// $TEST$ target privateBefore +private enum »PrivateBeforeEnum« + +// $TEST$ target internalBefore +internal enum »InternalBeforeEnum« + +// $TEST$ target publicBefore +enum »PublicBeforeEnum« segment mySegment( - // $TEST$ references before - p1: »BeforeEnum«, + // $TEST$ references privateBefore + p1: »PrivateBeforeEnum«, + + // $TEST$ references internalBefore + p2: »InternalBeforeEnum«, + + // $TEST$ references publicBefore + p3: »PublicBeforeEnum«, - // $TEST$ references after - p2: »AfterEnum«, + // $TEST$ references privateAfter + p4: »PrivateAfterEnum«, + + // $TEST$ references internalAfter + p5: »InternalAfterEnum«, + + // $TEST$ references publicAfter + p6: »PublicAfterEnum«, // $TEST$ unresolved - p3: »Unresolved«, + p7: »Unresolved«, ) {} -// $TEST$ target after -enum »AfterEnum« +// $TEST$ target privateAfter +private enum »PrivateAfterEnum« + +// $TEST$ target internalAfter +internal enum »InternalAfterEnum« + +// $TEST$ target publicAfter +enum »PublicAfterEnum« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main no imports or own declarations.sdsdev index 343ec013f..77b7b11d9 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ pipeline myPipeline { // $TEST$ references same_MyAnnotation »MyAnnotation«; - // $TEST$ references same_AnnotationInSamePackage - »AnnotationInSamePackage«; - // $TEST$ references safeds_AnnotationInSafeDsPackage - »AnnotationInSafeDsPackage«; + // $TEST$ references same_PublicAnnotationInSamePackage + »PublicAnnotationInSamePackage«; + + // $TEST$ references same_InternalAnnotationInSamePackage + »InternalAnnotationInSamePackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSamePackage«; + + + // $TEST$ references safeds_PublicAnnotationInSafeDsPackage + »PublicAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »InternalAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »InternalAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInAnotherPackage«; + + + // $TEST$ unresolved + »PublicAnnotationWithoutPackage«; // $TEST$ unresolved - »AnnotationInAnotherPackage«; + »InternalAnnotationWithoutPackage«; // $TEST$ unresolved - »AnnotationWithoutPackage«; + »PrivateAnnotationWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with imports and own declarations.sdsdev index 795246eff..0e9948cbd 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toAnnotations from safeds.scoping.references.acrossFiles.toAnnotations import MyAnnotation as MyOwnAnnotation -from tests.scoping.references.acrossFiles.toAnnotations.other import AnnotationInAnotherPackage, Annotation2InAnotherPackage +from tests.scoping.references.acrossFiles.toAnnotations.other import PublicAnnotationInAnotherPackage, PublicAnnotationInAnotherPackage2 // $TEST$ target own_MyOwnAnnotation annotation »MyOwnAnnotation« @@ -10,18 +10,46 @@ pipeline myPipeline { // $TEST$ references own_MyOwnAnnotation »MyOwnAnnotation«; - // $TEST$ references same_AnnotationInSamePackage - »AnnotationInSamePackage«; - // $TEST$ references safeds_AnnotationInSafeDsPackage - »AnnotationInSafeDsPackage«; + // $TEST$ references same_PublicAnnotationInSamePackage + »PublicAnnotationInSamePackage«; - // $TEST$ references other_AnnotationInAnotherPackage - »AnnotationInAnotherPackage«; + // $TEST$ references same_InternalAnnotationInSamePackage + »InternalAnnotationInSamePackage«; - // $TEST$ references other_Annotation2InAnotherPackage - »Annotation2InAnotherPackage«; + // $TEST$ unresolved + »PrivateAnnotationInSamePackage«; + + + // $TEST$ references safeds_PublicAnnotationInSafeDsPackage + »PublicAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »InternalAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSafeDsPackage«; + + + // $TEST$ references other_PublicAnnotationInAnotherPackage + »PublicAnnotationInAnotherPackage«; + + // $TEST$ references other_PublicAnnotationInAnotherPackage2 + »PublicAnnotationInAnotherPackage2«; + + // $TEST$ unresolved + »InternalAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInAnotherPackage«; + + + // $TEST$ unresolved + »PublicAnnotationWithoutPackage«; + + // $TEST$ unresolved + »InternalAnnotationWithoutPackage«; // $TEST$ unresolved - »AnnotationWithoutPackage«; + »PrivateAnnotationWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import with alias.sdsdev index 8e57d387b..11c17353e 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import with alias.sdsdev @@ -9,17 +9,45 @@ pipeline myPipeline { »MyAnnotation«; - // $TEST$ references same_AnnotationInSamePackage - »AnnotationInSamePackage«; + // $TEST$ references same_PublicAnnotationInSamePackage + »PublicAnnotationInSamePackage«; - // $TEST$ references safeds_AnnotationInSafeDsPackage - »AnnotationInSafeDsPackage«; + // $TEST$ references same_InternalAnnotationInSamePackage + »InternalAnnotationInSamePackage«; // $TEST$ unresolved - »AnnotationInAnotherPackage«; + »PrivateAnnotationInSamePackage«; + + + // $TEST$ references safeds_PublicAnnotationInSafeDsPackage + »PublicAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »InternalAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSafeDsPackage«; + // $TEST$ unresolved - »AnnotationWithoutPackage«; + »PublicAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »InternalAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInAnotherPackage«; + + + // $TEST$ unresolved + »PublicAnnotationWithoutPackage«; + + // $TEST$ unresolved + »InternalAnnotationWithoutPackage«; + + // $TEST$ unresolved + »PrivateAnnotationWithoutPackage«; + // $TEST$ references same_MyAnnotation »MyAnnotationInSamePackage«; diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import.sdsdev index f2e10fd98..e18012896 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with qualified import.sdsdev @@ -1,24 +1,52 @@ package tests.scoping.references.acrossFiles.toAnnotations from safeds.scoping.references.acrossFiles.toAnnotations import MyAnnotation -from tests.scoping.references.acrossFiles.toAnnotations.other import AnnotationInAnotherPackage, Annotation2InAnotherPackage +from tests.scoping.references.acrossFiles.toAnnotations.other import PublicAnnotationInAnotherPackage, PublicAnnotationInAnotherPackage2 pipeline myPipeline { // $TEST$ references safeds_MyAnnotation »MyAnnotation«; - // $TEST$ references same_AnnotationInSamePackage - »AnnotationInSamePackage«; - // $TEST$ references safeds_AnnotationInSafeDsPackage - »AnnotationInSafeDsPackage«; + // $TEST$ references same_PublicAnnotationInSamePackage + »PublicAnnotationInSamePackage«; - // $TEST$ references other_AnnotationInAnotherPackage - »AnnotationInAnotherPackage«; + // $TEST$ references same_InternalAnnotationInSamePackage + »InternalAnnotationInSamePackage«; - // $TEST$ references other_Annotation2InAnotherPackage - »Annotation2InAnotherPackage«; + // $TEST$ unresolved + »PrivateAnnotationInSamePackage«; + + + // $TEST$ references safeds_PublicAnnotationInSafeDsPackage + »PublicAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »InternalAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSafeDsPackage«; + + + // $TEST$ references other_PublicAnnotationInAnotherPackage + »PublicAnnotationInAnotherPackage«; + + // $TEST$ references other_PublicAnnotationInAnotherPackage2 + »PublicAnnotationInAnotherPackage2«; + + // $TEST$ unresolved + »InternalAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInAnotherPackage«; + + + // $TEST$ unresolved + »PublicAnnotationWithoutPackage«; + + // $TEST$ unresolved + »InternalAnnotationWithoutPackage«; // $TEST$ unresolved - »AnnotationWithoutPackage«; + »PrivateAnnotationWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with wildcard import.sdsdev index db146974d..25224ca3b 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ pipeline myPipeline { // $TEST$ references safeds_MyAnnotation »MyAnnotation«; - // $TEST$ references same_AnnotationInSamePackage - »AnnotationInSamePackage«; - // $TEST$ references safeds_AnnotationInSafeDsPackage - »AnnotationInSafeDsPackage«; + // $TEST$ references same_PublicAnnotationInSamePackage + »PublicAnnotationInSamePackage«; + + // $TEST$ references same_InternalAnnotationInSamePackage + »InternalAnnotationInSamePackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSamePackage«; + + + // $TEST$ references safeds_PublicAnnotationInSafeDsPackage + »PublicAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »InternalAnnotationInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »InternalAnnotationInAnotherPackage«; + + // $TEST$ unresolved + »PrivateAnnotationInAnotherPackage«; + + + // $TEST$ unresolved + »PublicAnnotationWithoutPackage«; // $TEST$ unresolved - »AnnotationInAnotherPackage«; + »InternalAnnotationWithoutPackage«; // $TEST$ unresolved - »AnnotationWithoutPackage«; + »PrivateAnnotationWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource other package.sdsdev index 88ac9ad58..8a10c92db 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource other package.sdsdev @@ -3,8 +3,14 @@ package tests.scoping.references.acrossFiles.toAnnotations.other // $TEST$ target other_MyAnnotation annotation »MyAnnotation« -// $TEST$ target other_AnnotationInAnotherPackage -annotation »AnnotationInAnotherPackage« +// $TEST$ target other_PublicAnnotationInAnotherPackage +annotation »PublicAnnotationInAnotherPackage« -// $TEST$ target other_Annotation2InAnotherPackage -annotation »Annotation2InAnotherPackage« +// $TEST$ target other_PublicAnnotationInAnotherPackage2 +annotation »PublicAnnotationInAnotherPackage2« + +// $TEST$ target other_InternalAnnotationInAnotherPackage +internal annotation »InternalAnnotationInAnotherPackage« + +// $TEST$ target other_PrivateAnnotationInAnotherPackage +private annotation »PrivateAnnotationInAnotherPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource safeds package.sdsdev index 3febd64f1..d04f00c20 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.references.acrossFiles.toAnnotations // $TEST$ target safeds_MyAnnotation annotation »MyAnnotation« -// $TEST$ target safeds_AnnotationInSafeDsPackage -annotation »AnnotationInSafeDsPackage« +// $TEST$ target safeds_PublicAnnotationInSafeDsPackage +annotation »PublicAnnotationInSafeDsPackage« + +// $TEST$ target safeds_InternalAnnotationInSafeDsPackage +internal annotation »InternalAnnotationInSafeDsPackage« + +// $TEST$ target safeds_PrivateAnnotationInSafeDsPackage +private annotation »PrivateAnnotationInSafeDsPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource same package.sdsdev index 03f610110..28e31c165 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.references.acrossFiles.toAnnotations // $TEST$ target same_MyAnnotation annotation »MyAnnotation« -// $TEST$ target same_AnnotationInSamePackage -annotation »AnnotationInSamePackage« +// $TEST$ target same_PublicAnnotationInSamePackage +annotation »PublicAnnotationInSamePackage« + +// $TEST$ target same_InternalAnnotationInSamePackage +internal annotation »InternalAnnotationInSamePackage« + +// $TEST$ target same_PrivateAnnotationInSamePackage +private annotation »PrivateAnnotationInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource without package.sdsdev index 39a33d045..61c09c771 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to annotations/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_MyAnnotation annotation »MyAnnotation« -// $TEST$ target without_AnnotationWithoutPackage -annotation »AnnotationWithoutPackage« +// $TEST$ target without_PublicAnnotationWithoutPackage +annotation »PublicAnnotationWithoutPackage« + +// $TEST$ target without_InternalAnnotationInSamePackage +internal annotation »InternalAnnotationInSamePackage« + +// $TEST$ target without_PrivateAnnotationInSamePackage +private annotation »PrivateAnnotationInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main no imports or own declarations.sdsdev index 14832a0ed..c3ea13e23 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ pipeline myPipeline { // $TEST$ references same_MyClass »MyClass«; - // $TEST$ references same_ClassInSamePackage - »ClassInSamePackage«; - // $TEST$ references safeds_ClassInSafeDsPackage - »ClassInSafeDsPackage«; + // $TEST$ references same_PublicClassInSamePackage + »PublicClassInSamePackage«; + + // $TEST$ references same_InternalClassInSamePackage + »InternalClassInSamePackage«; + + // $TEST$ unresolved + »PrivateClassInSamePackage«; + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + »PublicClassInSafeDsPackage«; + + // $TEST$ unresolved + »InternalClassInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateClassInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicClassInAnotherPackage«; + + // $TEST$ unresolved + »InternalClassInAnotherPackage«; + + // $TEST$ unresolved + »PrivateClassInAnotherPackage«; + + + // $TEST$ unresolved + »PublicClassWithoutPackage«; // $TEST$ unresolved - »ClassInAnotherPackage«; + »InternalClassWithoutPackage«; // $TEST$ unresolved - »ClassWithoutPackage«; + »PrivateClassWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with imports and own declarations.sdsdev index 1f05fa8b7..cc8d1d2f7 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toGlobalClasses from safeds.scoping.references.acrossFiles.toGlobalClasses import MyClass as MyOwnClass -from tests.scoping.references.acrossFiles.toGlobalClasses.other import ClassInAnotherPackage, Class2InAnotherPackage +from tests.scoping.references.acrossFiles.toGlobalClasses.other import PublicClassInAnotherPackage, PublicClassInAnotherPackage2 // $TEST$ target own_MyOwnClass class »MyOwnClass« @@ -10,18 +10,46 @@ pipeline myPipeline { // $TEST$ references own_MyOwnClass »MyOwnClass«; - // $TEST$ references same_ClassInSamePackage - »ClassInSamePackage«; - // $TEST$ references safeds_ClassInSafeDsPackage - »ClassInSafeDsPackage«; + // $TEST$ references same_PublicClassInSamePackage + »PublicClassInSamePackage«; - // $TEST$ references other_ClassInAnotherPackage - »ClassInAnotherPackage«; + // $TEST$ references same_InternalClassInSamePackage + »InternalClassInSamePackage«; - // $TEST$ references other_Class2InAnotherPackage - »Class2InAnotherPackage«; + // $TEST$ unresolved + »PrivateClassInSamePackage«; + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + »PublicClassInSafeDsPackage«; + + // $TEST$ unresolved + »InternalClassInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateClassInSafeDsPackage«; + + + // $TEST$ references other_PublicClassInAnotherPackage + »PublicClassInAnotherPackage«; + + // $TEST$ references other_PublicClassInAnotherPackage2 + »PublicClassInAnotherPackage2«; + + // $TEST$ unresolved + »InternalClassInAnotherPackage«; + + // $TEST$ unresolved + »PrivateClassInAnotherPackage«; + + + // $TEST$ unresolved + »PublicClassWithoutPackage«; + + // $TEST$ unresolved + »InternalClassWithoutPackage«; // $TEST$ unresolved - »ClassWithoutPackage«; + »PrivateClassWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import with alias.sdsdev index 2a7d6d902..8267e4be6 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import with alias.sdsdev @@ -9,17 +9,45 @@ pipeline myPipeline { »MyClass«; - // $TEST$ references same_ClassInSamePackage - »ClassInSamePackage«; + // $TEST$ references same_PublicClassInSamePackage + »PublicClassInSamePackage«; - // $TEST$ references safeds_ClassInSafeDsPackage - »ClassInSafeDsPackage«; + // $TEST$ references same_InternalClassInSamePackage + »InternalClassInSamePackage«; // $TEST$ unresolved - »ClassInAnotherPackage«; + »PrivateClassInSamePackage«; + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + »PublicClassInSafeDsPackage«; + + // $TEST$ unresolved + »InternalClassInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateClassInSafeDsPackage«; + // $TEST$ unresolved - »ClassWithoutPackage«; + »PublicClassInAnotherPackage«; + + // $TEST$ unresolved + »InternalClassInAnotherPackage«; + + // $TEST$ unresolved + »PrivateClassInAnotherPackage«; + + + // $TEST$ unresolved + »PublicClassWithoutPackage«; + + // $TEST$ unresolved + »InternalClassWithoutPackage«; + + // $TEST$ unresolved + »PrivateClassWithoutPackage«; + // $TEST$ references same_MyClass »MyClassInSamePackage«; diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import.sdsdev index 10bf0a70e..64e7dc279 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with qualified import.sdsdev @@ -1,24 +1,52 @@ package tests.scoping.references.acrossFiles.toGlobalClasses from safeds.scoping.references.acrossFiles.toGlobalClasses import MyClass -from tests.scoping.references.acrossFiles.toGlobalClasses.other import ClassInAnotherPackage, Class2InAnotherPackage +from tests.scoping.references.acrossFiles.toGlobalClasses.other import PublicClassInAnotherPackage, PublicClassInAnotherPackage2 pipeline myPipeline { // $TEST$ references safeds_MyClass »MyClass«; - // $TEST$ references same_ClassInSamePackage - »ClassInSamePackage«; - // $TEST$ references safeds_ClassInSafeDsPackage - »ClassInSafeDsPackage«; + // $TEST$ references same_PublicClassInSamePackage + »PublicClassInSamePackage«; - // $TEST$ references other_ClassInAnotherPackage - »ClassInAnotherPackage«; + // $TEST$ references same_InternalClassInSamePackage + »InternalClassInSamePackage«; - // $TEST$ references other_Class2InAnotherPackage - »Class2InAnotherPackage«; + // $TEST$ unresolved + »PrivateClassInSamePackage«; + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + »PublicClassInSafeDsPackage«; + + // $TEST$ unresolved + »InternalClassInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateClassInSafeDsPackage«; + + + // $TEST$ references other_PublicClassInAnotherPackage + »PublicClassInAnotherPackage«; + + // $TEST$ references other_PublicClassInAnotherPackage2 + »PublicClassInAnotherPackage2«; + + // $TEST$ unresolved + »InternalClassInAnotherPackage«; + + // $TEST$ unresolved + »PrivateClassInAnotherPackage«; + + + // $TEST$ unresolved + »PublicClassWithoutPackage«; + + // $TEST$ unresolved + »InternalClassWithoutPackage«; // $TEST$ unresolved - »ClassWithoutPackage«; + »PrivateClassWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with wildcard import.sdsdev index 2e24c405b..e3b520de5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ pipeline myPipeline { // $TEST$ references safeds_MyClass »MyClass«; - // $TEST$ references same_ClassInSamePackage - »ClassInSamePackage«; - // $TEST$ references safeds_ClassInSafeDsPackage - »ClassInSafeDsPackage«; + // $TEST$ references same_PublicClassInSamePackage + »PublicClassInSamePackage«; + + // $TEST$ references same_InternalClassInSamePackage + »InternalClassInSamePackage«; + + // $TEST$ unresolved + »PrivateClassInSamePackage«; + + + // $TEST$ references safeds_PublicClassInSafeDsPackage + »PublicClassInSafeDsPackage«; + + // $TEST$ unresolved + »InternalClassInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateClassInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicClassInAnotherPackage«; + + // $TEST$ unresolved + »InternalClassInAnotherPackage«; + + // $TEST$ unresolved + »PrivateClassInAnotherPackage«; + + + // $TEST$ unresolved + »PublicClassWithoutPackage«; // $TEST$ unresolved - »ClassInAnotherPackage«; + »InternalClassWithoutPackage«; // $TEST$ unresolved - »ClassWithoutPackage«; + »PrivateClassWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource other package.sdsdev index 67c9b8be1..b2839a3b5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource other package.sdsdev @@ -3,8 +3,14 @@ package tests.scoping.references.acrossFiles.toGlobalClasses.other // $TEST$ target other_MyClass class »MyClass« -// $TEST$ target other_ClassInAnotherPackage -class »ClassInAnotherPackage« +// $TEST$ target other_PublicClassInAnotherPackage +class »PublicClassInAnotherPackage« -// $TEST$ target other_Class2InAnotherPackage -class »Class2InAnotherPackage« +// $TEST$ target other_PublicClassInAnotherPackage2 +class »PublicClassInAnotherPackage2« + +// $TEST$ target other_InternalClassInAnotherPackage +internal class »InternalClassInAnotherPackage« + +// $TEST$ target other_PrivateClassInAnotherPackage +private class »PrivateClassInAnotherPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource safeds package.sdsdev index f9bbc9a9d..dec7f508e 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.references.acrossFiles.toGlobalClasses // $TEST$ target safeds_MyClass class »MyClass« -// $TEST$ target safeds_ClassInSafeDsPackage -class »ClassInSafeDsPackage« +// $TEST$ target safeds_PublicClassInSafeDsPackage +class »PublicClassInSafeDsPackage« + +// $TEST$ target safeds_InternalClassInSafeDsPackage +internal class »InternalClassInSafeDsPackage« + +// $TEST$ target safeds_PrivateClassInSafeDsPackage +private class »PrivateClassInSafeDsPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource same package.sdsdev index 5f358622a..e2e4be8cf 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.references.acrossFiles.toGlobalClasses // $TEST$ target same_MyClass class »MyClass« -// $TEST$ target same_ClassInSamePackage -class »ClassInSamePackage« +// $TEST$ target same_PublicClassInSamePackage +class »PublicClassInSamePackage« + +// $TEST$ target same_InternalClassInSamePackage +internal class »InternalClassInSamePackage« + +// $TEST$ target same_PrivateClassInSamePackage +private class »PrivateClassInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource without package.sdsdev index bcd074356..581101f4c 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global classes/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_MyClass class »MyClass« -// $TEST$ target without_ClassWithoutPackage -class »ClassWithoutPackage« +// $TEST$ target without_PublicClassWithoutPackage +class »PublicClassWithoutPackage« + +// $TEST$ target without_InternalClassInSamePackage +internal class »InternalClassInSamePackage« + +// $TEST$ target without_PrivateClassInSamePackage +private class »PrivateClassInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main no imports or own declarations.sdsdev index 0271f2e55..c63ce069f 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ pipeline myPipeline { // $TEST$ references same_MyEnum »MyEnum«; - // $TEST$ references same_EnumInSamePackage - »EnumInSamePackage«; - // $TEST$ references safeds_EnumInSafeDsPackage - »EnumInSafeDsPackage«; + // $TEST$ references same_PublicEnumInSamePackage + »PublicEnumInSamePackage«; + + // $TEST$ references same_InternalEnumInSamePackage + »InternalEnumInSamePackage«; + + // $TEST$ unresolved + »PrivateEnumInSamePackage«; + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + »PublicEnumInSafeDsPackage«; + + // $TEST$ unresolved + »InternalEnumInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateEnumInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicEnumInAnotherPackage«; + + // $TEST$ unresolved + »InternalEnumInAnotherPackage«; + + // $TEST$ unresolved + »PrivateEnumInAnotherPackage«; + + + // $TEST$ unresolved + »PublicEnumWithoutPackage«; // $TEST$ unresolved - »EnumInAnotherPackage«; + »InternalEnumWithoutPackage«; // $TEST$ unresolved - »EnumWithoutPackage«; + »PrivateEnumWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with imports and own declarations.sdsdev index 5d3127faa..fdbff377e 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toGlobalEnums from safeds.scoping.references.acrossFiles.toGlobalEnums import MyEnum as MyOwnEnum -from tests.scoping.references.acrossFiles.toGlobalEnums.other import EnumInAnotherPackage, Enum2InAnotherPackage +from tests.scoping.references.acrossFiles.toGlobalEnums.other import PublicEnumInAnotherPackage, PublicEnumInAnotherPackage2 // $TEST$ target own_MyOwnEnum enum »MyOwnEnum« @@ -10,18 +10,46 @@ pipeline myPipeline { // $TEST$ references own_MyOwnEnum »MyOwnEnum«; - // $TEST$ references same_EnumInSamePackage - »EnumInSamePackage«; - // $TEST$ references safeds_EnumInSafeDsPackage - »EnumInSafeDsPackage«; + // $TEST$ references same_PublicEnumInSamePackage + »PublicEnumInSamePackage«; - // $TEST$ references other_EnumInAnotherPackage - »EnumInAnotherPackage«; + // $TEST$ references same_InternalEnumInSamePackage + »InternalEnumInSamePackage«; - // $TEST$ references other_Enum2InAnotherPackage - »Enum2InAnotherPackage«; + // $TEST$ unresolved + »PrivateEnumInSamePackage«; + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + »PublicEnumInSafeDsPackage«; + + // $TEST$ unresolved + »InternalEnumInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateEnumInSafeDsPackage«; + + + // $TEST$ references other_PublicEnumInAnotherPackage + »PublicEnumInAnotherPackage«; + + // $TEST$ references other_PublicEnumInAnotherPackage2 + »PublicEnumInAnotherPackage2«; + + // $TEST$ unresolved + »InternalEnumInAnotherPackage«; + + // $TEST$ unresolved + »PrivateEnumInAnotherPackage«; + + + // $TEST$ unresolved + »PublicEnumWithoutPackage«; + + // $TEST$ unresolved + »InternalEnumWithoutPackage«; // $TEST$ unresolved - »EnumWithoutPackage«; + »PrivateEnumWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import with alias.sdsdev index 6139ad2fc..a7992691c 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import with alias.sdsdev @@ -9,17 +9,44 @@ pipeline myPipeline { »MyEnum«; - // $TEST$ references same_EnumInSamePackage - »EnumInSamePackage«; + // $TEST$ references same_PublicEnumInSamePackage + »PublicEnumInSamePackage«; - // $TEST$ references safeds_EnumInSafeDsPackage - »EnumInSafeDsPackage«; + // $TEST$ references same_InternalEnumInSamePackage + »InternalEnumInSamePackage«; // $TEST$ unresolved - »EnumInAnotherPackage«; + »PrivateEnumInSamePackage«; + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + »PublicEnumInSafeDsPackage«; + + // $TEST$ unresolved + »InternalEnumInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateEnumInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicEnumInAnotherPackage«; + + // $TEST$ unresolved + »InternallEnumInAnotherPackage«; + + // $TEST$ unresolved + »PrivateEnumInAnotherPackage«; + + + // $TEST$ unresolved + »PublicEnumWithoutPackage«; + + // $TEST$ unresolved + »InternallEnumWithoutPackage«; // $TEST$ unresolved - »EnumWithoutPackage«; + »PrivateEnumWithoutPackage«; // $TEST$ references same_MyEnum diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import.sdsdev index c844cc991..8fce79999 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with qualified import.sdsdev @@ -1,24 +1,52 @@ package tests.scoping.references.acrossFiles.toGlobalEnums from safeds.scoping.references.acrossFiles.toGlobalEnums import MyEnum -from tests.scoping.references.acrossFiles.toGlobalEnums.other import EnumInAnotherPackage, Enum2InAnotherPackage +from tests.scoping.references.acrossFiles.toGlobalEnums.other import PublicEnumInAnotherPackage, PublicEnumInAnotherPackage2 pipeline myPipeline { // $TEST$ references safeds_MyEnum »MyEnum«; - // $TEST$ references same_EnumInSamePackage - »EnumInSamePackage«; - // $TEST$ references safeds_EnumInSafeDsPackage - »EnumInSafeDsPackage«; + // $TEST$ references same_PublicEnumInSamePackage + »PublicEnumInSamePackage«; - // $TEST$ references other_EnumInAnotherPackage - »EnumInAnotherPackage«; + // $TEST$ references same_InternalEnumInSamePackage + »InternalEnumInSamePackage«; - // $TEST$ references other_Enum2InAnotherPackage - »Enum2InAnotherPackage«; + // $TEST$ unresolved + »PrivateEnumInSamePackage«; + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + »PublicEnumInSafeDsPackage«; + + // $TEST$ unresolved + »InternalEnumInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateEnumInSafeDsPackage«; + + + // $TEST$ references other_PublicEnumInAnotherPackage + »PublicEnumInAnotherPackage«; + + // $TEST$ references other_PublicEnumInAnotherPackage2 + »PublicEnumInAnotherPackage2«; + + // $TEST$ unresolved + »InternalEnumInAnotherPackage«; + + // $TEST$ unresolved + »PrivateEnumInAnotherPackage«; + + + // $TEST$ unresolved + »PublicEnumWithoutPackage«; + + // $TEST$ unresolved + »InternalEnumWithoutPackage«; // $TEST$ unresolved - »EnumWithoutPackage«; + »PrivateEnumWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with wildcard import.sdsdev index 391d353e6..ce81ae0c5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ pipeline myPipeline { // $TEST$ references safeds_MyEnum »MyEnum«; - // $TEST$ references same_EnumInSamePackage - »EnumInSamePackage«; - // $TEST$ references safeds_EnumInSafeDsPackage - »EnumInSafeDsPackage«; + // $TEST$ references same_PublicEnumInSamePackage + »PublicEnumInSamePackage«; + + // $TEST$ references same_InternalEnumInSamePackage + »InternalEnumInSamePackage«; + + // $TEST$ unresolved + »PrivateEnumInSamePackage«; + + + // $TEST$ references safeds_PublicEnumInSafeDsPackage + »PublicEnumInSafeDsPackage«; + + // $TEST$ unresolved + »InternalEnumInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateEnumInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicEnumInAnotherPackage«; + + // $TEST$ unresolved + »InternalEnumInAnotherPackage«; + + // $TEST$ unresolved + »PrivateEnumInAnotherPackage«; + + + // $TEST$ unresolved + »PublicEnumWithoutPackage«; // $TEST$ unresolved - »EnumInAnotherPackage«; + »InternalEnumWithoutPackage«; // $TEST$ unresolved - »EnumWithoutPackage«; + »PrivateEnumWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource other package.sdsdev index a561a587f..e7a5b599b 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource other package.sdsdev @@ -3,8 +3,14 @@ package tests.scoping.references.acrossFiles.toGlobalEnums.other // $TEST$ target other_MyEnum enum »MyEnum« -// $TEST$ target other_EnumInAnotherPackage -enum »EnumInAnotherPackage« +// $TEST$ target other_PublicEnumInAnotherPackage +enum »PublicEnumInAnotherPackage« -// $TEST$ target other_Enum2InAnotherPackage -enum »Enum2InAnotherPackage« +// $TEST$ target other_PublicEnumInAnotherPackage2 +enum »PublicEnumInAnotherPackage2« + +// $TEST$ target other_InternalEnumInAnotherPackage +internal enum »InternalEnumInAnotherPackage« + +// $TEST$ target other_PrivateEnumInAnotherPackage +private enum »PrivateEnumInAnotherPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource safeds package.sdsdev index 44e595fc3..52364a698 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.references.acrossFiles.toGlobalEnums // $TEST$ target safeds_MyEnum enum »MyEnum« -// $TEST$ target safeds_EnumInSafeDsPackage -enum »EnumInSafeDsPackage« +// $TEST$ target safeds_PublicEnumInSafeDsPackage +enum »PublicEnumInSafeDsPackage« + +// $TEST$ target safeds_InternalEnumInSafeDsPackage +internal enum »InternalEnumInSafeDsPackage« + +// $TEST$ target safeds_privateSegmentInSafeDsPackage +private enum »privateSegmentInSafeDsPackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource same package.sdsdev index 43c20ebcd..5c47934aa 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.references.acrossFiles.toGlobalEnums // $TEST$ target same_MyEnum enum »MyEnum« -// $TEST$ target same_EnumInSamePackage -enum »EnumInSamePackage« +// $TEST$ target same_PublicEnumInSamePackage +enum »PublicEnumInSamePackage« + +// $TEST$ target same_InternalEnumInSamePackage +internal enum »InternalEnumInSamePackage« + +// $TEST$ target same_PrivateEnumInSamePackage +private enum »PrivateEnumInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource without package.sdsdev index 7587c7e28..248a81d59 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global enums/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_MyEnum enum »MyEnum« -// $TEST$ target without_EnumWithoutPackage -enum »EnumWithoutPackage« +// $TEST$ target without_PublicEnumWithoutPackage +enum »PublicEnumWithoutPackage« + +// $TEST$ target without_InternalEnumInSamePackage +internal enum »InternalEnumInSamePackage« + +// $TEST$ target without_PrivateSegmentInSamePackage +private enum »PrivateSegmentInSamePackage« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main no imports or own declarations.sdsdev index aa95d66f8..11621bdbf 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ pipeline myPipeline { // $TEST$ references same_myFunction »myFunction«; - // $TEST$ references same_functionInSamePackage - »functionInSamePackage«; - // $TEST$ references safeds_functionInSafeDsPackage - »functionInSafeDsPackage«; + // $TEST$ references same_publicFunctionInSamePackage + »publicFunctionInSamePackage«; + + // $TEST$ references same_internalFunctionInSamePackage + »internalFunctionInSamePackage«; + + // $TEST$ unresolved + »privateFunctionInSamePackage«; + + + // $TEST$ references safeds_publicFunctionInSafeDsPackage + »publicFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »internalFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »privateFunctionInSafeDsPackage«; + + + // $TEST$ unresolved + »publicFunctionInAnotherPackage«; + + // $TEST$ unresolved + »internalFunctionInAnotherPackage«; + + // $TEST$ unresolved + »privateFunctionInAnotherPackage«; + + + // $TEST$ unresolved + »publicFunctionWithoutPackage«; // $TEST$ unresolved - »functionInAnotherPackage«; + »internalFunctionWithoutPackage«; // $TEST$ unresolved - »functionWithoutPackage«; + »privateFunctionWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with imports and own declarations.sdsdev index 822b94b9a..40f41f400 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toGlobalFunctions from safeds.scoping.references.acrossFiles.toGlobalFunctions import myFunction as myOwnFunction -from tests.scoping.references.acrossFiles.toGlobalFunctions.other import functionInAnotherPackage, function2InAnotherPackage +from tests.scoping.references.acrossFiles.toGlobalFunctions.other import publicFunctionInAnotherPackage, publicFunctionInAnotherPackage2 // $TEST$ target own_myOwnFunction fun »myOwnFunction«() @@ -10,18 +10,46 @@ pipeline myPipeline { // $TEST$ references own_myOwnFunction »myOwnFunction«; - // $TEST$ references same_functionInSamePackage - »functionInSamePackage«; - // $TEST$ references safeds_functionInSafeDsPackage - »functionInSafeDsPackage«; + // $TEST$ references same_publicFunctionInSamePackage + »publicFunctionInSamePackage«; - // $TEST$ references other_functionInAnotherPackage - »functionInAnotherPackage«; + // $TEST$ references same_internalFunctionInSamePackage + »internalFunctionInSamePackage«; - // $TEST$ references other_function2InAnotherPackage - »function2InAnotherPackage«; + // $TEST$ unresolved + »privateFunctionInSamePackage«; + + + // $TEST$ references safeds_publicFunctionInSafeDsPackage + »publicFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »internalFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »privateFunctionInSafeDsPackage«; + + + // $TEST$ references other_publicFunctionInAnotherPackage + »publicFunctionInAnotherPackage«; + + // $TEST$ references other_publicFunctionInAnotherPackage2 + »publicFunctionInAnotherPackage2«; + + // $TEST$ unresolved + »internalFunctionInAnotherPackage«; + + // $TEST$ unresolved + »privateFunctionInAnotherPackage«; + + + // $TEST$ unresolved + »publicFunctionWithoutPackage«; + + // $TEST$ unresolved + »internalFunctionWithoutPackage«; // $TEST$ unresolved - »functionWithoutPackage«; + »privateFunctionWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import with alias.sdsdev index fd2a9cb94..d1d51fdcd 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import with alias.sdsdev @@ -9,17 +9,44 @@ pipeline myPipeline { »myFunction«; - // $TEST$ references same_functionInSamePackage - »functionInSamePackage«; + // $TEST$ references same_publicFunctionInSamePackage + »publicFunctionInSamePackage«; - // $TEST$ references safeds_functionInSafeDsPackage - »functionInSafeDsPackage«; + // $TEST$ references same_internalFunctionInSamePackage + »internalFunctionInSamePackage«; // $TEST$ unresolved - »functionInAnotherPackage«; + »privateFunctionInSamePackage«; + + + // $TEST$ references safeds_publicFunctionInSafeDsPackage + »publicFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »internalFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »privateFunctionInSafeDsPackage«; + + + // $TEST$ unresolved + »publicFunctionInAnotherPackage«; + + // $TEST$ unresolved + »internalFunctionInAnotherPackage«; + + // $TEST$ unresolved + »privateFunctionInAnotherPackage«; + + + // $TEST$ unresolved + »publicFunctionWithoutPackage«; + + // $TEST$ unresolved + »internalFunctionWithoutPackage«; // $TEST$ unresolved - »functionWithoutPackage«; + »privateFunctionWithoutPackage«; // $TEST$ references same_myFunction diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import.sdsdev index 056e08fc4..82d332c2e 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with qualified import.sdsdev @@ -1,24 +1,52 @@ package tests.scoping.references.acrossFiles.toGlobalFunctions from safeds.scoping.references.acrossFiles.toGlobalFunctions import myFunction -from tests.scoping.references.acrossFiles.toGlobalFunctions.other import functionInAnotherPackage, function2InAnotherPackage +from tests.scoping.references.acrossFiles.toGlobalFunctions.other import publicFunctionInAnotherPackage, publicFunctionInAnotherPackage2 pipeline myPipeline { // $TEST$ references safeds_myFunction »myFunction«; - // $TEST$ references same_functionInSamePackage - »functionInSamePackage«; - // $TEST$ references safeds_functionInSafeDsPackage - »functionInSafeDsPackage«; + // $TEST$ references same_publicFunctionInSamePackage + »publicFunctionInSamePackage«; - // $TEST$ references other_functionInAnotherPackage - »functionInAnotherPackage«; + // $TEST$ references same_internalFunctionInSamePackage + »internalFunctionInSamePackage«; - // $TEST$ references other_function2InAnotherPackage - »function2InAnotherPackage«; + // $TEST$ unresolved + »privateFunctionInSamePackage«; + + + // $TEST$ references safeds_publicFunctionInSafeDsPackage + »publicFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »internalFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »privateFunctionInSafeDsPackage«; + + + // $TEST$ references other_publicFunctionInAnotherPackage + »publicFunctionInAnotherPackage«; + + // $TEST$ references other_publicFunctionInAnotherPackage2 + »publicFunctionInAnotherPackage2«; + + // $TEST$ unresolved + »internalFunctionInAnotherPackage«; + + // $TEST$ unresolved + »privateFunctionInAnotherPackage«; + + + // $TEST$ unresolved + »publicFunctionWithoutPackage«; + + // $TEST$ unresolved + »internalFunctionWithoutPackage«; // $TEST$ unresolved - »functionWithoutPackage«; + »privateFunctionWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with wildcard import.sdsdev index e152bdc87..2727cad0b 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ pipeline myPipeline { // $TEST$ references safeds_myFunction »myFunction«; - // $TEST$ references same_functionInSamePackage - »functionInSamePackage«; - // $TEST$ references safeds_functionInSafeDsPackage - »functionInSafeDsPackage«; + // $TEST$ references same_publicFunctionInSamePackage + »publicFunctionInSamePackage«; + + // $TEST$ references same_internalFunctionInSamePackage + »internalFunctionInSamePackage«; + + // $TEST$ unresolved + »privateFunctionInSamePackage«; + + + // $TEST$ references safeds_publicFunctionInSafeDsPackage + »publicFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »internalFunctionInSafeDsPackage«; + + // $TEST$ unresolved + »privateFunctionInSafeDsPackage«; + + + // $TEST$ unresolved + »publicFunctionInAnotherPackage«; + + // $TEST$ unresolved + »internalFunctionInAnotherPackage«; + + // $TEST$ unresolved + »privateFunctionInAnotherPackage«; + + + // $TEST$ unresolved + »publicFunctionWithoutPackage«; // $TEST$ unresolved - »functionInAnotherPackage«; + »internalFunctionWithoutPackage«; // $TEST$ unresolved - »functionWithoutPackage«; + »privateFunctionWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource other package.sdsdev index 350069f5d..098a18bfb 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource other package.sdsdev @@ -3,8 +3,14 @@ package tests.scoping.references.acrossFiles.toGlobalFunctions.other // $TEST$ target other_myFunction fun »myFunction«() -// $TEST$ target other_functionInAnotherPackage -fun »functionInAnotherPackage«() +// $TEST$ target other_publicFunctionInAnotherPackage +fun »publicFunctionInAnotherPackage«() -// $TEST$ target other_function2InAnotherPackage -fun »function2InAnotherPackage«() +// $TEST$ target other_publicFunctionInAnotherPackage2 +fun »publicFunctionInAnotherPackage2«() + +// $TEST$ target other_internalFunctionInAnotherPackage +internal fun »internalFunctionInAnotherPackage«() + +// $TEST$ target other_privateFunctionInAnotherPackage +private fun »privateFunctionInAnotherPackage«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource safeds package.sdsdev index 42f3f9bdf..d4c174ac8 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.references.acrossFiles.toGlobalFunctions // $TEST$ target safeds_myFunction fun »myFunction«() -// $TEST$ target safeds_functionInSafeDsPackage -fun »functionInSafeDsPackage«() +// $TEST$ target safeds_publicFunctionInSafeDsPackage +fun »publicFunctionInSafeDsPackage«() + +// $TEST$ target safeds_internalFunctionInSafeDsPackage +internal fun »internalFunctionInSafeDsPackage«() + +// $TEST$ target safeds_privateFunctionInSafeDsPackage +private fun »privateFunctionInSafeDsPackage«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource same package.sdsdev index 969c2847d..bacd91125 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.references.acrossFiles.toGlobalFunctions // $TEST$ target same_myFunction fun »myFunction«() -// $TEST$ target same_functionInSamePackage -fun »functionInSamePackage«() +// $TEST$ target same_publicFunctionInSamePackage +fun »publicFunctionInSamePackage«() + +// $TEST$ target same_internalFunctionInSamePackage +internal fun »internalFunctionInSamePackage«() + +// $TEST$ target same_privateFunctionInSamePackage +private fun »privateFunctionInSamePackage«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource without package.sdsdev index fc524811a..049441cfe 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to global functions/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_myFunction fun »myFunction«() -// $TEST$ target without_functionWithoutPackage -fun »functionWithoutPackage«() +// $TEST$ target without_publicFunctionWithoutPackage +fun »publicFunctionWithoutPackage«() + +// $TEST$ target without_internalFunctionInSamePackage +internal fun »internalFunctionInSamePackage«() + +// $TEST$ target without_privateFunctionInSamePackage +private fun »privateFunctionInSamePackage«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main no imports or own declarations.sdsdev index 2a5d91748..f7160bc31 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ segment mySegment() { // $TEST$ unresolved »myPipeline«; + + // $TEST$ unresolved + »publicPipelineInSamePackage«; + + // $TEST$ unresolved + »internalPipelineInSamePackage«; + + // $TEST$ unresolved + »privatePipelineInSamePackage«; + + + // $TEST$ unresolved + »publicPipelineInSafeDsPackage«; + // $TEST$ unresolved - »pipelineInSamePackage«; + »internalPipelineInSafeDsPackage«; + + // $TEST$ unresolved + »privatePipelineInSafeDsPackage«; + + + // $TEST$ unresolved + »publicPipelineInAnotherPackage«; + + // $TEST$ unresolved + »internalPipelineInAnotherPackage«; + + // $TEST$ unresolved + »privatePipelineInAnotherPackage«; + // $TEST$ unresolved - »pipelineInSafeDsPackage«; + »publicPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineInAnotherPackage«; + »internalPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineWithoutPackage«; + »privatePipelineWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with imports and own declarations.sdsdev index 18d497142..eac1016ac 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with imports and own declarations.sdsdev @@ -10,18 +10,46 @@ segment mySegment() { // $TEST$ references own_myOwnPipeline »myOwnPipeline«; + + // $TEST$ unresolved + »publicPipelineInSamePackage«; + + // $TEST$ unresolved + »internalPipelineInSamePackage«; + + // $TEST$ unresolved + »privatePipelineInSamePackage«; + + + // $TEST$ unresolved + »publicPipelineInSafeDsPackage«; + // $TEST$ unresolved - »pipelineInSamePackage«; + »internalPipelineInSafeDsPackage«; // $TEST$ unresolved - »pipelineInSafeDsPackage«; + »privatePipelineInSafeDsPackage«; + + + // $TEST$ unresolved + »publicPipelineInAnotherPackage«; + + // $TEST$ unresolved + »publicPipelineInAnotherPackage2«; + + // $TEST$ unresolved + »internalPipelineInAnotherPackage«; + + // $TEST$ unresolved + »privatePipelineInAnotherPackage«; + // $TEST$ unresolved - »pipelineInAnotherPackage«; + »publicPipelineWithoutPackage«; // $TEST$ unresolved - »pipeline2InAnotherPackage«; + »internalPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineWithoutPackage«; + »privatePipelineWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import with alias.sdsdev index 9f3eb5e3f..6bad43aa1 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import with alias.sdsdev @@ -10,16 +10,43 @@ segment mySegment() { // $TEST$ unresolved - »pipelineInSamePackage«; + »publicPipelineInSamePackage«; // $TEST$ unresolved - »pipelineInSafeDsPackage«; + »internalPipelineInSamePackage«; // $TEST$ unresolved - »pipelineInAnotherPackage«; + »privatePipelineInSamePackage«; + + + // $TEST$ unresolved + »publicPipelineInSafeDsPackage«; + + // $TEST$ unresolved + »internalPipelineInSafeDsPackage«; + + // $TEST$ unresolved + »privatePipelineInSafeDsPackage«; + + + // $TEST$ unresolved + »publicPipelineInAnotherPackage«; + + // $TEST$ unresolved + »internalPipelineInAnotherPackage«; + + // $TEST$ unresolved + »privatePipelineInAnotherPackage«; + + + // $TEST$ unresolved + »publicPipelineWithoutPackage«; + + // $TEST$ unresolved + »internalPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineWithoutPackage«; + »privatePipelineWithoutPackage«; // $TEST$ unresolved diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import.sdsdev index 5b97bbc9a..67515cbb3 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with qualified import.sdsdev @@ -7,18 +7,46 @@ segment mySegment() { // $TEST$ unresolved »myPipeline«; + + // $TEST$ unresolved + »publicPipelineInSamePackage«; + + // $TEST$ unresolved + »internalPipelineInSamePackage«; + + // $TEST$ unresolved + »privatePipelineInSamePackage«; + + + // $TEST$ unresolved + »publicPipelineInSafeDsPackage«; + // $TEST$ unresolved - »pipelineInSamePackage«; + »internalPipelineInSafeDsPackage«; // $TEST$ unresolved - »pipelineInSafeDsPackage«; + »privatePipelineInSafeDsPackage«; + + + // $TEST$ unresolved + »publicPipelineInAnotherPackage«; + + // $TEST$ unresolved + »publicPipelineInAnotherPackage2«; + + // $TEST$ unresolved + »internalPipelineInAnotherPackage«; + + // $TEST$ unresolved + »privatePipelineInAnotherPackage«; + // $TEST$ unresolved - »pipelineInAnotherPackage«; + »publicPipelineWithoutPackage«; // $TEST$ unresolved - »pipeline2InAnotherPackage«; + »internalPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineWithoutPackage«; + »privatePipelineWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with wildcard import.sdsdev index 8747eb065..1630950c5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ segment mySegment() { // $TEST$ unresolved »myPipeline«; + + // $TEST$ unresolved + »publicPipelineInSamePackage«; + + // $TEST$ unresolved + »internalPipelineInSamePackage«; + + // $TEST$ unresolved + »privatePipelineInSamePackage«; + + + // $TEST$ unresolved + »publicPipelineInSafeDsPackage«; + // $TEST$ unresolved - »pipelineInSamePackage«; + »internalPipelineInSafeDsPackage«; + + // $TEST$ unresolved + »privatePipelineInSafeDsPackage«; + + + // $TEST$ unresolved + »publicPipelineInAnotherPackage«; + + // $TEST$ unresolved + »internalPipelineInAnotherPackage«; + + // $TEST$ unresolved + »privatePipelineInAnotherPackage«; + // $TEST$ unresolved - »pipelineInSafeDsPackage«; + »publicPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineInAnotherPackage«; + »internalPipelineWithoutPackage«; // $TEST$ unresolved - »pipelineWithoutPackage«; + »privatePipelineWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource other package.sdsdev index 3adecca80..a9a8aef0b 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource other package.sdsdev @@ -3,8 +3,14 @@ package tests.scoping.references.acrossFiles.toPipelines.other // $TEST$ target other_myPipeline pipeline »myPipeline« {} -// $TEST$ target other_pipelineInAnotherPackage -pipeline »pipelineInAnotherPackage« {} +// $TEST$ target other_publicPipelineInAnotherPackage +pipeline »publicPipelineInAnotherPackage« {} -// $TEST$ target other_pipeline2InAnotherPackage -pipeline »pipeline2InAnotherPackage« {} +// $TEST$ target other_publicPipelineInAnotherPackage2 +pipeline »publicPipelineInAnotherPackage2« {} + +// $TEST$ target other_internalPipelineInAnotherPackage +internal pipeline »internalPipelineInAnotherPackage« {} + +// $TEST$ target other_privatePipelineInAnotherPackage +private pipeline »privatePipelineInAnotherPackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource safeds package.sdsdev index 9f66ceb09..cd108f29b 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.references.acrossFiles.toPipelines // $TEST$ target safeds_myPipeline pipeline »myPipeline« {} -// $TEST$ target safeds_pipelineInSafeDsPackage -pipeline »pipelineInSafeDsPackage« {} +// $TEST$ target safeds_publicPipelineInSafeDsPackage +pipeline »publicPipelineInSafeDsPackage« {} + +// $TEST$ target safeds_internalPipelineInSafeDsPackage +internal pipeline »internalPipelineInSafeDsPackage« {} + +// $TEST$ target safeds_privatePipelineInSafeDsPackage +private pipeline »privatePipelineInSafeDsPackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource same package.sdsdev index 34cec8cad..4d709465d 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.references.acrossFiles.toPipelines // $TEST$ target same_myPipeline pipeline »myPipeline« {} -// $TEST$ target same_pipelineInSamePackage -pipeline »pipelineInSamePackage« {} +// $TEST$ target same_publicPipelineInSamePackage +pipeline »publicPipelineInSamePackage« {} + +// $TEST$ target same_internalPipelineInSamePackage +internal pipeline »internalPipelineInSamePackage« {} + +// $TEST$ target same_privatePipelineInSamePackage +private pipeline »privatePipelineInSamePackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource without package.sdsdev index da94d86ff..c1d8645f1 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to pipelines/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_myPipeline pipeline »myPipeline« {} -// $TEST$ target without_pipelineWithoutPackage -pipeline »pipelineWithoutPackage« {} +// $TEST$ target without_publicPipelineWithoutPackage +pipeline »publicPipelineWithoutPackage« {} + +// $TEST$ target without_internalPipelineInSamePackage +internal pipeline »internalPipelineInSamePackage« {} + +// $TEST$ target without_privatePipelineInSamePackage +private pipeline »privatePipelineInSamePackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main no imports or own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main no imports or own declarations.sdsdev index 9d84b9228..fd35ee395 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main no imports or own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main no imports or own declarations.sdsdev @@ -4,15 +4,43 @@ pipeline myPipeline { // $TEST$ references same_MySchema »MySchema«; - // $TEST$ references same_SchemaInSamePackage - »SchemaInSamePackage«; - // $TEST$ references safeds_SchemaInSafeDsPackage - »SchemaInSafeDsPackage«; + // $TEST$ references same_PublicSchemaInSamePackage + »PublicSchemaInSamePackage«; + + // $TEST$ references same_InternalSchemaInSamePackage + »InternalSchemaInSamePackage«; + + // $TEST$ unresolved + »PrivateSchemaInSamePackage«; + + + // $TEST$ references safeds_PublicSchemaInSafeDsPackage + »PublicSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »InternalSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateSchemaInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicSchemaInAnotherPackage«; + + // $TEST$ unresolved + »InternalSchemaInAnotherPackage«; + + // $TEST$ unresolved + »PrivateSchemaInAnotherPackage«; + + + // $TEST$ unresolved + »PublicSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaInAnotherPackage«; + »InternalSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaWithoutPackage«; + »PrivateSchemaWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with imports and own declarations.sdsdev index 3aa405425..5639def32 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toSchemas from safeds.scoping.references.acrossFiles.toSchemas import MySchema as MyOwnSchema -from tests.scoping.references.acrossFiles.toSchemas.other import SchemaInAnotherPackage, Schema2InAnotherPackage +from tests.scoping.references.acrossFiles.toSchemas.other import PublicSchemaInAnotherPackage, PublicSchemaInAnotherPackage2 // $TEST$ target own_MyOwnSchema schema »MyOwnSchema« {} @@ -10,18 +10,46 @@ pipeline myPipeline { // $TEST$ references own_MyOwnSchema »MyOwnSchema«; - // $TEST$ references same_SchemaInSamePackage - »SchemaInSamePackage«; - // $TEST$ references safeds_SchemaInSafeDsPackage - »SchemaInSafeDsPackage«; + // $TEST$ references same_PublicSchemaInSamePackage + »PublicSchemaInSamePackage«; - // $TEST$ references other_SchemaInAnotherPackage - »SchemaInAnotherPackage«; + // $TEST$ references same_InternalSchemaInSamePackage + »InternalSchemaInSamePackage«; - // $TEST$ references other_Schema2InAnotherPackage - »Schema2InAnotherPackage«; + // $TEST$ unresolved + »PrivateSchemaInSamePackage«; + + + // $TEST$ references safeds_PublicSchemaInSafeDsPackage + »PublicSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »InternalSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateSchemaInSafeDsPackage«; + + + // $TEST$ references other_PublicSchemaInAnotherPackage + »PublicSchemaInAnotherPackage«; + + // $TEST$ references other_PublicSchemaInAnotherPackage2 + »PublicSchemaInAnotherPackage2«; + + // $TEST$ unresolved + »InternalSchemaInAnotherPackage«; + + // $TEST$ unresolved + »PrivateSchemaInAnotherPackage«; + + + // $TEST$ unresolved + »PublicSchemaWithoutPackage«; + + // $TEST$ unresolved + »InternalSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaWithoutPackage«; + »PrivateSchemaWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import with alias.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import with alias.sdsdev index a4d0ffb97..8ee345508 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import with alias.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import with alias.sdsdev @@ -9,17 +9,44 @@ pipeline myPipeline { »MySchema«; - // $TEST$ references same_SchemaInSamePackage - »SchemaInSamePackage«; + // $TEST$ references same_PublicSchemaInSamePackage + »PublicSchemaInSamePackage«; - // $TEST$ references safeds_SchemaInSafeDsPackage - »SchemaInSafeDsPackage«; + // $TEST$ references same_InternalSchemaInSamePackage + »InternalSchemaInSamePackage«; // $TEST$ unresolved - »SchemaInAnotherPackage«; + »PrivateSchemaInSamePackage«; + + + // $TEST$ references safeds_PublicSchemaInSafeDsPackage + »PublicSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »InternalSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateSchemaInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicSchemaInAnotherPackage«; + + // $TEST$ unresolved + »InternalSchemaInAnotherPackage«; + + // $TEST$ unresolved + »PrivateSchemaInAnotherPackage«; + + + // $TEST$ unresolved + »PublicSchemaWithoutPackage«; + + // $TEST$ unresolved + »InternalSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaWithoutPackage«; + »PrivateSchemaWithoutPackage«; // $TEST$ references same_MySchema diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import.sdsdev index 49e621449..794c333f5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with qualified import.sdsdev @@ -1,24 +1,52 @@ package tests.scoping.references.acrossFiles.toSchemas from safeds.scoping.references.acrossFiles.toSchemas import MySchema -from tests.scoping.references.acrossFiles.toSchemas.other import SchemaInAnotherPackage, Schema2InAnotherPackage +from tests.scoping.references.acrossFiles.toSchemas.other import PublicSchemaInAnotherPackage, PublicSchemaInAnotherPackage2 pipeline myPipeline { // $TEST$ references safeds_MySchema »MySchema«; - // $TEST$ references same_SchemaInSamePackage - »SchemaInSamePackage«; - // $TEST$ references safeds_SchemaInSafeDsPackage - »SchemaInSafeDsPackage«; + // $TEST$ references same_PublicSchemaInSamePackage + »PublicSchemaInSamePackage«; - // $TEST$ references other_SchemaInAnotherPackage - »SchemaInAnotherPackage«; + // $TEST$ references same_InternalSchemaInSamePackage + »InternalSchemaInSamePackage«; - // $TEST$ references other_Schema2InAnotherPackage - »Schema2InAnotherPackage«; + // $TEST$ unresolved + »PrivateSchemaInSamePackage«; + + + // $TEST$ references safeds_PublicSchemaInSafeDsPackage + »PublicSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »InternalSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateSchemaInSafeDsPackage«; + + + // $TEST$ references other_PublicSchemaInAnotherPackage + »PublicSchemaInAnotherPackage«; + + // $TEST$ references other_PublicSchemaInAnotherPackage2 + »PublicSchemaInAnotherPackage2«; + + // $TEST$ unresolved + »InternalSchemaInAnotherPackage«; + + // $TEST$ unresolved + »PrivateSchemaInAnotherPackage«; + + + // $TEST$ unresolved + »PublicSchemaWithoutPackage«; + + // $TEST$ unresolved + »InternalSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaWithoutPackage«; + »PrivateSchemaWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with wildcard import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with wildcard import.sdsdev index c7beb819e..b2307bde8 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with wildcard import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/main with wildcard import.sdsdev @@ -6,15 +6,43 @@ pipeline myPipeline { // $TEST$ references safeds_MySchema »MySchema«; - // $TEST$ references same_SchemaInSamePackage - »SchemaInSamePackage«; - // $TEST$ references safeds_SchemaInSafeDsPackage - »SchemaInSafeDsPackage«; + // $TEST$ references same_PublicSchemaInSamePackage + »PublicSchemaInSamePackage«; + + // $TEST$ references same_InternalSchemaInSamePackage + »InternalSchemaInSamePackage«; + + // $TEST$ unresolved + »PrivateSchemaInSamePackage«; + + + // $TEST$ references safeds_PublicSchemaInSafeDsPackage + »PublicSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »InternalSchemaInSafeDsPackage«; + + // $TEST$ unresolved + »PrivateSchemaInSafeDsPackage«; + + + // $TEST$ unresolved + »PublicSchemaInAnotherPackage«; + + // $TEST$ unresolved + »InternalSchemaInAnotherPackage«; + + // $TEST$ unresolved + »PrivateSchemaInAnotherPackage«; + + + // $TEST$ unresolved + »PublicSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaInAnotherPackage«; + »InternalSchemaWithoutPackage«; // $TEST$ unresolved - »SchemaWithoutPackage«; + »PrivateSchemaWithoutPackage«; } diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource other package.sdsdev index 27b7146ea..d3418caf5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource other package.sdsdev @@ -3,8 +3,14 @@ package tests.scoping.references.acrossFiles.toSchemas.other // $TEST$ target other_MySchema schema »MySchema« {} -// $TEST$ target other_SchemaInAnotherPackage -schema »SchemaInAnotherPackage« {} +// $TEST$ target other_PublicSchemaInAnotherPackage +schema »PublicSchemaInAnotherPackage« {} -// $TEST$ target other_Schema2InAnotherPackage -schema »Schema2InAnotherPackage« {} +// $TEST$ target other_PublicSchemaInAnotherPackage2 +schema »PublicSchemaInAnotherPackage2« {} + +// $TEST$ target other_InternalSchematInAnotherPackage +internal schema »InternalSchematInAnotherPackage« {} + +// $TEST$ target other_PrivateSchemaInAnotherPackage +private schema »PrivateSchemaInAnotherPackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource safeds package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource safeds package.sdsdev index f8f5a10c6..a2176af1f 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource safeds package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource safeds package.sdsdev @@ -3,5 +3,11 @@ package safeds.scoping.references.acrossFiles.toSchemas // $TEST$ target safeds_MySchema schema »MySchema« {} -// $TEST$ target safeds_SchemaInSafeDsPackage -schema »SchemaInSafeDsPackage« {} +// $TEST$ target safeds_PublicSchemaInSafeDsPackage +schema »PublicSchemaInSafeDsPackage« {} + +// $TEST$ target safeds_InternalSchemaInSafeDsPackage +internal schema »InternalSchemaInSafeDsPackage« {} + +// $TEST$ target safeds_PrivateSchemaInSafeDsPackage +private schema »PrivateSchemaInSafeDsPackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource same package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource same package.sdsdev index 2fdfc079c..d8b498ba5 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource same package.sdsdev @@ -3,5 +3,11 @@ package tests.scoping.references.acrossFiles.toSchemas // $TEST$ target same_MySchema schema »MySchema« {} -// $TEST$ target same_SchemaInSamePackage -schema »SchemaInSamePackage« {} +// $TEST$ target same_PublicSchemaInSamePackage +schema »PublicSchemaInSamePackage« {} + +// $TEST$ target same_InternalSchemaInSamePackage +internal schema »InternalSchemaInSamePackage« {} + +// $TEST$ target same_PrivateSchemaInSamePackage +private schema »PrivateSchemaInSamePackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource without package.sdsdev index 89cd8480b..3b0f02177 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to schemas/resource without package.sdsdev @@ -1,5 +1,11 @@ // $TEST$ target without_MySchema schema »MySchema« {} -// $TEST$ target without_SchemaWithoutPackage -schema »SchemaWithoutPackage« {} +// $TEST$ target without_PublicSchemaWithoutPackage +schema »PublicSchemaWithoutPackage« {} + +// $TEST$ target without_InternalSchemaInSamePackage +internal schema »InternalSchemaInSamePackage« {} + +// $TEST$ target without_PrivateSchemaInSamePackage +private schema »PrivateSchemaInSamePackage« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with imports and own declarations.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with imports and own declarations.sdsdev index f179230e5..aba1572be 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with imports and own declarations.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with imports and own declarations.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toSegments from safeds.scoping.references.acrossFiles.toSegments import mySegment as myOwnSegment -from tests.scoping.references.acrossFiles.toSegments.other import publicSegmentInAnotherPackage, public2SegmentInAnotherPackage +from tests.scoping.references.acrossFiles.toSegments.other import publicSegmentInAnotherPackage, publicSegmentInAnotherPackage2 from tests.scoping.references.acrossFiles.toSegments.other import internalSegmentInAnotherPackage from tests.scoping.references.acrossFiles.toSegments.other import privateSegmentInAnotherPackage @@ -36,8 +36,8 @@ pipeline myPipeline { // $TEST$ references other_publicSegmentInAnotherPackage »publicSegmentInAnotherPackage«; - // $TEST$ references other_public2SegmentInAnotherPackage - »public2SegmentInAnotherPackage«; + // $TEST$ references other_publicSegmentInAnotherPackage2 + »publicSegmentInAnotherPackage2«; // $TEST$ unresolved »internalSegmentInAnotherPackage«; diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with qualified import.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with qualified import.sdsdev index b0a350a45..60b4906b3 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with qualified import.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/main with qualified import.sdsdev @@ -1,7 +1,7 @@ package tests.scoping.references.acrossFiles.toSegments from safeds.scoping.references.acrossFiles.toSegments import mySegment -from tests.scoping.references.acrossFiles.toSegments.other import publicSegmentInAnotherPackage, public2SegmentInAnotherPackage +from tests.scoping.references.acrossFiles.toSegments.other import publicSegmentInAnotherPackage, publicSegmentInAnotherPackage2 from tests.scoping.references.acrossFiles.toSegments.other import internalSegmentInAnotherPackage from tests.scoping.references.acrossFiles.toSegments.other import privateSegmentInAnotherPackage @@ -33,8 +33,8 @@ pipeline myPipeline { // $TEST$ references other_publicSegmentInAnotherPackage »publicSegmentInAnotherPackage«; - // $TEST$ references other_public2SegmentInAnotherPackage - »public2SegmentInAnotherPackage«; + // $TEST$ references other_publicSegmentInAnotherPackage2 + »publicSegmentInAnotherPackage2«; // $TEST$ unresolved »internalSegmentInAnotherPackage«; diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource other package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource other package.sdsdev index 02cd0f13d..107d37401 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource other package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource other package.sdsdev @@ -6,8 +6,8 @@ segment »mySegment«() {} // $TEST$ target other_publicSegmentInAnotherPackage segment »publicSegmentInAnotherPackage«() {} -// $TEST$ target other_public2SegmentInAnotherPackage -segment »public2SegmentInAnotherPackage«() {} +// $TEST$ target other_publicSegmentInAnotherPackage2 +segment »publicSegmentInAnotherPackage2«() {} // $TEST$ target other_internalSegmentInAnotherPackage internal segment »internalSegmentInAnotherPackage«() {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource without package.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource without package.sdsdev index 6c6e2ca64..3316cf9c4 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource without package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/across files/to segments/resource without package.sdsdev @@ -4,8 +4,8 @@ segment »mySegment«() {} // $TEST$ target without_publicSegmentWithoutPackage segment »publicSegmentWithoutPackage«() {} -// $TEST$ target without_internalSegmentWithoutPackage -internal segment »internalSegmentWithoutPackage«() {} +// $TEST$ target without_internalSegmentInSamePackage +internal segment »internalSegmentInSamePackage«() {} -// $TEST$ target without_privateSegmentWithoutPackage -private segment »privateSegmentWithoutPackage«() {} +// $TEST$ target without_privateSegmentInSamePackage +private segment »privateSegmentInSamePackage«() {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to annotations/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to annotations/main.sdsdev index 1564119c5..a7527bf6f 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to annotations/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to annotations/main.sdsdev @@ -1,15 +1,35 @@ package tests.scoping.references.inSameFile.toAnnotations -// $TEST$ target before -annotation »Before« +// $TEST$ target PrivateBefore +private annotation »PrivateBefore« +// $TEST$ target InternalBefore +internal annotation »InternalBefore« +// $TEST$ target PublicBefore +annotation »PublicBefore« -segment mySegment() { - // $TEST$ references before - »Before«; +pipeline myPipeline { + // $TEST$ references PrivateBefore + »PrivateBefore«; - // $TEST$ references after - »After«; + // $TEST$ references InternalBefore + »InternalBefore«; + + // $TEST$ references PublicBefore + »PublicBefore«; + + // $TEST$ references PrivateAfter + »PrivateAfter«; + + // $TEST$ references InternalAfter + »InternalAfter«; + + // $TEST$ references PublicAfter + »PublicAfter«; } -// $TEST$ target after -annotation »After« +// $TEST$ target PrivateAfter +private annotation »PrivateAfter« +// $TEST$ target InternalAfter +internal annotation »InternalAfter« +// $TEST$ target PublicAfter +annotation »PublicAfter« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global classes/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global classes/main.sdsdev index 0085cf6ce..a9d58fa85 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global classes/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global classes/main.sdsdev @@ -1,15 +1,35 @@ package tests.scoping.references.inSameFile.toGlobalClasses -// $TEST$ target before -class »Before«() +// $TEST$ target PrivateBefore +private class »PrivateBefore« +// $TEST$ target InternalBefore +internal class »InternalBefore« +// $TEST$ target PublicBefore +class »PublicBefore« pipeline myPipeline { - // $TEST$ references before - »Before«; + // $TEST$ references PrivateBefore + »PrivateBefore«; - // $TEST$ references after - »After«; + // $TEST$ references InternalBefore + »InternalBefore«; + + // $TEST$ references PublicBefore + »PublicBefore«; + + // $TEST$ references PrivateAfter + »PrivateAfter«; + + // $TEST$ references InternalAfter + »InternalAfter«; + + // $TEST$ references PublicAfter + »PublicAfter«; } -// $TEST$ target after -class »After«() +// $TEST$ target PrivateAfter +private class »PrivateAfter« +// $TEST$ target InternalAfter +internal class »InternalAfter« +// $TEST$ target PublicAfter +class »PublicAfter« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global enums/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global enums/main.sdsdev index 9ec1275ab..121d3af20 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global enums/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global enums/main.sdsdev @@ -1,15 +1,35 @@ package tests.scoping.references.inSameFile.toGlobalEnums -// $TEST$ target before -enum »Before« +// $TEST$ target PrivateBefore +private enum »PrivateBefore« +// $TEST$ target InternalBefore +internal enum »InternalBefore« +// $TEST$ target PublicBefore +enum »PublicBefore« pipeline myPipeline { - // $TEST$ references before - »Before«(); + // $TEST$ references PrivateBefore + »PrivateBefore«; - // $TEST$ references after - »After«(); + // $TEST$ references InternalBefore + »InternalBefore«; + + // $TEST$ references PublicBefore + »PublicBefore«; + + // $TEST$ references PrivateAfter + »PrivateAfter«; + + // $TEST$ references InternalAfter + »InternalAfter«; + + // $TEST$ references PublicAfter + »PublicAfter«; } -// $TEST$ target after -enum »After« +// $TEST$ target PrivateAfter +private enum »PrivateAfter« +// $TEST$ target InternalAfter +internal enum »InternalAfter« +// $TEST$ target PublicAfter +enum »PublicAfter« diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global functions/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global functions/main.sdsdev index 7f07163a3..2f3019907 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global functions/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to global functions/main.sdsdev @@ -1,15 +1,35 @@ package tests.scoping.references.inSameFile.toGlobalFunctions -// $TEST$ target before -fun »before«() +// $TEST$ target privateBefore +private fun »privateBefore«() +// $TEST$ target internalBefore +internal fun »internalBefore«() +// $TEST$ target publicBefore +fun »publicBefore«() pipeline myPipeline { - // $TEST$ references before - »before«(); + // $TEST$ references privateBefore + »privateBefore«(); - // $TEST$ references after - »after«(); + // $TEST$ references internalBefore + »internalBefore«(); + + // $TEST$ references publicBefore + »publicBefore«(); + + // $TEST$ references privateAfter + »privateAfter«(); + + // $TEST$ references internalAfter + »internalAfter«(); + + // $TEST$ references publicAfter + »publicAfter«(); } -// $TEST$ target after -fun »after«() +// $TEST$ target privateAfter +private fun »privateAfter«() +// $TEST$ target internalAfter +internal fun »internalAfter«() +// $TEST$ target publicAfter +fun »publicAfter«() diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to pipelines/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to pipelines/main.sdsdev index 6a0fe7a30..cc9e2e089 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to pipelines/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to pipelines/main.sdsdev @@ -1,15 +1,36 @@ package tests.scoping.references.inSameFile.toPipelines -// $TEST$ target before -pipeline »before« {} +// $TEST$ target privateBefore +private pipeline »privateBefore« {} +// $TEST$ target internalBefore +internal pipeline »internalBefore« {} +// $TEST$ target publicBefore +pipeline »publicBefore« {} segment mySegment() { - // $TEST$ references before - »before«; + // $TEST$ references privateBefore + »privateBefore«; + + // $TEST$ references internalBefore + »internalBefore«; + + // $TEST$ references publicBefore + »publicBefore«; + + // $TEST$ references privateAfter + »privateAfter«; + + // $TEST$ references internalAfter + »internalAfter«; + + // $TEST$ references publicAfter + »publicAfter«; - // $TEST$ references after - »after«; } -// $TEST$ target after -pipeline »after« {} +// $TEST$ target privateAfter +private pipeline »privateAfter« {} +// $TEST$ target internalAfter +internal pipeline »internalAfter« {} +// $TEST$ target publicAfter +pipeline »publicAfter« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to schemas/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to schemas/main.sdsdev index a38323616..8ba5d08bc 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to schemas/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to schemas/main.sdsdev @@ -1,15 +1,35 @@ package tests.scoping.references.inSameFile.toSchemas -// $TEST$ target before -schema »Before« {} +// $TEST$ target PrivateBefore +private schema »PrivateBefore« {} +// $TEST$ target InternalBefore +internal schema »InternalBefore« {} +// $TEST$ target PublicBefore +schema »PublicBefore« {} -segment mySegment() { - // $TEST$ references before - »Before«; +pipeline myPipeline { + // $TEST$ references PrivateBefore + »PrivateBefore«; - // $TEST$ references after - »After«; + // $TEST$ references InternalBefore + »InternalBefore«; + + // $TEST$ references PublicBefore + »PublicBefore«; + + // $TEST$ references PrivateAfter + »PrivateAfter«; + + // $TEST$ references InternalAfter + »InternalAfter«; + + // $TEST$ references PublicAfter + »PublicAfter«; } -// $TEST$ target after -schema »After« {} +// $TEST$ target PrivateAfter +private schema »PrivateAfter« {} +// $TEST$ target InternalAfter +internal schema »InternalAfter« {} +// $TEST$ target PublicAfter +schema »PublicAfter« {} diff --git a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to segments/main.sdsdev b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to segments/main.sdsdev index 6223ba59e..ec06202fb 100644 --- a/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to segments/main.sdsdev +++ b/packages/safe-ds-lang/tests/resources/scoping/references/in same file/to segments/main.sdsdev @@ -22,6 +22,9 @@ pipeline myPipeline { // $TEST$ references internalAfter »internalAfter«(); + + // $TEST$ references publicAfter + »publicAfter«(); } // $TEST$ target privateAfter diff --git a/packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/main.sdsdev b/packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/main.sdsdev new file mode 100644 index 000000000..4235f10fc --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/main.sdsdev @@ -0,0 +1,43 @@ +package tests.validation.other.declarations.moduleMembers.unused + +// $TEST$ warning "This declaration is unused and can be removed." +private segment »myUnusedPrivateSegment«() {} + +// $TEST$ no warning "This declaration is unused and can be removed." +private segment »myUsedPrivateSegment«() {} + +// $TEST$ warning "This declaration is unused and can be removed." +internal segment »myUnusedInternalSegment«() {} + +// $TEST$ no warning "This declaration is unused and can be removed." +internal segment »myUsedInternalSegment«() {} + +// $TEST$ no warning "This declaration is unused and can be removed." +segment »myUnusedPublicSegment«() {} + +// $TEST$ no warning "This declaration is unused and can be removed." +segment »myUsedPublicSegment«() {} + + +// $TEST$ no warning "This declaration is unused and can be removed." +private pipeline »myUnusedPrivatePipeline« {} + +// $TEST$ no warning "This declaration is unused and can be removed." +private pipeline »myUsedPrivatePipeline« {} + +// $TEST$ no warning "This declaration is unused and can be removed." +internal pipeline »myUnusedInternalPipeline« {} + +// $TEST$ no warning "This declaration is unused and can be removed." +internal pipeline »myUsedInternalPipeline« {} + +// $TEST$ no warning "This declaration is unused and can be removed." +pipeline »myUnusedPublicPipeline« {} + +// $TEST$ no warning "This declaration is unused and can be removed." +pipeline »myUsedPublicPipeline« {} + + +pipeline myPipeline1 { + myUsedPrivateSegment(); +} diff --git a/packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/same package.sdsdev b/packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/same package.sdsdev similarity index 55% rename from packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/same package.sdsdev rename to packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/same package.sdsdev index a2928905e..22b74a5e9 100644 --- a/packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/same package.sdsdev +++ b/packages/safe-ds-lang/tests/resources/validation/other/declarations/module members/unused/same package.sdsdev @@ -1,4 +1,4 @@ -package tests.validation.other.declarations.segments.unused +package tests.validation.other.declarations.moduleMembers.unused pipeline myPipeline2 { myUsedInternalSegment(); diff --git a/packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/must not be internal/main.sdsdev b/packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/must not be internal/main.sdsdev new file mode 100644 index 000000000..6284a4de3 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/must not be internal/main.sdsdev @@ -0,0 +1,4 @@ +package tests.validation.other.declarations.pipelines.mustNotBeInternal + +// $TEST$ error "Pipelines are always private and cannot be declared as internal." +»internal« pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/need not be private/main.sdsdev b/packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/need not be private/main.sdsdev new file mode 100644 index 000000000..52f7418c4 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/validation/other/declarations/pipelines/need not be private/main.sdsdev @@ -0,0 +1,4 @@ +package tests.validation.other.declarations.pipelines.needNotBePrivate + +// $TEST$ info "Pipelines are always private and need no explicit visibility modifier." +»private« pipeline myPipeline {} diff --git a/packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/main.sdsdev b/packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/main.sdsdev deleted file mode 100644 index 4cf658e62..000000000 --- a/packages/safe-ds-lang/tests/resources/validation/other/declarations/segments/unused/main.sdsdev +++ /dev/null @@ -1,23 +0,0 @@ -package tests.validation.other.declarations.segments.unused - -// $TEST$ warning "This segment is unused and can be removed." -private segment »myUnusedPrivateSegment«() {} - -// $TEST$ no warning "This segment is unused and can be removed." -private segment »myUsedPrivateSegment«() {} - -// $TEST$ warning "This segment is unused and can be removed." -internal segment »myUnusedInternalSegment«() {} - -// $TEST$ no warning "This segment is unused and can be removed." -internal segment »myUsedInternalSegment«() {} - -// $TEST$ no warning "This segment is unused and can be removed." -segment »myUnusedPublicSegment«() {} - -// $TEST$ no warning "This segment is unused and can be removed." -segment »myUsedPublicSegment«() {} - -pipeline myPipeline1 { - myUsedPrivateSegment(); -} diff --git a/packages/safe-ds-vscode/snippets/safe-ds-dev.json b/packages/safe-ds-vscode/snippets/safe-ds-dev.json index feb9e4417..5ed6d7f33 100644 --- a/packages/safe-ds-vscode/snippets/safe-ds-dev.json +++ b/packages/safe-ds-vscode/snippets/safe-ds-dev.json @@ -11,7 +11,7 @@ }, "Annotation": { "prefix": ["annotation"], - "body": ["annotation ${1:MyAnnotation}${2:($3)} ${4:where {$0\\}}"], + "body": ["${1|internal ,private |}annotation ${2:MyAnnotation}${3:($4)} ${5:where {$0\\}}"], "description": "An annotation." }, "Attribute": { @@ -24,25 +24,40 @@ "body": ["class ${0:MyClass}"], "description": "A minimal class." }, - "Class": { + "Global Class": { + "prefix": ["class"], + "body": [ + "${1|internal ,private |}class ${2:MyClass}${3:<$4>}${5:($6)} ${7:sub $8} ${9:where {$10\\}} ${11:{$0\\}}" + ], + "description": "A global class." + }, + "Nested Class": { "prefix": ["class"], "body": ["class ${1:MyClass}${2:<$3>}${4:($5)} ${6:sub $7} ${8:where {$9\\}} ${10:{$0\\}}"], - "description": "A class." + "description": "A class when nested in another class." }, - "Enum": { + "Global Enum": { + "prefix": ["enumeration"], + "body": ["${1|internal ,private |}enum ${2:MyEnum} {", " $0", "}"], + "description": "A global enumeration." + }, + "Nested Enum": { "prefix": ["enumeration"], "body": ["enum ${1:MyEnum} {", " $0", "}"], - "description": "An enumeration." + "description": "An enumeration when nested in a class." }, "Minimal Pure Function": { "prefix": ["minimal-pure-function"], "body": ["@Pure", "fun ${1:myFunction}($0)"], "description": "A minimal pure function." }, - "Function": { + "Global Function": { "prefix": ["function"], - "body": ["${1|@Pure,@Impure([])|}", "fun ${2:myFunction}${3:<$4>}($5) ${6:-> ($7)} ${8:where {$0\\}}"], - "description": "A function." + "body": [ + "${1|@Pure,@Impure([])|}", + "${2|internal ,private |}fun ${3:myFunction}${4:<$5>}($6) ${7:-> ($8)} ${9:where {$0\\}}" + ], + "description": "A global function." }, "Minimal Pure Method": { "prefix": ["minimal-pure-method"], @@ -64,7 +79,7 @@ }, "Schema": { "prefix": ["schema"], - "body": ["schema ${1:MySchema} {", " $0", "}"], + "body": ["${1|internal ,private |}schema ${2:MySchema} {", " $0", "}"], "description": "A schema." }, "Segment": { @@ -74,7 +89,7 @@ }, "Minimal Segment": { "prefix": ["minimal-segment"], - "body": ["${1|internal ,private |}segment ${2:mySegment}($3) {", " $0", "}"], + "body": ["segment ${1:mySegment}($2) {", " $0", "}"], "description": "A segment." }, "Block Lambda": { diff --git a/packages/safe-ds-vscode/snippets/safe-ds-stub.json b/packages/safe-ds-vscode/snippets/safe-ds-stub.json index ddd5c318e..43bea51e2 100644 --- a/packages/safe-ds-vscode/snippets/safe-ds-stub.json +++ b/packages/safe-ds-vscode/snippets/safe-ds-stub.json @@ -11,7 +11,7 @@ }, "Annotation": { "prefix": ["annotation"], - "body": ["annotation ${1:MyAnnotation}${2:($3)} ${4:where {$0\\}}"], + "body": ["${1|internal ,private |}annotation ${2:MyAnnotation}${3:($4)} ${5:where {$0\\}}"], "description": "An annotation." }, "Attribute": { @@ -24,25 +24,40 @@ "body": ["class ${0:MyClass}"], "description": "A minimal class." }, - "Class": { + "Global Class": { + "prefix": ["class"], + "body": [ + "${1|internal ,private |}class ${2:MyClass}${3:<$4>}${5:($6)} ${7:sub $8} ${9:where {$10\\}} ${11:{$0\\}}" + ], + "description": "A global class." + }, + "Nested Class": { "prefix": ["class"], "body": ["class ${1:MyClass}${2:<$3>}${4:($5)} ${6:sub $7} ${8:where {$9\\}} ${10:{$0\\}}"], - "description": "A class." + "description": "A class when nested in another class." }, - "Enum": { + "Global Enum": { + "prefix": ["enumeration"], + "body": ["${1|internal ,private |}enum ${2:MyEnum} {", " $0", "}"], + "description": "A global enumeration." + }, + "Nested Enum": { "prefix": ["enumeration"], "body": ["enum ${1:MyEnum} {", " $0", "}"], - "description": "An enumeration." + "description": "An enumeration when nested in a class." }, "Minimal Pure Function": { "prefix": ["minimal-pure-function"], "body": ["@Pure", "fun ${1:myFunction}($0)"], "description": "A minimal pure function." }, - "Function": { - "prefix": ["function"], - "body": ["${1|@Pure,@Impure([])|}", "fun ${2:myFunction}${3:<$4>}($5) ${6:-> ($7)} ${8:where {$0\\}}"], - "description": "A function." + "Global Function": { + "prefix": ["global-function"], + "body": [ + "${1|@Pure,@Impure([])|}", + "${2|internal ,private |}fun ${3:myFunction}${4:<$5>}($6) ${7:-> ($8)} ${9:where {$0\\}}" + ], + "description": "A global function." }, "Minimal Pure Method": { "prefix": ["minimal-pure-method"], @@ -59,7 +74,7 @@ }, "Schema": { "prefix": ["schema"], - "body": ["schema ${1:MySchema} {", " $0", "}"], + "body": ["${1|internal ,private |}schema ${2:MySchema} {", " $0", "}"], "description": "A schema." }, "Block Comment": { diff --git a/packages/safe-ds-vscode/snippets/safe-ds.json b/packages/safe-ds-vscode/snippets/safe-ds.json index 7155979f0..0c1e8dd9e 100644 --- a/packages/safe-ds-vscode/snippets/safe-ds.json +++ b/packages/safe-ds-vscode/snippets/safe-ds.json @@ -21,7 +21,7 @@ }, "Minimal Segment": { "prefix": ["minimal-segment"], - "body": ["${1|internal ,private |}segment ${2:mySegment}($3) {", " $0", "}"], + "body": ["segment ${1:mySegment}($2) {", " $0", "}"], "description": "A segment." }, "Block Lambda": { diff --git a/packages/safe-ds-vscode/syntaxes/safe-ds-stub.tmLanguage.json b/packages/safe-ds-vscode/syntaxes/safe-ds-stub.tmLanguage.json index e0b47fa50..d243ad3af 100644 --- a/packages/safe-ds-vscode/syntaxes/safe-ds-stub.tmLanguage.json +++ b/packages/safe-ds-vscode/syntaxes/safe-ds-stub.tmLanguage.json @@ -12,7 +12,7 @@ }, { "name": "storage.modifier.safe-ds-stub", - "match": "\\b(const|in|out|static)\\b" + "match": "\\b(const|in|internal|out|private|static)\\b" }, { "name": "keyword.operator.expression.safe-ds-stub",