ruler-0.4.0.0: src/ViewSel/Self.cag
-------------------------------------------------------------------------
-- Interfacing to ViewSel: self/copy/clone
-------------------------------------------------------------------------
%%[1 hs module (ViewSel.Self)
%%]
%%[1 hs export (viewSelsSelfT, rlSelSelfT)
%%]
%%[1 hs import (UHC.Util.Nm, UHC.Util.DependencyGraph, ViewSel.ViewSel)
%%]
%%[1 ag import ({ViewSel/AbsSynAG})
%%]
%%[1 ag
WRAPPER AGViewSelsItf
WRAPPER AGRlSelItf
%%]
%%[1 hs
wrapViewSelsT :: T_ViewSels -> Syn_AGViewSelsItf
wrapViewSelsT vs
= let r1 = sem_AGViewSelsItf_AGItf vs
in wrap_AGViewSelsItf r1
(Inh_AGViewSelsItf)
viewSelsSelfT :: ViewSels -> ViewSels
viewSelsSelfT vs
= self_Syn_AGViewSelsItf r
where r = wrapViewSelsT (sem_ViewSels vs)
wrapRlSelT :: T_RlSel -> Syn_AGRlSelItf
wrapRlSelT vs
= let r1 = sem_AGRlSelItf_AGItf vs
in wrap_AGRlSelItf r1
(Inh_AGRlSelItf)
rlSelSelfT :: RlSel -> RlSel
rlSelSelfT vs
= self_Syn_AGRlSelItf r
where r = wrapRlSelT (sem_RlSel vs)
%%]
-------------------------------------------------------------------------
-- Self
-------------------------------------------------------------------------
%%[1 ag
ATTR AllViewSel AllRlSel AllNmSel [ | | self: SELF ]
ATTR AGViewSelsItf [ | | self: ViewSels ]
ATTR AGRlSelItf [ | | self: RlSel ]
%%]