Skip to content
Snippets Groups Projects

Resolve "Inherited components of a type can not be chosen as port targets"

Files
10
@@ -98,10 +98,22 @@ aspect Analysis {
eq ContextFreeTypePortTarget.hasAttributeResetMethod() = false;
// --- needProxyToken ---
syn boolean TokenComponent.needProxyToken() = !getDependencySourceDefinitionList().isEmpty() ||
getTokenPortTargetList().stream()
.map(PortTarget::containingPortDefinition)
.anyMatch(PortDefinition::shouldNotResetValue);
syn boolean TokenComponent.needProxyToken() {
for (Component comp : meOwnedByOthers()) {
TokenComponent tokenComp = comp.asTokenComponent();
if (tokenComp.directNeedProxyToken()) {
return true;
}
}
return directNeedProxyToken();
}
syn boolean TokenComponent.directNeedProxyToken() {
return !getDependencySourceDefinitionList().isEmpty() ||
getTokenPortTargetList().stream()
.map(PortTarget::containingPortDefinition)
.anyMatch(PortDefinition::shouldNotResetValue);
}
// --- effectiveUsedAt ---
coll Set<PortDefinition> MappingDefinition.effectiveUsedAt()
Loading