summaryrefslogtreecommitdiff
path: root/src/runtime/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/java')
-rw-r--r--src/runtime/java/jpgf.c7
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/Expr.java3
2 files changed, 10 insertions, 0 deletions
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;