[jboss-cvs] JBossAS SVN: r85902 - projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 16 07:36:23 EDT 2009
Author: stalep
Date: 2009-03-16 07:36:23 -0400 (Mon, 16 Mar 2009)
New Revision: 85902
Modified:
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java
Log:
[JBREFLECT-49]
fixed bug in JavassistUtil. tests are passing now.
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java 2009-03-16 11:36:12 UTC (rev 85901)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java 2009-03-16 11:36:23 UTC (rev 85902)
@@ -37,11 +37,17 @@
import org.jboss.reflect.plugins.TypeInfoAttachments;
import org.jboss.reflect.plugins.ValueConvertor;
import org.jboss.reflect.spi.AnnotationValue;
+import org.jboss.reflect.spi.Body;
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.reflect.spi.ConstructorInfo;
import org.jboss.reflect.spi.FieldInfo;
import org.jboss.reflect.spi.InterfaceInfo;
import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.ModifierInfo;
+import org.jboss.reflect.spi.MutableClassInfo;
+import org.jboss.reflect.spi.MutableConstructorInfo;
+import org.jboss.reflect.spi.MutableFieldInfo;
+import org.jboss.reflect.spi.MutableMethodInfo;
import org.jboss.reflect.spi.PackageInfo;
import org.jboss.reflect.spi.TypeInfo;
import org.jboss.reflect.spi.TypeInfoFactory;
@@ -53,7 +59,7 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
-public class JavassistTypeInfo extends JavassistInheritableAnnotationHolder implements ClassInfo, InterfaceInfo
+public class JavassistTypeInfo extends JavassistInheritableAnnotationHolder implements MutableClassInfo, InterfaceInfo
{
/** The serialVersionUID */
private static final long serialVersionUID = -5072033691434335775L;
@@ -157,6 +163,9 @@
@Deprecated
public Class<? extends Object> getType()
{
+ if(clazz == null)
+ clazz = JavassistUtil.ctClassToClass(ctClass);
+
return clazz;
}
@@ -707,4 +716,127 @@
{
return ctClass;
}
+
+
+ public void addConstructor(MutableConstructorInfo mci)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addField(MutableFieldInfo mfi)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addMethod(MutableMethodInfo mmi)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public MutableConstructorInfo createMutableConstructor(Body body)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableConstructorInfo createMutableConstructor(ModifierInfo modifier, String[] parameters,
+ String[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableConstructorInfo createMutableConstructor(ModifierInfo modifier, ClassInfo[] parameters,
+ ClassInfo[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableConstructorInfo createMutableConstructor(ModifierInfo modifier, Body body, String[] parameters,
+ String[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableConstructorInfo createMutableConstructor(ModifierInfo modifier, Body body, ClassInfo[] parameters,
+ ClassInfo[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableFieldInfo createMutableField(ModifierInfo modifier, String type)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableFieldInfo createMutableField(ModifierInfo modifier, ClassInfo type)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableMethodInfo createMutableMethod(Body body)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableMethodInfo createMutableMethod(ModifierInfo modifier, String name, String[] parameters,
+ String[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableMethodInfo createMutableMethod(ModifierInfo modifier, String name, ClassInfo[] parameters,
+ ClassInfo[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableMethodInfo createMutableMethod(ModifierInfo modifier, String name, Body body, String[] parameters,
+ String[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public MutableMethodInfo createMutableMethod(ModifierInfo modifier, String name, Body body, ClassInfo[] parameters,
+ ClassInfo[] exceptions)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeConstructor(MutableConstructorInfo mci)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeField(MutableFieldInfo mfi)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeMethod(MutableMethodInfo mmi)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public byte[] toByteCode()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java 2009-03-16 11:36:12 UTC (rev 85901)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java 2009-03-16 11:36:23 UTC (rev 85902)
@@ -28,6 +28,7 @@
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtPrimitiveType;
+import javassist.NotFoundException;
/**
* A JavassistUtil.
@@ -65,6 +66,8 @@
loadAndDisplayClass("int");
loadAndDisplayClass("byte[][][]");
+ loadAndDisplayClass("java.lang.String[][]");
+ loadAndDisplayClass("java.lang.String[][][]");
loadAndDisplayClass("org.jboss.reflect.plugins.javassist.JavassistUtil[]");
}
@@ -84,16 +87,20 @@
return ctClassToClass(pool.get(name));
}
- public static Class<?> ctClassToClass(CtClass ct) throws Exception
+ public static Class<?> ctClassToClass(CtClass ct)
{
+ try
+ {
if (ct.isArray())
{
int dim = 0;
- while (ct.getComponentType() != null)
- {
- dim++;
- ct = ct.getComponentType();
- }
+
+ while (ct.getComponentType() != null)
+ {
+ dim++;
+ ct = ct.getComponentType();
+ }
+
if (ct.isPrimitive())
{
StringBuilder sb = new StringBuilder();
@@ -114,13 +121,27 @@
}
else
{
- return Array.newInstance(ctClassToClass(ct), dim).getClass();
+ return Array.newInstance(ctClassToClass(ct), new int[dim]).getClass();
}
}
else
{
- return loader.loadClass(ct.getName());
+
+ return loader.loadClass(ct.getName());
+
+
}
+ }
+ catch (NotFoundException e)
+ {
+ e.printStackTrace();
+ return null;
+ }
+ catch (ClassNotFoundException e)
+ {
+ e.printStackTrace();
+ return null;
+ }
}
}
More information about the jboss-cvs-commits
mailing list