diff --git a/core/impl/main/java/org/directwebremoting/impl/DefaultRemoter.java b/core/impl/main/java/org/directwebremoting/impl/DefaultRemoter.java index d955a2701..0810beea1 100644 --- a/core/impl/main/java/org/directwebremoting/impl/DefaultRemoter.java +++ b/core/impl/main/java/org/directwebremoting/impl/DefaultRemoter.java @@ -1,6 +1,8 @@ package org.directwebremoting.impl; import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.Comparator; import java.util.Map; import java.util.Map.Entry; @@ -64,6 +66,18 @@ public String generateInterfaceJavaScript(String scriptName, String indent, Stri Module module = moduleManager.getModule(scriptName, false); MethodDeclaration[] methods = module.getMethods(); + Arrays.sort(methods, new Comparator() + { + @Override + public int compare(MethodDeclaration m1, MethodDeclaration m2) + { + int i = m1.getName().compareTo(m2.getName()); + if (i != 0) { + return i; + } + return Integer.compare(m1.getParameterTypes().length, m2.getParameterTypes().length); + } + }); for (MethodDeclaration method : methods) { String methodName = method.getName();