2006 classUseComparator = new Utils.ElementComparator() { 2007 /** 2008 * Compares two Elements. 2009 * 2010 * @param e1 - an element. 2011 * @param e2 - an element. 2012 * @return a negative integer, zero, or a positive integer as the first 2013 * argument is less than, equal to, or greater than the second. 2014 */ 2015 @Override 2016 public int compare(Element e1, Element e2) { 2017 int result = compareNames(e1, e2); 2018 if (result != 0) { 2019 return result; 2020 } 2021 result = compareFullyQualifiedNames(e1, e2); 2022 if (result != 0) { 2023 return result; 2024 } 2025 if (hasParameters(e1) && hasParameters(e2)) { 2026 @SuppressWarnings("unchecked") 2027 List<VariableElement> parameters1 = (List<VariableElement>)((ExecutableElement)e1).getParameters(); 2028 @SuppressWarnings("unchecked") 2029 List<VariableElement> parameters2 = (List<VariableElement>)((ExecutableElement)e2).getParameters(); 2030 result = compareParameters(false, parameters1, parameters2); 2031 if (result != 0) { 2032 return result; 2033 } 2034 result = compareParameters(true, parameters1, parameters2); 2035 } 2036 if (result != 0) { 2037 return result; 2038 } 2039 return compareElementKinds(e1, e2); 2040 } 2041 }; 2042 } 2043 return classUseComparator; 2044 } 2045 2046 /** 2047 * A general purpose comparator to sort Element entities, basically provides the building blocks 2048 * for creating specific comparators for an use-case. 2049 */ | 2006 classUseComparator = new Utils.ElementComparator() { 2007 /** 2008 * Compares two Elements. 2009 * 2010 * @param e1 - an element. 2011 * @param e2 - an element. 2012 * @return a negative integer, zero, or a positive integer as the first 2013 * argument is less than, equal to, or greater than the second. 2014 */ 2015 @Override 2016 public int compare(Element e1, Element e2) { 2017 int result = compareNames(e1, e2); 2018 if (result != 0) { 2019 return result; 2020 } 2021 result = compareFullyQualifiedNames(e1, e2); 2022 if (result != 0) { 2023 return result; 2024 } 2025 if (hasParameters(e1) && hasParameters(e2)) { 2026 List<? extends VariableElement> parameters1 = ((ExecutableElement)e1).getParameters(); 2027 List<? extends VariableElement> parameters2 = ((ExecutableElement)e2).getParameters(); 2028 result = compareParameters(false, parameters1, parameters2); 2029 if (result != 0) { 2030 return result; 2031 } 2032 result = compareParameters(true, parameters1, parameters2); 2033 } 2034 if (result != 0) { 2035 return result; 2036 } 2037 return compareElementKinds(e1, e2); 2038 } 2039 }; 2040 } 2041 return classUseComparator; 2042 } 2043 2044 /** 2045 * A general purpose comparator to sort Element entities, basically provides the building blocks 2046 * for creating specific comparators for an use-case. 2047 */ |