Skip to content
Snippets Groups Projects

Resolve "Feature: Send endpoint for relations"

Merged René Schöne requested to merge 37-feature-send-endpoint-for-relations into dev
2 files
+ 419
138
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -22,12 +22,15 @@ aspect NameResolution {
}
// override resolving of SenderRoot for As in ReceiverRoot
// TODO change overriden attr to "globallyResolveSenderRootByToken" (should work for all relations in the end)
refine RefResolverStubs eq A.resolveToMyAByToken(String id) = getParent() != null ? resolveToMyAByTokenInh(id) : null;
refine RefResolverStubs eq ASTNode.globallyResolveSenderRootByToken(String id) = getParent() != null && !getParent().isListWithoutParent() ? resolveSenderRootInh(id) : null;
inh SenderRoot A.resolveToMyAByTokenInh(String id);
eq SenderRoot.getA().resolveToMyAByTokenInh(String id) = globallyResolveSenderRootByToken(id);
eq ReceiverRoot.getChild().resolveToMyAByTokenInh(String id) = getFakeSenderRoot(id);
syn boolean ASTNode.isList() = false;
eq JastAddList.isList() = true;
syn boolean ASTNode.isListWithoutParent() = isList() && getParent() == null;
inh SenderRoot ASTNode.resolveSenderRootInh(String id);
eq SenderRoot.getChild().resolveSenderRootInh(String id) = globallyResolveSenderRootByToken(id);
eq ReceiverRoot.getChild().resolveSenderRootInh(String id) = getFakeSenderRoot(id);
syn nta SenderRoot ReceiverRoot.getFakeSenderRoot(String id) = new SenderRoot();
}
Loading