diff options
author | John Wiegley <johnw@newartisans.com> | 2009-02-07 18:42:12 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-02-07 18:42:12 -0400 |
commit | 0c8970584e2b3a09673c60f6a32c2f0ac51db230 (patch) | |
tree | 273d22650313c32dc530e693111c315da2df770f | |
parent | 1de748fc133b005f44ca0a3fe496aede3ae4c35d (diff) | |
download | fork-ledger-0c8970584e2b3a09673c60f6a32c2f0ac51db230.tar.gz fork-ledger-0c8970584e2b3a09673c60f6a32c2f0ac51db230.tar.bz2 fork-ledger-0c8970584e2b3a09673c60f6a32c2f0ac51db230.zip |
Removed handling of the unnused INDEX operator.
-rw-r--r-- | src/op.cc | 18 | ||||
-rw-r--r-- | src/op.h | 22 |
2 files changed, 3 insertions, 37 deletions
@@ -140,16 +140,6 @@ value_t expr_t::op_t::calc(scope_t& scope, ptr_op_t * context) return (right()->calc(scope, context).as_mask() .match(left()->calc(scope, context).to_string())); - case INDEX: { - const call_scope_t& args(downcast<const call_scope_t>(scope)); - - if (as_index() < args.size()) - return args[as_index()]; - else - throw_(calc_error, "Reference to non-existing argument " << as_index()); - break; - } - case O_EQ: return left()->calc(scope, context) == right()->calc(scope, context); case O_LT: @@ -246,10 +236,6 @@ bool expr_t::op_t::print(std::ostream& out, const context_t& context) const out << "<FUNCTION>"; break; - case INDEX: - out << '@' << as_index(); - break; - case O_NOT: out << "!("; if (left() && left()->print(out, context)) @@ -437,10 +423,6 @@ void expr_t::op_t::dump(std::ostream& out, const int depth) const out << "IDENT: " << as_ident(); break; - case INDEX: - out << "INDEX: " << as_index(); - break; - case FUNCTION: out << "FUNCTION"; break; @@ -67,19 +67,17 @@ private: mutable short refc; ptr_op_t left_; - variant<std::size_t, // used by constant INDEX + variant<ptr_op_t, // used by all binary operators value_t, // used by constant VALUE string, // used by constant IDENT - function_t, // used by terminal FUNCTION - ptr_op_t> // used by all binary operators - data; + function_t // used by terminal FUNCTION + > data; public: enum kind_t { // Constants VALUE, IDENT, - INDEX, CONSTANTS, @@ -138,20 +136,6 @@ public: assert(refc == 0); } - bool is_index() const { - return data.type() == typeid(std::size_t); - } - std::size_t& as_index_lval() { - assert(kind == INDEX); - return boost::get<std::size_t>(data); - } - const std::size_t& as_index() const { - return const_cast<op_t *>(this)->as_index_lval(); - } - void set_index(std::size_t val) { - data = val; - } - bool is_value() const { if (kind == VALUE) { assert(data.type() == typeid(value_t)); |