/** * Obtains the string representation of this object. */ public String toString() { return getValue().replace('$', '.') + ".class"; }
/** * Obtains the string representation of this object. */ @Override public String toString() { return getValue().replace('$', '.') + ".class"; }
@Override public void visitClassMemberValue(ClassMemberValue node) { values.add(node.getValue()); }
Object getValue(ClassLoader cl, ClassPool cp, Method m) throws ClassNotFoundException { final String classname = getValue(); if (classname.equals("void")) return void.class; else if (classname.equals("int")) return int.class; else if (classname.equals("byte")) return byte.class; else if (classname.equals("long")) return long.class; else if (classname.equals("double")) return double.class; else if (classname.equals("float")) return float.class; else if (classname.equals("char")) return char.class; else if (classname.equals("short")) return short.class; else if (classname.equals("boolean")) return boolean.class; else return loadClass(cl, classname); }
@Override Object getValue(ClassLoader cl, ClassPool cp, Method m) throws ClassNotFoundException { final String classname = getValue(); if (classname.equals("void")) return void.class; else if (classname.equals("int")) return int.class; else if (classname.equals("byte")) return byte.class; else if (classname.equals("long")) return long.class; else if (classname.equals("double")) return double.class; else if (classname.equals("float")) return float.class; else if (classname.equals("char")) return char.class; else if (classname.equals("short")) return short.class; else if (classname.equals("boolean")) return boolean.class; else return loadClass(cl, classname); }
/** * Obtains the string representation of this object. */ public String toString() { return "<" + getValue() + " class>"; }
/** * Obtains the string representation of this object. */ public String toString() { return getValue() + ".class"; }
/** * Obtains the string representation of this object. */ public String toString() { return getValue() + ".class"; }
/** * Obtains the string representation of this object. */ public String toString() { return getValue() + ".class"; }
/** * Obtains the string representation of this object. */ public String toString() { return "<" + getValue() + " class>"; }
@Override public void visitClassMemberValue(ClassMemberValue node) { values.add(node.getValue()); }
@Override public void visitClassMemberValue(ClassMemberValue node) { values.add(node.getValue()); }
@Override public void visitClassMemberValue(ClassMemberValue node) { imports.add(node.getValue()); }
public void visitClassMemberValue(ClassMemberValue node) { try { value = Class.forName(node.getValue()); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } }
public void visitClassMemberValue(ClassMemberValue node) { try { value = Class.forName(node.getValue()); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } }
@Override public void visitClassMemberValue(ClassMemberValue node) { array[index] = new ClassMemberValue(node.getValue(), constPool); }
@Override public void visitClassMemberValue(ClassMemberValue node) { array[index] = new ClassMemberValue(node.getValue(), constPool); }
private static CtClass[] getArgTypes(ClassPool cp, ReflectionAccessor reflectionAccessor) throws NotFoundException { Annotation annotation = AnnotationUtil.unwrapAnnotation(reflectionAccessor); ArrayMemberValue argTypesMember = (ArrayMemberValue)annotation.getMemberValue("argTypes"); if (argTypesMember == null) return null; MemberValue[] values = argTypesMember.getValue(); if (values.length == 1 && ((ClassMemberValue)values[0]).getValue().equals(NoArgs.class.getName())) return null; CtClass[] ret = new CtClass[values.length]; for (int i=0; i<values.length; i++) { ret[i] = cp.get(((ClassMemberValue)values[i]).getValue()); } return ret; }
public void visit(CtClass ctClass) { try { if (ctClass.hasAnnotation(PatchClass.class)) { Annotation annotation = JavassistUtils.getAnnotation(ctClass, PatchClass.class); String classToPatchName = PatchClass.class.getName(); ClassMemberValue value = (ClassMemberValue) annotation.getMemberValue("value"); if (value != null) { classToPatchName = value.getValue(); } if (classToPatchName.equals(PatchClass.class.getName())) { StringMemberValue target = (StringMemberValue) annotation.getMemberValue("target"); classToPatchName = (target != null) ? target.getValue() : ""; } if (!"".equals(classToPatchName)) { addPatchClass(classToPatchName, ctClass); } } } catch (ClassNotFoundException e) { // should never happen throw new GwtTestPatchException(e); } }
public void applyTransformations(CtClass ctClass, File outdir) throws NotFoundException, CannotCompileException, IOException { try { CtClass originalWrapper = ctClass.getSuperclass(); if (originalWrapper == null) { return; } Wrapper wrapperAnnotation = (Wrapper)originalWrapper.getAnnotation(Wrapper.class); if (wrapperAnnotation == null) return; CtClass wrappedClass = originalWrapper.getClassPool().get(((ClassMemberValue)AnnotationUtil.unwrapAnnotation(wrapperAnnotation).getMemberValue("value")).getValue()); ClassPool classPool = originalWrapper.getInterfaces()[0].getClassPool(); CtClass newWrapper = MakeWrapper.makeWrapper(ctClass, wrappedClass, "WrapperSuperclass", outdir); ctClass.setSuperclass(newWrapper); } catch (ClassNotFoundException e) { throw new NotFoundException(e.getMessage()); } } }