package com.github.javaparser.symbolsolver.reflectionmodel.comparators; import java.lang.reflect.Method; import java.util.Comparator; /** * @author Federico Tomassetti */ public class MethodComparator implements Comparator { @Override public int compare(Method o1, Method o2) { int compareName = o1.getName().compareTo(o2.getName()); if (compareName != 0) return compareName; int compareNParams = o1.getParameterCount() - o2.getParameterCount(); if (compareNParams != 0) return compareNParams; for (int i = 0; i < o1.getParameterCount(); i++) { int compareParam = new ParameterComparator().compare(o1.getParameters()[i], o2.getParameters()[i]); if (compareParam != 0) return compareParam; } int compareResult = new ClassComparator().compare(o1.getReturnType(), o2.getReturnType()); if (compareResult != 0) return compareResult; return 0; } }