diff options
author | mudathirmahgoub <mudathirmahgoub@gmail.com> | 2021-10-01 18:21:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-01 23:21:02 +0000 |
commit | 98e884a740e8e2d1c32c8b60f3197fbae656e619 (patch) | |
tree | 3fb1b24141ec833240eb71aebd93f383e897b592 /src/api | |
parent | 6405f082a85e2a2ce7e25ff1f8b058f3f42fd58b (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')
-rw-r--r-- | src/api/java/cvc5/Grammar.java | 7 | ||||
-rw-r--r-- | src/api/java/cvc5/Term.java | 1 | ||||
-rw-r--r-- | src/api/java/jni/cvc5_Grammar.cpp | 16 |
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 */ |