From b3d96cfa939d4d3b1bae48b3284f1ba6f860bdf6 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Mon, 18 Sep 2017 21:55:10 +0200 Subject: [PATCH] added Expr.size() in the Java binding --- src/runtime/java/jpgf.c | 7 +++++++ src/runtime/java/org/grammaticalframework/pgf/Expr.java | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c index 5622b4885..fd7fe337d 100644 --- a/src/runtime/java/jpgf.c +++ b/src/runtime/java/jpgf.c @@ -1575,6 +1575,13 @@ Java_org_grammaticalframework_pgf_Expr_hashCode(JNIEnv* env, jobject self) return pgf_expr_hash(0, e); } +JNIEXPORT jint JNICALL +Java_org_grammaticalframework_pgf_Expr_size(JNIEnv* env, jobject self) +{ + PgfExpr e = gu_variant_from_ptr(l2p(get_ref(env, self))); + return pgf_expr_size(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 40655cbcb..db0876bf8 100644 --- a/src/runtime/java/org/grammaticalframework/pgf/Expr.java +++ b/src/runtime/java/org/grammaticalframework/pgf/Expr.java @@ -108,6 +108,9 @@ public class Expr implements Serializable { return showExpr(ref); } + /** Computes the number of functions in the expression */ + public native int size(); + /** Reads a string in the GF syntax for abstract expressions * and returns an object representing the expression. */ public static native Expr readExpr(String s) throws PGFError;