xo-expression2/xo-interpreter2/src/interpreter2/DClosure.cpp

41 lines
881 B
C++

/** @file DClosure.cpp
*
* @author Roland Conybeare, Feb 2026
**/
#include "DClosure.hpp"
namespace xo {
using xo::mm::AGCObject;
namespace scm {
DClosure::DClosure(const DLambdaExpr * lm,
const DLocalEnv * env)
: lambda_{lm}, env_{env}
{}
DClosure *
DClosure::make(obj<AAllocator> mm,
const DLambdaExpr * lm,
const DLocalEnv * env)
{
void * mem = mm.alloc_for<DClosure>();
return new (mem) DClosure(lm, env);
}
obj<AGCObject>
DClosure::apply_nocheck(obj<ARuntimeContext> rcx,
const DArray * args)
{
(void)rcx;
(void)args;
assert(false);
}
} /*namespace scm*/
} /*namespace xo*/
/* end DClosure.cpp */