@Override public Collection<AMethodMeta> getDeclaredConstructors() { parseRealClass(); return super.getDeclaredConstructors(); }
@Override public AMethodMeta getDeclaredMethod(String name, IClass... parameterTypes) { AMethodMeta result = super.getDeclaredMethod(name, parameterTypes); if(result == null) { parseRealClass(); result = super.getDeclaredMethod(name, parameterTypes); } return result; }
@Override public AMethodMeta getDeclaredConstructor(IClass... parameterTypes) { AMethodMeta result = super.getDeclaredConstructor(parameterTypes); if(result == null) { parseRealClass(); result = super.getDeclaredConstructor(parameterTypes); } return result; }
@Override public boolean match(IClass type, ClassHolder holder) { return type.isPrimitive() || type.isChildOrEqual(holder.getType(CharSequence.class)) || IClassUtils.isPrimitiveWrapAClass(type); }
@Override public boolean match(IClass type, ClassHolder holder) { return type.isChildOrEqual(holder.getType(Map.class)); }
private Value(IClass aclass) { this.cls = aclass.getClassHolder().getType(Class.class); setProperites(aclass); }
@Override public String toString() { return "new " + methodOwner.getName() + "." + methodMeta; }
@Override public boolean match(IClass type, ClassHolder holder) { return type.isArray(); }
/** * Convert {@link Class} list to {@link IClass} list */ public static IClass[] convertToAClass(ClassHolder classHolder, Class<?>[] classes) { if (classes == null) { return new IClass[0]; } IClass[] types = new IClass[classes.length]; for (int i = 0; i < classes.length; i++) { types[i] = classHolder.getType(classes[i]); } return types; }
/** * if the parameter is sub type of any exception type in this class. */ @Override public boolean contains(Object o) { assert o != null; if (!(o instanceof IClass)) { return false; } for (IClass exception : exceptionEntryList) { if (((IClass) o).isChildOrEqual(exception)) { return true; } } return false; }
@Override public Collection<AMethodMeta> getDeclaredMethods() { parseRealClass(); return super.getDeclaredMethods(); }
@Override public IClass getNextDimType(){ if(dim > 1){ return new ArrayClass(elementType, dim - 1, classLoader); }else{ return elementType; } }
public Type getType() { return this.cls.getType(); }
protected SuperConstructorInvoker(KernelProgramBlock block, IClass aclass, KernelParam[] arguments) { super(block, aclass.getSuperclass(), ASConstants.INIT, arguments); }
@Override public final boolean isInterface() { return (getModifiers() & Opcodes.ACC_INTERFACE) != 0; }
@Override public final String getPackage() { if(pkg == null){ pkg = getPackageName(name); } return pkg; }
@Override public String toString() { return getName(); }
@Override public final Type getType() { if(type == null){ type = Type.getType(getDescription()); } return type; }
@Override public boolean match(IClass type, ClassHolder holder) { return type.isChildOrEqual(holder.getType(Iterable.class)); }
@Override public final boolean isAbstract() { return (getModifiers() & Opcodes.ACC_ABSTRACT) != 0; }