[jboss-svn-commits] JBL Code SVN: r27734 - labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/type.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 8 07:41:51 EDT 2009


Author: adinn
Date: 2009-07-08 07:41:51 -0400 (Wed, 08 Jul 2009)
New Revision: 27734

Modified:
   labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/type/TypeGroup.java
Log:
type checker now infers java.lang package for all types contained therein if mentioned without package qualification -- fixes BYTEMAN-9

Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/type/TypeGroup.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/type/TypeGroup.java	2009-07-08 11:41:41 UTC (rev 27733)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/type/TypeGroup.java	2009-07-08 11:41:51 UTC (rev 27734)
@@ -255,10 +255,29 @@
     public Type match(String[] path)
     {
         // check to see if the first element of path is a known type or an alias for a known type
-        Type type = typeTable.get(path[0]);
+        String name = path[0];
+
+        Type type = typeTable.get(name);
         if (type != null) {
             return Type.dereference(type);
         }
+
+        // also check to see if the first element of path is a non-primitive type in java.lang e.g. System
+
+        name = "java.lang." + name;
+        type = typeTable.get(name);
+        if (type != null) {
+            return Type.dereference(type);
+        } else {
+            try {
+                Class clazz = loader.loadClass(name);
+                return ensureType(clazz);
+            } catch (ClassNotFoundException e) {
+                // ignore
+            }
+        }
+
+
         // ok, see if we can find a type using some initial segment of the path
         
         String fullName = "";




More information about the jboss-svn-commits mailing list