aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-15 16:55:19 +0000
committerDavid Robillard <d@drobilla.net>2009-10-15 16:55:19 +0000
commitcc8d52479fea5b2f4419463daf027ec11e813dc8 (patch)
tree4eca767f34ada1af47ff98ba616a349801f3a114
parent0ee5ad002dbe88c791bfa48e392094bade72a12c (diff)
downloadresp-cc8d52479fea5b2f4419463daf027ec11e813dc8.tar.gz
resp-cc8d52479fea5b2f4419463daf027ec11e813dc8.tar.bz2
resp-cc8d52479fea5b2f4419463daf027ec11e813dc8.zip
Replace use of ATuple::at(0) with ATuple::head().
git-svn-id: http://svn.drobilla.net/resp/tuplr@227 ad02d1e2-f140-0410-9f75-f8b11f17cedd
-rw-r--r--src/constrain.cpp12
-rw-r--r--src/parse.cpp2
-rw-r--r--src/tuplr.hpp10
3 files changed, 12 insertions, 12 deletions
diff --git a/src/constrain.cpp b/src/constrain.cpp
index b4afe09..2fd3fa9 100644
--- a/src/constrain.cpp
+++ b/src/constrain.cpp
@@ -112,13 +112,13 @@ ACall::constrain(TEnv& tenv, Constraints& c) const
for (size_t i = 0; i < size(); ++i)
at(i)->constrain(tenv, c);
- const AType* fnType = tenv.var(at(0));
+ const AType* fnType = tenv.var(head());
if (fnType->kind != AType::VAR) {
if (fnType->kind == AType::PRIM
|| fnType->size() < 2
- || !fnType->at(0)->to<const ASymbol*>()
- || fnType->at(0)->to<const ASymbol*>()->cppstr != "Fn")
- throw Error(loc, (format("call to non-function `%1%'") % at(0)->str()).str());
+ || !fnType->head()->to<const ASymbol*>()
+ || fnType->head()->to<const ASymbol*>()->cppstr != "Fn")
+ throw Error(loc, (format("call to non-function `%1%'") % head()->str()).str());
size_t numArgs = fnType->at(1)->to<const ATuple*>()->size();
THROW_IF(numArgs != size() - 1, loc,
@@ -130,7 +130,7 @@ ACall::constrain(TEnv& tenv, Constraints& c) const
for (size_t i = 1; i < size(); ++i)
argsT->push_back(tenv.var(at(i)));
- c.constrain(tenv, at(0), tup<AType>(at(0)->loc, tenv.penv.sym("Fn"), argsT, retT, 0));
+ c.constrain(tenv, head(), tup<AType>(head()->loc, tenv.penv.sym("Fn"), argsT, retT, 0));
c.constrain(tenv, this, retT);
}
@@ -169,7 +169,7 @@ AIf::constrain(TEnv& tenv, Constraints& c) const
void
APrimitive::constrain(TEnv& tenv, Constraints& c) const
{
- const string n = at(0)->to<const ASymbol*>()->str();
+ const string n = head()->to<const ASymbol*>()->str();
enum { ARITHMETIC, BINARY, LOGICAL, COMPARISON } type;
if (n == "+" || n == "-" || n == "*" || n == "/")
type = ARITHMETIC;
diff --git a/src/parse.cpp b/src/parse.cpp
index ac232de..c7209aa 100644
--- a/src/parse.cpp
+++ b/src/parse.cpp
@@ -53,7 +53,7 @@ macDef(PEnv& penv, const AST* exp)
for (; i != tup->end(); ++i)
fnExp->push_back(*i);
ATuple* ret = new ATuple(exp->loc);
- ret->push_back(const_cast<AST*>(tup->front()));
+ ret->push_back(const_cast<AST*>(tup->head()));
ret->push_back(const_cast<AST*>(name));
ret->push_back(fnExp);
return ret;
diff --git a/src/tuplr.hpp b/src/tuplr.hpp
index a89b612..02d79af 100644
--- a/src/tuplr.hpp
+++ b/src/tuplr.hpp
@@ -241,7 +241,7 @@ struct ATuple : public AST {
newvec[_len++] = ast;
_vec = newvec;
}
- const AST* front() const { assert(_len > 0); return _vec[0]; }
+ const AST* head() const { assert(_len > 0); return _vec[0]; }
const AST* at(size_t i) const { assert(i < _len); return _vec[i]; }
AST*& at(size_t i) { assert(i < _len); return _vec[i]; }
size_t size() const { return _len; }
@@ -483,15 +483,15 @@ struct PEnv : private map<const string, ASymbol*> {
const ATuple* tup = exp->to<const ATuple*>();
if (tup) {
if (tup->empty()) throw Error(exp->loc, "call to empty list");
- if (!tup->front()->to<const ATuple*>()) {
- MF mf = mac(*tup->front()->to<const AString*>());
+ if (!tup->head()->to<const ATuple*>()) {
+ MF mf = mac(*tup->head()->to<const AString*>());
const AST* expanded = (mf ? mf(*this, exp) : exp);
const ATuple* expanded_tup = expanded->to<const ATuple*>();
- const PEnv::Handler* h = handler(true, *expanded_tup->front()->to<const AString*>());
+ const PEnv::Handler* h = handler(true, *expanded_tup->head()->to<const AString*>());
if (h)
return h->func(*this, expanded, h->arg);
}
- ATuple* parsed_tup = parseTuple(tup); // FIXME: leak
+ ATuple* parsed_tup = parseTuple(tup);
return new ACall(parsed_tup); // Parse as regular call
}
const AString* str = exp->to<const AString*>();