20 #ifndef __LINKINFO_HXX__
21 #define __LINKINFO_HXX__
41 class CollectorSwOutPort;
91 std::map<InfoReason, std::vector< std::pair<OutPort *,InPort *> > >
_infos;
92 std::map<WarnReason, std::vector< std::vector< std::pair<OutPort *,InPort *> > > >
_collapse;
93 std::map<ErrReason, std::vector< std::pair<OutPort *,InPort *> > >
_errors;
98 void startCollapseTransac();
99 void endCollapseTransac();
105 void pushUselessCFLink(
Node *start,
Node *end);
106 void takeDecision()
const;
108 std::string getGlobalRepr()
const;
109 std::string getInfoRepr()
const;
110 std::string getWarnRepr()
const;
111 std::string getErrRepr()
const;
112 bool areWarningsOrErrors()
const;
113 unsigned getNumberOfInfoLinks(
InfoReason reason)
const;
114 unsigned getNumberOfWarnLinksGrp(
WarnReason reason)
const;
115 unsigned getNumberOfErrLinks(
ErrReason reason)
const;
116 std::set< std::pair<Node *, Node *> > getInfoUselessLinks()
const;
117 std::pair<OutPort *, InPort *> getInfoLink(
unsigned id,
InfoReason reason)
const;
118 std::vector< std::pair<OutPort *, InPort *> > getWarnLink(
unsigned id,
WarnReason reason)
const;
119 std::pair<OutPort *, InPort *> getErrLink(
unsigned id,
ErrReason reason)
const;
121 static std::string getStringReprOfI(
InfoReason reason);
122 static std::string getStringReprOfW(
WarnReason reason);
123 static std::string getStringReprOfE(
ErrReason reason);
124 static std::string printThereIsAre(
unsigned val,
const std::string& other);
126 static const unsigned char ALL_STOP_ASAP = 1;
127 static const unsigned char ALL_DONT_STOP = 2;
128 static const unsigned char WARN_ONLY_DONT_STOP = 3;
#define YACSLIBENGINE_EXPORT
Base class for all composed nodes.
Class that deal with list of semantics links for high level analysis.
std::vector< InPort * > _onlyBackDefined
std::set< std::pair< Node *, Node * > > _uselessLinks
std::map< ErrReason, std::vector< std::pair< OutPort *, InPort * > > > _errors
std::map< InfoReason, std::vector< std::pair< OutPort *, InPort * > > > _infos
std::map< WarnReason, std::vector< std::vector< std::pair< OutPort *, InPort * > > > > _collapse
std::vector< InPort * > _unsetInPort
std::vector< CollectorSwOutPort * > _errorsOnSwitchCases
unsigned char _levelOfInfo
Base class for all nodes.
@ E_ONLY_BACKWARD_DEFINED
@ E_DS_LINK_UNESTABLISHABLE
@ W_COLLAPSE_EL_AND_USELESS
@ W_BACK_COLLAPSE_AND_USELESS
@ W_BACK_COLLAPSE_EL_AND_USELESS