------------------------------------------------------------------------- -- 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 ] %%]