00001 #ifndef wali_nwa_query_CALLS_HPP 00002 #define wali_nwa_query_CALLS_HPP 00003 00004 #include "opennwa/NwaFwd.hpp" 00005 00006 namespace opennwa 00007 { 00008 namespace query 00009 { 00010 //Call Transitions 00011 00012 /** 00013 * 00014 * @brief returns the call site states associated with the given symbol 00015 * 00016 * This method provides access to the call site states associated with 00017 * the given symbol. 00018 * 00019 * @param - symbol: the symbol whose call site states to obtain 00020 * @return the set of call site states associated with the given symbol 00021 * 00022 */ 00023 extern const StateSet getCallSites_Sym(Nwa const & nwa, Symbol symbol ); 00024 00025 /** 00026 * 00027 * @brief returns the call site states associated with the given symbol 00028 * and entry point 00029 * 00030 * This method provides access to the call site states associated with 00031 * the given symbol and entry point. 00032 * 00033 * @param - symbol: the symbol whose call site states to obtain 00034 * @param - entryPoint: the entry point state whose call site states to 00035 * obtain 00036 * @return the set of call site states associated with the given symbol 00037 * and entry point 00038 * 00039 */ 00040 extern const StateSet getCallSites(Nwa const & nwa, Symbol symbol, State entryPoint ); 00041 00042 /** 00043 * 00044 * @brief returns the call site/symbol pairs associated with the given 00045 * entry point 00046 * 00047 * This method provides access to the call site/symbol pairs associated 00048 * with the given entry point state. 00049 * 00050 * @param - entryPoint: the entry point state whose call site/symbol 00051 * pairs to obtain 00052 * @return the set of call site/symbol pairs associated with the given 00053 * entry point 00054 * 00055 */ 00056 extern const std::set<std::pair<State,Symbol> > getCallSites(Nwa const & nwa, State entryPoint ); 00057 00058 /** 00059 * 00060 * @brief returns the call sites of all call transitions in the Nwa 00061 * 00062 * This method provides access to the call sites of all call transitions 00063 * in the NWA. 00064 * 00065 * @return the set of call sites of all call transitions in the NWA 00066 * 00067 */ 00068 extern const StateSet getCallSites(Nwa const & nwa ); 00069 00070 /** 00071 * 00072 * @brief returns the symbols that label call transitions in the NWA 00073 * 00074 * This method provides access to the symbols that label call transitions 00075 * in the NWA. 00076 * 00077 * @return the set of symbols that label call transitions in the NWA 00078 * 00079 */ 00080 extern const SymbolSet getCallSym(Nwa const & nwa ); 00081 00082 /** 00083 * 00084 * @brief returns the symbols that label the call transitions from 00085 * 'callSite' to 'entryPoint' in the NWA 00086 * 00087 * This method provides access to the symbols that label the call 00088 * transitions from 'callSite' to 'entryPoint' in the NWA. 00089 * 00090 * @param - callSite: the call site of the desired transitions 00091 * @param - entryPoint: the entry point of the desired transitions 00092 * @return the set of symbols that label the call transitions from 00093 * 'callSite' to 'entryPoint' in the NWA 00094 * 00095 */ 00096 extern const SymbolSet getCallSym(Nwa const & nwa, State callSite, State entryPoint ); 00097 00098 /** 00099 * 00100 * @brief returns the symbols that label the call transitions from 00101 * 'callSite' in the NWA 00102 * 00103 * This method provides access to the symbols that label the call 00104 * transitions from 'callSite' in the NWA. 00105 * 00106 * @param - callSite: the call site of the desired transitions 00107 * @return the set of symbols that label the call transitions from 00108 * 'callSite' in the NWA 00109 * 00110 */ 00111 extern const SymbolSet getCallSym_Call(Nwa const & nwa, State callSite ); 00112 00113 /** 00114 * 00115 * @brief returns the symbols that label the call transitions to 00116 * 'entryPoint' in the NWA 00117 * 00118 * This method provides access to the symbols that label the call 00119 * transitions to 'entryPoint' in the NWA. 00120 * 00121 * @param - entryPoint: the entry point of the desired transitions 00122 * @return the set of symbols that label the call transitions to 00123 * 'entryPoint' in the NWA 00124 * 00125 */ 00126 extern const SymbolSet getCallSym_Entry(Nwa const & nwa, State entryPoint ); 00127 00128 /** 00129 * 00130 * @brief returns the entry point states associated with the given symbol 00131 * 00132 * This method provides access to the entry point states associated with 00133 * the given symbol. 00134 * 00135 * @param - symbol: the symbol whose entry point states to obtain 00136 * @return the set of entry point states associated with the given symbol 00137 * 00138 */ 00139 extern const StateSet getEntries_Sym(Nwa const & nwa, Symbol symbol ); 00140 00141 /** 00142 * 00143 * @brief returns the entry point states associated with the given call 00144 * site and symbol 00145 * 00146 * This method provides access to the entry point states assoicated with 00147 * the given call site and symbol. 00148 * 00149 * @param - callSite: the call site whose entry point states to obtain 00150 * @param - symbol: the symbol whose entry point states to obtain 00151 * @return the set of entry point states associated with the given call 00152 * site and symbol 00153 * 00154 */ 00155 extern const StateSet getEntries(Nwa const & nwa, State callSite, Symbol symbol ); 00156 00157 /** 00158 * 00159 * @brief returns the symbol/entry point pairs associated with the given call site 00160 * 00161 * This method provides access to the symbol/entry point pairs associated with the 00162 * given call site. 00163 * 00164 * @param - callSite: the call site whose symbol/entry point pairs to obtain 00165 * @return the set of symbol/entry point pairs associated with the given call site 00166 * 00167 */ 00168 extern const std::set<std::pair<Symbol,State> > getEntries(Nwa const & nwa, State callSite ); 00169 00170 /** 00171 * 00172 * @brief returns the entry points of all call transitions in the NWA 00173 * 00174 * This method provides access to the entry points of all call transitions 00175 * in the NWA. 00176 * 00177 * @return the set of entry points of all call transitions in the NWA 00178 * 00179 */ 00180 extern const StateSet getEntries(Nwa const & nwa ); 00181 00182 } 00183 } 00184 00185 00186 // Yo, Emacs! 00187 // Local Variables: 00188 // c-file-style: "ellemtel" 00189 // c-basic-offset: 2 00190 // End: 00191 00192 #endif 00193