Fix 'references to generic type Class<T> should be parameterized' warnings

Change-Id: I5d29a31ff3f6eede291f4beeac1c46ee25a0ced5
diff --git a/src/builtin/PRED_$call_2.java b/src/builtin/PRED_$call_2.java
index 3362933..6139f2e 100644
--- a/src/builtin/PRED_$call_2.java
+++ b/src/builtin/PRED_$call_2.java
@@ -30,8 +30,8 @@
 	String functor;
 	int arity;
 	Term[] args;
-	Class clazz;
-	Constructor constr;
+	Class<?> clazz;
+	Constructor<?> constr;
 	Operation pred;
 
 	try {
diff --git a/src/lang/BufferingPrologControl.java b/src/lang/BufferingPrologControl.java
index a71a18f..3a63b07 100644
--- a/src/lang/BufferingPrologControl.java
+++ b/src/lang/BufferingPrologControl.java
@@ -142,7 +142,7 @@
    */
   private boolean run(int newLimit) {
     resLimit = newLimit;
-    resBuffer = new ArrayList(Math.min(newLimit, 16));
+    resBuffer = new ArrayList<>(Math.min(newLimit, 16));
 
     executePredicate();
     return 0 < resBuffer.size();
diff --git a/src/lang/DoubleTerm.java b/src/lang/DoubleTerm.java
index 479cf41..977045a 100644
--- a/src/lang/DoubleTerm.java
+++ b/src/lang/DoubleTerm.java
@@ -56,7 +56,7 @@
      * @see Term#convertible(Class, Class)
      */
     @Override
-    public boolean convertible(Class type) { return convertible(Double.class, type); }
+    public boolean convertible(Class<?> type) { return convertible(Double.class, type); }
 
     /** 
      * Returns a <code>java.lang.Double</code> corresponds to this <code>DoubleTerm</code>
diff --git a/src/lang/IntegerTerm.java b/src/lang/IntegerTerm.java
index 3684377..3eb84f5 100644
--- a/src/lang/IntegerTerm.java
+++ b/src/lang/IntegerTerm.java
@@ -51,7 +51,7 @@
      * @see Term#convertible(Class, Class)
      */
     @Override
-    public boolean convertible(Class type) { return convertible(Integer.class, type); }
+    public boolean convertible(Class<?> type) { return convertible(Integer.class, type); }
 
     @Override
     public String name() { return ""; }
diff --git a/src/lang/JavaObjectTerm.java b/src/lang/JavaObjectTerm.java
index a0c0256..f0db4b7 100644
--- a/src/lang/JavaObjectTerm.java
+++ b/src/lang/JavaObjectTerm.java
@@ -31,7 +31,7 @@
     public Object  object() { return obj; }
 
     /** Returns a <code>java.lang.Class</code> of object wrapped by this <code>JavaObjectTerm</code>. */
-    public Class   getClazz() { return obj.getClass(); }
+    public Class<?>   getClazz() { return obj.getClass(); }
 
     @Override
     public String name() { return ""; }
@@ -61,7 +61,7 @@
      * @see Term#convertible(Class, Class)
      */
     @Override
-    public boolean convertible(Class type) { return convertible(obj.getClass(), type); }
+    public boolean convertible(Class<?> type) { return convertible(obj.getClass(), type); }
 
     /** 
      * Returns the object wrapped by this <code>JavaObjectTerm</code>.
diff --git a/src/lang/ListTerm.java b/src/lang/ListTerm.java
index c5be7a7..f39e224 100644
--- a/src/lang/ListTerm.java
+++ b/src/lang/ListTerm.java
@@ -100,7 +100,7 @@
      * @see Term#convertible(Class, Class)
      */
     @Override
-    public boolean convertible(Class type) { 
+    public boolean convertible(Class<?> type) { 
 	return convertible(List.class, type); 
     }
 
@@ -152,7 +152,7 @@
      * this <code>IntegerTerm</code>.
      */
     @Override
-    public List toJava() { 
+    public List<?> toJava() { 
 	List<Object> vec = new ArrayList<>();
 	Term t = this;
 	while(t instanceof ListTerm) {
diff --git a/src/lang/Predicate.java b/src/lang/Predicate.java
index 0f36f0a..cc9c3a0 100644
--- a/src/lang/Predicate.java
+++ b/src/lang/Predicate.java
@@ -31,8 +31,8 @@
 
   @Override
   public String toString() {
-    LinkedList<Class> toScan = new LinkedList<>();
-    Class clazz = getClass();
+    LinkedList<Class<?>> toScan = new LinkedList<>();
+    Class<?> clazz = getClass();
     while (clazz != Predicate.class) {
       toScan.addFirst(clazz);
       clazz = clazz.getSuperclass();
@@ -41,7 +41,7 @@
     StringBuffer sb = new StringBuffer();
     sb.append(PredicateEncoder.decodeFunctor(getClass().getName()));
     boolean first = true;
-    for (Class c : toScan) {
+    for (Class<?> c : toScan) {
       for (Field f : c.getDeclaredFields()) {
         if ((f.getModifiers() & Modifier.STATIC) == 0
             && f.getType() == Term.class
diff --git a/src/lang/PrologClassLoader.java b/src/lang/PrologClassLoader.java
index 04e40a5..79df384 100644
--- a/src/lang/PrologClassLoader.java
+++ b/src/lang/PrologClassLoader.java
@@ -122,7 +122,7 @@
           new ClassCastException("Does not extend " + Predicate.class));
       }
 
-      Class[] params = new Class[arity + 1];
+      Class<?>[] params = new Class[arity + 1];
       for (int i = 0; i < arity; i++)
         params[i] = Term.class;
       params[arity] = Operation.class;
diff --git a/src/lang/SymbolTerm.java b/src/lang/SymbolTerm.java
index 3dbdd83..23f6bf4 100644
--- a/src/lang/SymbolTerm.java
+++ b/src/lang/SymbolTerm.java
@@ -223,7 +223,7 @@
      * @see Term#convertible(Class, Class)
      */
     @Override
-    public boolean convertible(Class type) { return convertible(String.class, type); }
+    public boolean convertible(Class<?> type) { return convertible(String.class, type); }
 
     /**
      * Returns a <code>java.lang.String</code> corresponds to this <code>SymbolTerm</code>
diff --git a/src/lang/Term.java b/src/lang/Term.java
index c3e86c1..d68e1b5 100644
--- a/src/lang/Term.java
+++ b/src/lang/Term.java
@@ -53,7 +53,7 @@
      * <code>type</code>. Otherwise <code>false</code>.
      * @see #convertible(Class, Class)
      */
-    public boolean convertible(Class type) { return convertible(getClass(), type); }
+    public boolean convertible(Class<?> type) { return convertible(getClass(), type); }
 
     /** Returns a copy of this object. */
     protected Term copy(Prolog engine) { return this; }
@@ -84,7 +84,7 @@
     /**
      * Check whether there is a widening conversion from <code>from</code> to <code>to</code>.
      */
-    protected static boolean convertible(Class from, Class<?> to) {
+    protected static boolean convertible(Class<?> from, Class<?> to) {
 	if (from == null)
 	    return ! to.isPrimitive();
 	if (to.isAssignableFrom(from)) {
diff --git a/src/lang/VariableTerm.java b/src/lang/VariableTerm.java
index b22c730..3aede4f 100644
--- a/src/lang/VariableTerm.java
+++ b/src/lang/VariableTerm.java
@@ -103,7 +103,7 @@
      * @see #val
      */
     @Override
-    public boolean convertible(Class type) {
+    public boolean convertible(Class<?> type) {
 	if (val != this)
 	    return val.convertible(type);
 	return convertible(this.getClass(), type);