model_server/xref/src/XrefQuery.cxx
///////////////////////////////////////////////////////////////////
// check that selected symbols make sense cosidering given query
check that selected symbols make sense cosidering given query
check that selected symbols make sense cosidering given query
int XrefQuery::filter_src_before_query (const symbolArr& sel_syms, 
					symbolArr& result, int action)
{
    Initialize(XrefQuery::filter_src_before_query);
    int index = GetIndex(action);
    if (index == -1) return 0;
    genMask filter = m_Queries[index].PreFilter;
    if (filter.empty())
    {
	result = sel_syms;
    }
    else
    {
	symbolPtr sym;
	for (int i = 0; i < sel_syms.size(); ++i)
	{
	    sym = (sel_syms[i]).get_xrefSymbol();
	    if (sym.isnull()) 
		continue;
	    ddKind ki = sym.get_kind();
	    if (filter.includes(ki))
		result.insert_last(sym);
	}
    }
    return result.size();
}
int XrefQuery :: filter_src_before_query ( const symbolArr & sel_syms , symbolArr & result , int action ) { Initialize ( XrefQuery :: filter_src_before_query ) ; int index = GetIndex ( action ) ; if ( index == -1 ) return 0 ; genMask filter = m_Queries [ index ] . PreFilter ; if ( filter . empty ( ) ) { result = sel_syms ; } else { symbolPtr sym ; for ( int i = 0 ; i < sel_syms . size ( ) ; ++ i ) { sym = ( sel_syms [ i ] ) . get_xrefSymbol ( ) ; if ( sym . isnull ( ) ) continue ; ddKind ki = sym . get_kind ( ) ; if ( filter . includes ( ki ) ) result . insert_last ( sym ) ; } } return result . size ( ) ; }
check that selected symbols make sense cosidering given query
check that selected symbols make sense cosidering given query