Public Member Functions | Protected Attributes

wali::wpds::ewpds::ETrans Class Reference

List of all members.

Public Member Functions

 ETrans (Key from, Key stack, Key to, sem_elem_t wAtCall, sem_elem_t wAfterCall, erule_t erule)
 ETrans (ITrans *d, sem_elem_t wAtCall, erule_t erule)
virtual ~ETrans ()
virtual std::ostream & print (std::ostream &o) const
merge_fn_t getMergeFn () const
erule_t getERule () const
virtual ITrans * copy () const
virtual ITrans * copy (Key f, Key s, Key t) const
virtual sem_elem_t poststar_eps_closure (sem_elem_t se)
virtual TaggedWeight apply_post (TaggedWeight tw) const
virtual TaggedWeight apply_pre (TaggedWeight tw) const
virtual void applyWeightChanger (util::WeightChanger &wc)
virtual void combineTrans (ITrans *tp)
virtual sem_elem_t getWeightAtCall () const
void setWeightAtCall (sem_elem_t wt)

Protected Attributes

sem_elem_t wAtCall
erule_t erule

Constructor & Destructor Documentation

wali::wpds::ewpds::ETrans::ETrans ( Key  from,
Key  stack,
Key  to,
sem_elem_t  wAtCall,
sem_elem_t  wAfterCall,
erule_t  erule 
)
Parameters:
wAtCall Weight on path to the call transition
wAfterCall For call rule R, wAtCall->extend(R->weight())
erule The ERule

Referenced by copy().

wali::wpds::ewpds::ETrans::ETrans ( ITrans *  d,
sem_elem_t  wAtCall,
erule_t  erule 
)
Parameters:
d Trans that is being decorated
wAtCall Weight on path to the call transition
erule The merge function
wali::wpds::ewpds::ETrans::~ETrans (  )  [virtual]

Member Function Documentation

std::ostream & wali::wpds::ewpds::ETrans::print ( std::ostream &  o  )  const [virtual]
merge_fn_t wali::wpds::ewpds::ETrans::getMergeFn (  )  const
Returns:
the merge function of this ETrans

References erule.

Referenced by apply_post(), and poststar_eps_closure().

erule_t wali::wpds::ewpds::ETrans::getERule (  )  const

References erule.

wfa::ITrans * wali::wpds::ewpds::ETrans::copy (  )  const [virtual]
Returns:
A deep copy of this

Implements wali::wfa::DecoratorTrans.

References erule, ETrans(), wali::wfa::DecoratorTrans::getDelegate(), and wAtCall.

Referenced by copy().

wfa::ITrans * wali::wpds::ewpds::ETrans::copy ( Key  f,
Key  s,
Key  t 
) const [virtual]
sem_elem_t wali::wpds::ewpds::ETrans::poststar_eps_closure ( sem_elem_t  se  )  [virtual]

Override to apply the merge function, i.e.,

>>> mf->apply_f(wAtCall,se)

Reimplemented from wali::wfa::DecoratorTrans.

References getMergeFn(), and wAtCall.

TaggedWeight wali::wpds::ewpds::ETrans::apply_post ( TaggedWeight  tw  )  const [virtual]
TaggedWeight wali::wpds::ewpds::ETrans::apply_pre ( TaggedWeight  tw  )  const [virtual]
void wali::wpds::ewpds::ETrans::applyWeightChanger ( util::WeightChanger wc  )  [virtual]
void wali::wpds::ewpds::ETrans::combineTrans ( ITrans *  tp  )  [virtual]

Override Trans::combineTrans to recover the new value for wAtCall.

Note: Trans* tp should always be an ETrans.

References wali::wfa::DecoratorTrans::getDelegate(), wali::ref_ptr< T >::is_valid(), and wAtCall.

sem_elem_t wali::wpds::ewpds::ETrans::getWeightAtCall (  )  const [virtual]

Getter and Setter for wAtCall (the weight of the corresponding call transition)

References wAtCall.

Referenced by applyWeightChanger().

void wali::wpds::ewpds::ETrans::setWeightAtCall ( sem_elem_t  wt  ) 

References wAtCall.

Referenced by applyWeightChanger().


Member Data Documentation

Referenced by copy(), getERule(), and getMergeFn().


The documentation for this class was generated from the following files: