Beispiel #1
0
Datei: eval.cpp Projekt: tov/ipd
Environment Define_struct::extend(const Environment& env0) const
{
    Environment env = env0;

    env = env.extend("make-" + name_.name(), get_undefined());
    env = env.extend(name_.name() + "?", get_undefined());
    for (const auto& field : fields_)
        env = env.extend(name_.name() + "-" + field.name(), get_undefined());

    return env;
}
Beispiel #2
0
Object *find_catch_frame(Object *cxt, Object *frame) {
  while( exists(cxt, frame) ) {
    if ( exists(cxt, get_catch_block(cxt, frame)) ) {
      return frame;
    }
    frame = get(cxt, frame, "return");
  }
  return get_undefined(cxt);
}
BOOST_FIXTURE_TEST_CASE( triggering_an_expectation_returns_by_reference, mock_error_fixture )
{
    {
        mock::detail::function< base&() > f;
        derived b;
        f.expect().returns( boost::ref( b ) );
        BOOST_CHECK_NO_THROW( f() );
        CHECK_CALLS( 1 );
    }
    {
        mock::detail::function< base&() > f;
        derived b;
        f.expect().returns( b );
        BOOST_CHECK_NO_THROW( f() );
        CHECK_CALLS( 1 );
    }
    {
        mock::detail::function< undefined&() > f;
        f.expect().returns( boost::ref( get_undefined() ) );
        f.reset();
    }
}
Beispiel #4
0
Object *char_array_to_boxed_int(Object *cxt, Object *str) {
  Object *boxed_int = new_boxed_int(cxt);
  BoxedIntBuffer  *int_buf = get_boxed_int_buffer(boxed_int);
  CharArrayBuffer *str_buf = get_char_array_buffer(str);
  Fixnum sign = 1;
  Fixnum i = 0;

  if ( str_buf == 0 || int_buf == 0 ) {
    return get_undefined(cxt);
  }
  if ( str_buf->data[i] == '-' ) {
    sign = -1;
    ++i;
  }
  while( str_buf->data[i] >= '0' && str_buf->data[i] <= '9' ) {
    int_buf->value *= 10;
    int_buf->value += (str_buf->data[i] - '0');
    ++i;
  }
  int_buf->value *= sign;

  return boxed_int;
}
Beispiel #5
0
Datei: eval.cpp Projekt: tov/ipd
Environment Define_fun::extend(const Environment& env) const
{
    return env.extend(name_, get_undefined());
}