%{ #include "expr/expr_manager.h" %} %typemap(javacode) CVC4::ExprManager %{ // a ref is kept here to keep Java GC from collecting the Options // before the ExprManager private Object options; %} %typemap(javaconstruct) ExprManager { this($imcall, true); this.options = SmtEngine.mkRef(options); // keep ref to options in SWIG proxy class } %typemap(javadestruct, methodname="delete", methodmodifiers="public synchronized") CVC4::ExprManager { SmtEngine.dlRef(options); options = null; if (swigCPtr != 0) { if (swigCMemOwn) { swigCMemOwn = false; CVC4JNI.delete_ExprManager(swigCPtr); } swigCPtr = 0; } } #ifdef SWIGOCAML /* OCaml bindings cannot deal with this degree of overloading */ %ignore CVC4::ExprManager::mkExpr(Kind, const std::vector&); %ignore CVC4::ExprManager::mkExpr(Kind, Expr, const std::vector&); %ignore CVC4::ExprManager::mkExpr(Expr); %ignore CVC4::ExprManager::mkExpr(Expr, Expr); %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr); %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr, Expr); %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr, Expr, Expr); %ignore CVC4::ExprManager::mkExpr(Expr, Expr, Expr, Expr, Expr, Expr); %ignore CVC4::ExprManager::mkExpr(Expr, const std::vector&); #endif /* SWIGOCAML */ %ignore CVC4::stats::getStatisticsRegistry(ExprManager*); %include "expr/expr_manager.h" %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; #ifdef SWIGPYTHON /* The python bindings cannot differentiate between bool and other basic * types like enum and int. Therefore, we rename mkConst for the bool * case into mkBoolConst. */ %template(mkBoolConst) CVC4::ExprManager::mkConst; // These cases have trouble too. Remove them for now. //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; //%template(mkConst) CVC4::ExprManager::mkConst; #else %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; %template(mkConst) CVC4::ExprManager::mkConst; #endif %include "expr/expr_manager.h"