diff options
| author | krasimir <krasimir@chalmers.se> | 2017-05-11 13:41:41 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2017-05-11 13:41:41 +0000 |
| commit | ebb085326ebfdaa7329c266b253310dfe4cb46a7 (patch) | |
| tree | c8669b4c04762432c6ce6d8f283bc6695107875e /src/runtime | |
| parent | c2c95644bddf3f501de665f58cba5a0e3a204f84 (diff) | |
just for fun: hashCode for expressions
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/java/jpgf.c | 7 | ||||
| -rw-r--r-- | src/runtime/java/org/grammaticalframework/pgf/Expr.java | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c index bca7a64e0..9b09068d5 100644 --- a/src/runtime/java/jpgf.c +++ b/src/runtime/java/jpgf.c @@ -1388,6 +1388,13 @@ Java_org_grammaticalframework_pgf_Expr_equals(JNIEnv* env, jobject self, jobject return JNI_FALSE; } +JNIEXPORT jint JNICALL +Java_org_grammaticalframework_pgf_Expr_hashCode(JNIEnv* env, jobject self) +{ + PgfExpr e = gu_variant_from_ptr(l2p(get_ref(env, self))); + return pgf_expr_hash(0, e); +} + JNIEXPORT jstring JNICALL Java_org_grammaticalframework_pgf_Type_getCategory(JNIEnv* env, jobject self) { diff --git a/src/runtime/java/org/grammaticalframework/pgf/Expr.java b/src/runtime/java/org/grammaticalframework/pgf/Expr.java index cdc62d1d1..08e75ea04 100644 --- a/src/runtime/java/org/grammaticalframework/pgf/Expr.java +++ b/src/runtime/java/org/grammaticalframework/pgf/Expr.java @@ -102,6 +102,8 @@ public class Expr implements Serializable { * @return True if the expressions are equal. */ public native boolean equals(Expr e); + public native int hashCode(); + private static native String showExpr(long ref); private static native long initStringLit(String s, long pool); |
