From 497accd2cf61d47f1ff3e85674a9e5672527bcdc Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Fri, 22 May 2026 18:07:00 +0200 Subject: [PATCH 1/3] propagate derived association modifiers to both CDRoleSymbols --- .../CDAssociationSymbolTableCompleter.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java b/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java index 4b9112ea0..7c898edfc 100644 --- a/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java +++ b/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java @@ -55,7 +55,7 @@ public void initialize_CDRole(CDRoleSymbol symbol, ASTCDAssociation ast, boolean } symbol.setType(typeResult.get()); - setupModifiers(side.getModifier(), symbol); + setupModifiers(side.getModifier(), ast.getModifier(), symbol); symbol.setIsDefinitiveNavigable(isLeft ? ast.getCDAssocDir().isDefinitiveNavigableLeft() : ast .getCDAssocDir().isDefinitiveNavigableRight()); @@ -144,13 +144,13 @@ public void endVisit(ASTCDAssociation node) { } } - public void setupModifiers(ASTModifier modifier, CDRoleSymbol roleSymbol) { - roleSymbol.setIsPublic(modifier.isPublic()); - roleSymbol.setIsPrivate(modifier.isPrivate()); - roleSymbol.setIsProtected(modifier.isProtected()); - roleSymbol.setIsStatic(modifier.isStatic()); - roleSymbol.setIsFinal(modifier.isFinal()); - roleSymbol.setIsDerived(modifier.isDerived()); + public void setupModifiers(ASTModifier assocSideModifier, ASTModifier assocModifier, CDRoleSymbol roleSymbol) { + roleSymbol.setIsPublic(assocSideModifier.isPublic()); + roleSymbol.setIsPrivate(assocSideModifier.isPrivate()); + roleSymbol.setIsProtected(assocSideModifier.isProtected()); + roleSymbol.setIsStatic(assocSideModifier.isStatic()); + roleSymbol.setIsFinal(assocSideModifier.isFinal()); + roleSymbol.setIsDerived(assocSideModifier.isDerived() || assocModifier.isDerived()); } public static void addRoleToTheirType(CDRoleSymbol symbol, TypeSymbol otherType) { From 6a7852a39f33eb31aadd73be66160e9d0613ae79 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Sat, 23 May 2026 14:42:31 +0200 Subject: [PATCH 2/3] spotlessApply --- .../_symboltable/CDAssociationSymbolTableCompleter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java b/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java index 7c898edfc..fcb52d064 100644 --- a/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java +++ b/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java @@ -144,7 +144,8 @@ public void endVisit(ASTCDAssociation node) { } } - public void setupModifiers(ASTModifier assocSideModifier, ASTModifier assocModifier, CDRoleSymbol roleSymbol) { + public void setupModifiers(ASTModifier assocSideModifier, ASTModifier assocModifier, + CDRoleSymbol roleSymbol) { roleSymbol.setIsPublic(assocSideModifier.isPublic()); roleSymbol.setIsPrivate(assocSideModifier.isPrivate()); roleSymbol.setIsProtected(assocSideModifier.isProtected()); From 6ae74e732c3806edf620c61ac9619e2aab7aaa20 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Wed, 27 May 2026 10:11:37 +0200 Subject: [PATCH 3/3] expand modifier override to all association modifiers --- .../CDAssociationSymbolTableCompleter.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java b/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java index fcb52d064..df5f1d757 100644 --- a/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java +++ b/cdlang/src/main/java/de/monticore/cdassociation/_symboltable/CDAssociationSymbolTableCompleter.java @@ -146,11 +146,11 @@ public void endVisit(ASTCDAssociation node) { public void setupModifiers(ASTModifier assocSideModifier, ASTModifier assocModifier, CDRoleSymbol roleSymbol) { - roleSymbol.setIsPublic(assocSideModifier.isPublic()); - roleSymbol.setIsPrivate(assocSideModifier.isPrivate()); - roleSymbol.setIsProtected(assocSideModifier.isProtected()); - roleSymbol.setIsStatic(assocSideModifier.isStatic()); - roleSymbol.setIsFinal(assocSideModifier.isFinal()); + roleSymbol.setIsPublic(assocSideModifier.isPublic() || assocModifier.isPublic()); + roleSymbol.setIsPrivate(assocSideModifier.isPrivate() || assocModifier.isPrivate()); + roleSymbol.setIsProtected(assocSideModifier.isProtected() || assocModifier.isProtected()); + roleSymbol.setIsStatic(assocSideModifier.isStatic() || assocModifier.isStatic()); + roleSymbol.setIsFinal(assocSideModifier.isFinal() || assocModifier.isFinal()); roleSymbol.setIsDerived(assocSideModifier.isDerived() || assocModifier.isDerived()); }