@Override public List<MetaMethod> getMethods() { List<MetaMethod> answer = CLOSURE_METACLASS.getMetaMethods(); answer.addAll(closureMethods.toList()); return answer; }
public String toString() { if (size() == 0) return "[]"; return toList().toString(); } }
/** * @see MetaObjectProtocol#respondsTo(Object, String) */ public List respondsTo(final Object obj, final String name) { final Object o = getMethods(getTheClass(), name, false); if (o instanceof FastArray) return ((FastArray) o).toList(); else return Collections.singletonList(o); }
private int selectConstructorAndTransformArguments0(final int numberOfConstructors, Object[] arguments) { //TODO: that is just a quick prototype, not the real thing! if (numberOfConstructors != constructors.size()) { throw new IncompatibleClassChangeError("the number of constructors during runtime and compile time for " + this.theClass.getName() + " do not match. Expected " + numberOfConstructors + " but got " + constructors.size()); } CachedConstructor constructor = createCachedConstructor(arguments); List l = new ArrayList(constructors.toList()); Comparator comp = new Comparator() { public int compare(Object arg0, Object arg1) { CachedConstructor c0 = (CachedConstructor) arg0; CachedConstructor c1 = (CachedConstructor) arg1; String descriptor0 = BytecodeHelper.getMethodDescriptor(Void.TYPE, c0.getNativeParameterTypes()); String descriptor1 = BytecodeHelper.getMethodDescriptor(Void.TYPE, c1.getNativeParameterTypes()); return descriptor0.compareTo(descriptor1); } }; Collections.sort(l, comp); int found = -1; for (int i = 0; i < l.size(); i++) { if (l.get(i) != constructor) continue; found = i; break; } // NOTE: must be changed to "1 |" if constructor was vargs return (found << 8); }
@Override public List<MetaMethod> getMethods() { List<MetaMethod> answer = CLOSURE_METACLASS.getMetaMethods(); answer.addAll(closureMethods.toList()); return answer; }
public String toString() { if (size() == 0) return "[]"; return toList().toString(); } }
public List getMethods() { List answer = CLOSURE_METACLASS.getMetaMethods(); answer.addAll(closureMethods.toList()); return answer; }
public String toString() { if (size() == 0) return "[]"; return toList().toString(); } }
@Override public List<MetaMethod> getMethods() { List<MetaMethod> answer = CLOSURE_METACLASS.getMetaMethods(); answer.addAll(closureMethods.toList()); return answer; }
public String toString() { if (size() == 0) return "[]"; return toList().toString(); } }
/** * @see MetaObjectProtocol#respondsTo(Object, String) */ public List respondsTo(final Object obj, final String name) { final Object o = getMethods(getTheClass(), name, false); if (o instanceof FastArray) return ((FastArray) o).toList(); else return Collections.singletonList(o); }
/** * @see MetaObjectProtocol#respondsTo(Object, String) */ public List respondsTo(final Object obj, final String name) { final Object o = getMethods(getTheClass(), name, false); if (o instanceof FastArray) return ((FastArray) o).toList(); else return Collections.singletonList(o); }
/** * @see MetaObjectProtocol#respondsTo(Object, String) */ public List respondsTo(final Object obj, final String name) { final Object o = getMethods(getTheClass(), name, false); if (o instanceof FastArray) return ((FastArray)o).toList(); else return Collections.singletonList(o); }
+ "(" + InvokerHelper.toTypeString(arguments) + ")"); List l = new ArrayList(constructors.toList()); Comparator comp = new Comparator() { public int compare(Object arg0, Object arg1) {
+ "(" + InvokerHelper.toTypeString(arguments) + ")"); List l = new ArrayList(constructors.toList()); Comparator comp = new Comparator() { public int compare(Object arg0, Object arg1) {
+ "(" + InvokerHelper.toTypeString(arguments) + ")"); List l = new ArrayList(constructors.toList()); Comparator comp = new Comparator() { public int compare(Object arg0, Object arg1) {