summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/Makefile.am4
-rw-r--r--src/util/output.i23
-rw-r--r--src/util/predicate.i8
-rw-r--r--src/util/result.i5
-rw-r--r--src/util/statistics.i46
-rw-r--r--src/util/uninterpreted_constant.i13
6 files changed, 95 insertions, 4 deletions
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index f3ae43b05..e72706ea3 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -141,7 +141,9 @@ EXTRA_DIST = \
array_store_all.i \
ascription_type.i \
rational.i \
- hash.i
+ hash.i \
+ predicate.i \
+ uninterpreted_constant.i
DISTCLEANFILES = \
integer.h.tmp \
diff --git a/src/util/output.i b/src/util/output.i
index e9f674240..dc524e185 100644
--- a/src/util/output.i
+++ b/src/util/output.i
@@ -2,7 +2,7 @@
#include "util/output.h"
%}
-%feature("valuewrapper") CVC4::null_streambuf;
+%ignore CVC4::null_streambuf;
%feature("valuewrapper") std::ostream;
// There are issues with SWIG's attempted wrapping of these variables when
@@ -24,8 +24,25 @@
%ignore CVC4::ScopedTrace::ScopedTrace(std::string);
%ignore CVC4::ScopedTrace::ScopedTrace(std::string, bool);
-%rename(getostream) operator std::ostream&;
-%rename(getCVC4ostream) operator CVC4ostream;
+%ignore CVC4::WarningC::getStream();
+%ignore CVC4::MessageC::getStream();
+%ignore CVC4::NoticeC::getStream();
+%ignore CVC4::ChatC::getStream();
+%ignore CVC4::TraceC::getStream();
+%ignore CVC4::DebugC::getStream();
+%ignore CVC4::DumpOutC::getStream();
+
+%ignore CVC4::WarningC::setStream(std::ostream&);
+%ignore CVC4::MessageC::setStream(std::ostream&);
+%ignore CVC4::NoticeC::setStream(std::ostream&);
+%ignore CVC4::ChatC::setStream(std::ostream&);
+%ignore CVC4::TraceC::setStream(std::ostream&);
+%ignore CVC4::DebugC::setStream(std::ostream&);
+%ignore CVC4::DumpOutC::setStream(std::ostream&);
+
+%ignore operator std::ostream&;
+%ignore operator CVC4ostream;
+
%rename(get) operator();
%rename(ok) operator bool;
diff --git a/src/util/predicate.i b/src/util/predicate.i
new file mode 100644
index 000000000..233da01f9
--- /dev/null
+++ b/src/util/predicate.i
@@ -0,0 +1,8 @@
+%{
+#include "util/predicate.h"
+%}
+
+%rename(equals) CVC4::Predicate::operator==(const Predicate&) const;
+%rename(toExpr) CVC4::Predicate::operator Expr() const;
+
+%include "util/predicate.h"
diff --git a/src/util/result.i b/src/util/result.i
index c0d86b30a..029a3618a 100644
--- a/src/util/result.i
+++ b/src/util/result.i
@@ -11,4 +11,9 @@
%ignore CVC4::operator<<(std::ostream&, enum Result::Validity);
%ignore CVC4::operator<<(std::ostream&, enum Result::UnknownExplanation);
+%ignore CVC4::operator==(enum Result::Sat, const Result&);
+%ignore CVC4::operator==(enum Result::Validity, const Result&);
+%ignore CVC4::operator!=(enum Result::Sat, const Result&);
+%ignore CVC4::operator!=(enum Result::Validity, const Result&);
+
%include "util/result.h"
diff --git a/src/util/statistics.i b/src/util/statistics.i
index a14fc29dd..1f5cab2e1 100644
--- a/src/util/statistics.i
+++ b/src/util/statistics.i
@@ -1,8 +1,54 @@
%{
#include "util/statistics.h"
+#include "bindings/java_iterator_adapter.h"
+#include "bindings/java_output_stream_adapter.h"
%}
%rename(assign) CVC4::Statistics::operator=(const StatisticsBase&);
%rename(assign) CVC4::Statistics::operator=(const Statistics& stats);
+%ignore CVC4::StatisticsBase::begin();
+%ignore CVC4::StatisticsBase::end();
+%ignore CVC4::StatisticsBase::begin() const;
+%ignore CVC4::StatisticsBase::end() const;
+%extend CVC4::StatisticsBase {
+ CVC4::JavaIteratorAdapter<CVC4::StatisticsBase> iterator() {
+ return CVC4::JavaIteratorAdapter<CVC4::StatisticsBase>(*$self);
+ }
+}
+
+%typemap(javainterfaces) CVC4::StatisticsBase "java.lang.Iterable<Object>";
+
+%typemap(javaclassmodifiers) CVC4::JavaIteratorAdapter<CVC4::StatisticsBase> "class";
+%typemap(javainterfaces) CVC4::JavaIteratorAdapter<CVC4::StatisticsBase> "java.util.Iterator";
+%typemap(javacode) CVC4::JavaIteratorAdapter<CVC4::StatisticsBase> "
+ public void remove() {
+ throw new java.lang.UnsupportedOperationException();
+ }
+
+ public Object next() {
+ if(hasNext()) {
+ return getNext();
+ } else {
+ throw new java.util.NoSuchElementException();
+ }
+ }
+"
+
+%typemap(jni) CVC4::StatisticsBase::const_iterator::value_type "jobjectArray";
+%typemap(jtype) CVC4::StatisticsBase::const_iterator::value_type "java.lang.Object[]";
+%typemap(jstype) CVC4::StatisticsBase::const_iterator::value_type "java.lang.Object[]";
+%typemap(javaout) CVC4::StatisticsBase::const_iterator::value_type { return $jnicall; }
+%typemap(out) CVC4::StatisticsBase::const_iterator::value_type {
+ $result = jenv->NewObjectArray(2, jenv->FindClass("java/lang/Object"), $null);
+ jenv->SetObjectArrayElement($result, 0, jenv->NewStringUTF($1.first.c_str()));
+ jclass clazz = jenv->FindClass("edu/nyu/acsys/CVC4/SExpr");
+ jmethodID methodid = jenv->GetMethodID(clazz, "<init>", "(JZ)V");
+ jenv->SetObjectArrayElement($result, 1, jenv->NewObject(jenv->FindClass("edu/nyu/acsys/CVC4/SExpr"), methodid, reinterpret_cast<long>(new CVC4::SExpr($1.second)), true));
+ };
+
%include "util/statistics.h"
+%include "bindings/java_iterator_adapter.h"
+%include "bindings/java_output_stream_adapter.h"
+
+%template(JavaIteratorAdapter_StatisticsBase) CVC4::JavaIteratorAdapter<CVC4::StatisticsBase>;
diff --git a/src/util/uninterpreted_constant.i b/src/util/uninterpreted_constant.i
new file mode 100644
index 000000000..c0bdc5390
--- /dev/null
+++ b/src/util/uninterpreted_constant.i
@@ -0,0 +1,13 @@
+%{
+#include "util/uninterpreted_constant.h"
+%}
+
+%rename(less) CVC4::UninterpretedConstant::operator<(const UninterpretedConstant&) const;
+%rename(lessEqual) CVC4::UninterpretedConstant::operator<=(const UninterpretedConstant&) const;
+%rename(greater) CVC4::UninterpretedConstant::operator>(const UninterpretedConstant&) const;
+%rename(greaterEqual) CVC4::UninterpretedConstant::operator>=(const UninterpretedConstant&) const;
+
+%rename(equals) CVC4::UninterpretedConstant::operator==(const UninterpretedConstant&) const;
+%ignore CVC4::UninterpretedConstant::operator!=(const UninterpretedConstant&) const;
+
+%include "util/uninterpreted_constant.h"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback