diff options
author | David Robillard <d@drobilla.net> | 2009-10-14 00:00:58 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-10-14 00:00:58 +0000 |
commit | 6b89f484b7e41cab4a528a855b23be33d97dc474 (patch) | |
tree | 94760633554e377a08ae4e7504e522d7eedb769b /src/compile.cpp | |
parent | 1c851be2be3b2358e03fa7b2d6944d8bd1b0416d (diff) | |
download | resp-6b89f484b7e41cab4a528a855b23be33d97dc474.tar.gz resp-6b89f484b7e41cab4a528a855b23be33d97dc474.tar.bz2 resp-6b89f484b7e41cab4a528a855b23be33d97dc474.zip |
Remove unnecessary cenv.compile wrapper.
Remove special treatment of symbols for compilation.
Make CEnv::vals a <ASymbol*, CValue> map rather than <AST*, CValue> (only used for symbols).
git-svn-id: http://svn.drobilla.net/resp/tuplr@214 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/compile.cpp')
-rw-r--r-- | src/compile.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/compile.cpp b/src/compile.cpp index 2deb713..170c198 100644 --- a/src/compile.cpp +++ b/src/compile.cpp @@ -34,7 +34,7 @@ COMPILE_LITERAL(bool); CVal ASymbol::compile(CEnv& cenv) { - return cenv.vals.ref(this); + return *cenv.vals.ref(this); } CVal @@ -81,7 +81,7 @@ ACall::compile(CEnv& cenv) vector<CVal> args(size() - 1); for (size_t i = 0; i < args.size(); ++i) - args[i] = cenv.compile(at(i + 1)); + args[i] = at(i + 1)->compile(cenv); return cenv.engine()->compileCall(cenv, f, args); } @@ -91,7 +91,7 @@ ADef::compile(CEnv& cenv) { // Define stub first for recursion cenv.def(sym(), at(2), cenv.type(at(2)), NULL); - CVal val = cenv.compile(at(size() - 1)); + CVal val = at(size() - 1)->compile(cenv); cenv.vals.def(sym(), val); return val; } |