Allow construction of package-private predicates
diff --git a/src/lang/PrologClassLoader.java b/src/lang/PrologClassLoader.java
index 2205793..f0b1db6 100644
--- a/src/lang/PrologClassLoader.java
+++ b/src/lang/PrologClassLoader.java
@@ -1,5 +1,6 @@
package com.googlecode.prolog_cafe.lang;
import java.io.Serializable;
+import java.lang.reflect.Constructor;
/**
* Prolog class loader.
*
@@ -91,7 +92,10 @@
for (int i = 0; i < arity; i++)
a[i] = args[i];
a[arity] = cont;
- return (Predicate) clazz.getDeclaredConstructor(params).newInstance(a);
+
+ Constructor<Predicate> cons = clazz.getDeclaredConstructor(params);
+ cons.setAccessible(true);
+ return cons.newInstance(a);
} catch (Exception err) {
SymbolTerm colon2 = SymbolTerm.makeSymbol(":", 2);
SymbolTerm slash2 = SymbolTerm.makeSymbol("/", 2);