aboutsummaryrefslogtreecommitdiffstats
path: root/src/resp.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-12-04 23:48:39 +0000
committerDavid Robillard <d@drobilla.net>2010-12-04 23:48:39 +0000
commit5ca01630edc38087b722e1c22b20edc82d871dd7 (patch)
treecc58b13832fba3161f952bdfd9f2a7db5c90ade6 /src/resp.hpp
parent8905a0e25858a047e0844c55ed8a025153ab25d9 (diff)
downloadresp-5ca01630edc38087b722e1c22b20edc82d871dd7.tar.gz
resp-5ca01630edc38087b722e1c22b20edc82d871dd7.tar.bz2
resp-5ca01630edc38087b722e1c22b20edc82d871dd7.zip
Tidy up unify.cpp
git-svn-id: http://svn.drobilla.net/resp/resp@298 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/resp.hpp')
-rw-r--r--src/resp.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/resp.hpp b/src/resp.hpp
index 6a40729..35edf31 100644
--- a/src/resp.hpp
+++ b/src/resp.hpp
@@ -438,6 +438,10 @@ struct AType : public ATuple {
AType(Cursor c, AST* ast, va_list args) : ATuple(c, ast, args), kind(EXPR), id(0) { tag(T_TYPE); }
AType(const AST* first, const AST* rest, Cursor c) : ATuple(first, rest, c), kind(EXPR), id(0) { tag(T_TYPE); }
AType(const AType& copy) : ATuple(copy), kind(copy.kind), id(copy.id) { tag(T_TYPE); }
+ AType(const AType& copy, Cursor cur) : ATuple(copy), kind(copy.kind), id(copy.id) {
+ tag(T_TYPE);
+ loc = cur;
+ }
bool concrete() const {
switch (kind) {
@@ -703,6 +707,7 @@ struct TEnv : public Env<const ASymbol*, const AType*> {
if (!ast)
return new AType(Cursor(), varID++);
+ assert(!ast->to_type());
Vars::iterator v = vars.find(ast);
if (v != vars.end())
return v->second;