celtic / rubyex

a Ruby VM/interpreter

rubyex / vm / binding.cpp
100644 25 lines (19 sloc) 0.63 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "binding.h"
#include "rvalue.h"
#include <iostream>
#include <sstream>
 
Binding::Binding(RubyEnvironment &_environment, RubyValue _context, RubyModule *_def_target): environment(_environment), context(_context), def_target(_def_target)
{ }
 
Binding::~Binding()
{ }
 
std::string Binding::get_representation(linked_ptr<Binding> &_b, const std::vector<RubyValue> &_args)
{
  std::ostringstream args;
  args << "[";
  for (std::vector<RubyValue>::const_iterator it = _args.begin(); it != _args.end(); ++it) {
    if (it != _args.begin()) args << ", ";
    args << it->inspect(_b);
  }
  args << "]";
 
  return args.str();
}