diff options
author | Frédéric Jouault | 2015-03-27 06:48:10 +0000 |
---|---|---|
committer | Frédéric Jouault | 2015-03-27 06:48:10 +0000 |
commit | 886218874cccf54295369151ffbbc35ff824e92a (patch) | |
tree | 3898a2be68df0ae6fd52b1ffd455de1cae334f6f /dsls | |
parent | 40023d506041524802ee376050b865f0393e67eb (diff) | |
download | org.eclipse.atl-886218874cccf54295369151ffbbc35ff824e92a.tar.gz org.eclipse.atl-886218874cccf54295369151ffbbc35ff824e92a.tar.xz org.eclipse.atl-886218874cccf54295369151ffbbc35ff824e92a.zip |
added support for inversion of refGetValue in reverse bindings
Diffstat (limited to 'dsls')
-rw-r--r-- | dsls/ATL/Compiler/ATL.acg | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/dsls/ATL/Compiler/ATL.acg b/dsls/ATL/Compiler/ATL.acg index a595e8a1..8bc1e3b0 100644 --- a/dsls/ATL/Compiler/ATL.acg +++ b/dsls/ATL/Compiler/ATL.acg @@ -973,7 +973,18 @@ acg ATL startsWith Unit { pcall 'J.__applyReverseBinding(SJ):V' -- element } else { - report error 'only navigations are allowed in reversebindings' + if(rb isa OperationCallExp) { + if(rb.operationName = 'refGetValue' and rb.arguments.size() = 1) { + dup + analyze rb.arguments.first() + analyze rb.source + pcall 'J.__applyReverseBinding(SJ):V' + } else { + report error 'only navigations (including refGetValue) are allowed in reversebindings' + } + } else { + report error 'only navigations (including refGetValue) are allowed in reversebindings' + } } } } |