summaryrefslogtreecommitdiff
path: root/src/api/java
diff options
context:
space:
mode:
authormudathirmahgoub <mudathirmahgoub@gmail.com>2021-10-01 18:21:02 -0500
committerGitHub <noreply@github.com>2021-10-01 23:21:02 +0000
commit98e884a740e8e2d1c32c8b60f3197fbae656e619 (patch)
tree3fb1b24141ec833240eb71aebd93f383e897b592 /src/api/java
parent6405f082a85e2a2ce7e25ff1f8b058f3f42fd58b (diff)
Update java examples using the new Java API (#7225)
This PRs updates java examples using the new Java API, by converting C++ examples to Java. Examples CVC4Streams.java and PipedInput.java are removed since they are not longer supported by the API. All examples are not included in the build which would be added in a future PR.
Diffstat (limited to 'src/api/java')
-rw-r--r--src/api/java/cvc5/Grammar.java7
-rw-r--r--src/api/java/cvc5/Term.java1
-rw-r--r--src/api/java/jni/cvc5_Grammar.cpp16
3 files changed, 24 insertions, 0 deletions
diff --git a/src/api/java/cvc5/Grammar.java b/src/api/java/cvc5/Grammar.java
index 72558d15b..b9240a621 100644
--- a/src/api/java/cvc5/Grammar.java
+++ b/src/api/java/cvc5/Grammar.java
@@ -23,6 +23,13 @@ public class Grammar extends AbstractPointer
super(solver, pointer);
}
+ public Grammar(Grammar grammar)
+ {
+ super(grammar.solver, copyGrammar(grammar.pointer));
+ }
+
+ private static native long copyGrammar(long pointer);
+
protected static native void deletePointer(long pointer);
public long getPointer()
diff --git a/src/api/java/cvc5/Term.java b/src/api/java/cvc5/Term.java
index ebf55116b..a935e453f 100644
--- a/src/api/java/cvc5/Term.java
+++ b/src/api/java/cvc5/Term.java
@@ -19,6 +19,7 @@ import java.math.BigInteger;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
+import java.math.BigInteger;
public class Term extends AbstractPointer implements Comparable<Term>, Iterable<Term>
{
diff --git a/src/api/java/jni/cvc5_Grammar.cpp b/src/api/java/jni/cvc5_Grammar.cpp
index 95af2108f..1ca9ea701 100644
--- a/src/api/java/jni/cvc5_Grammar.cpp
+++ b/src/api/java/jni/cvc5_Grammar.cpp
@@ -22,6 +22,22 @@ using namespace cvc5::api;
/*
* Class: cvc5_Grammar
+ * Method: copyGrammar
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_cvc5_Grammar_copyGrammar(JNIEnv* env,
+ jclass,
+ jlong pointer)
+{
+ CVC5_JAVA_API_TRY_CATCH_BEGIN;
+ Grammar* current = reinterpret_cast<Grammar*>(pointer);
+ Grammar* retPointer = new Grammar(*current);
+ return reinterpret_cast<jlong>(retPointer);
+ CVC5_JAVA_API_TRY_CATCH_END_RETURN(env, 0);
+}
+
+/*
+ * Class: cvc5_Grammar
* Method: deletePointer
* Signature: (J)V
*/
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback