Added WildcardTypeImpl implementation (minimal support).
[jpf-core.git] / src / main / gov / nasa / jpf / vm / Types.java
index 16ee295718f9e9195f70ab3c45dc1c2f9be5c5c6..948b42e512013b1b7cd88d2a0b002252e59dd8c3 100644 (file)
@@ -1205,7 +1205,7 @@ public class Types {
   }
 
   // TODO: Fix for Groovy's model-checking
-  public static String[] getParameterizedTypesFromArgumentTypeNames(String signature) {
+  public static String[] getParameterizedTypes(String signature) {
     int pos = signature.indexOf('<', 0);
     if (pos == -1)
       return new String[0];
@@ -1248,8 +1248,28 @@ public class Types {
   }
 
   public static boolean isGenericSignature(String signature) {
+    if (signature == null || signature.equals(""))
+      return false;
     int opening = signature.indexOf('<');
     return (opening != -1);
   }
+
+  public static boolean isTypeParameter(String parameterizedType, String signature) {
+    if (signature == null || signature.equals(""))
+      return false;
+    String typeParamSig = parameterizedType.concat(":");
+    return signature.contains(typeParamSig);
+  }
+
+  public static boolean isWildcardType(String signature) {
+    return (signature.startsWith("+L") || signature.equals("*"));
+  }
+
+  public static String getWildcardType(String signature) {
+    if (signature.equals("*")) {
+      return "java.lang.Object";
+    }
+    return signature.replace("+L", "");
+  }
   // TODO: Fix for Groovy's model-checking
 }