Exemple #1
0
FeatureValue *
CompositeVariableNode::evaluate() const
{
/*
MESSAGE(cerr, "CompositeVariableNode::evaluate():");
print(cerr);
cerr << "\n";
f_items[0] -> print(cerr);
MESSAGE(cerr, "");
*/

//debug(cerr, int(gCurrentLocalSet));
//debug(cerr, int(gParentCompleteSet));

  const Feature *f = 0;

  if ( gCurrentLocalSet )
     f = gCurrentLocalSet->deep_lookup(f_items) ;

//debug(cerr, int(f));

  if (!f && gParentCompleteSet )
    f = gParentCompleteSet->deep_lookup(f_items);

//debug(cerr, int(f));

  //if ( f == 0 && gRenderer ) {
  if ( f == 0 ) {
    FeatureValue* fv = gAutoNumberFP.evaluate(f_items[0] -> name());
    if ( fv == 0 ) {
       //print(cerr);
       throw(CASTBEEXCEPT badEvaluationException());
    } else
       return fv;
  }

  if (!f) {
    //print(cerr);
    throw(CASTBEEXCEPT badEvaluationException());
  }

  return f->evaluate();
}
Exemple #2
0
unsigned int posRecord::operator ==(const posRecord&)
{
   MESSAGE(cerr, "posRecord::operator ==() should not be called");
   throw(CASTBEEXCEPT badEvaluationException());
   return 0;
}