From f5c06ae8118f0272e18b6526a56e6961f26cfdd4 Mon Sep 17 00:00:00 2001 From: Thomas Fletcher Date: Thu, 23 Mar 2006 06:54:22 +0000 Subject: [PATCH] Avoid double sorting of the symbol objects (first by name, then by address). The API contract for symbol doesn't indicate any sort order on its returned array. --- .../org/eclipse/cdt/utils/elf/ElfHelper.java | 7 ----- .../cdt/utils/elf/SymbolSortCompare.java | 30 ------------------- .../eclipse/cdt/utils/macho/MachOHelper.java | 6 ---- .../cdt/utils/macho/SymbolSortCompare.java | 30 ------------------- 4 files changed, 73 deletions(-) delete mode 100644 core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/SymbolSortCompare.java delete mode 100644 core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/SymbolSortCompare.java diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/ElfHelper.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/ElfHelper.java index 681e2ceb922..48f448a4679 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/ElfHelper.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/ElfHelper.java @@ -12,7 +12,6 @@ package org.eclipse.cdt.utils.elf; import java.io.File; import java.io.IOException; -import java.util.Arrays; import java.util.Vector; /** @@ -144,7 +143,6 @@ public class ElfHelper { } Elf.Symbol[] ret = (Elf.Symbol[])v.toArray(new Elf.Symbol[v.size()]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -168,7 +166,6 @@ public class ElfHelper { } Elf.Symbol[] ret = (Elf.Symbol[])v.toArray(new Elf.Symbol[v.size()]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -183,7 +180,6 @@ public class ElfHelper { } Elf.Symbol[] ret = (Elf.Symbol[])v.toArray(new Elf.Symbol[v.size()]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -207,7 +203,6 @@ public class ElfHelper { } Elf.Symbol[] ret = (Elf.Symbol[])v.toArray(new Elf.Symbol[v.size()]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -231,7 +226,6 @@ public class ElfHelper { } Elf.Symbol[] ret = (Elf.Symbol[])v.toArray(new Elf.Symbol[v.size()]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -251,7 +245,6 @@ public class ElfHelper { } Elf.Symbol[] ret = (Elf.Symbol[])v.toArray(new Elf.Symbol[v.size()]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/SymbolSortCompare.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/SymbolSortCompare.java deleted file mode 100644 index 51cba9c99fa..00000000000 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/SymbolSortCompare.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.utils.elf; - - -import java.util.Comparator; - -public class SymbolSortCompare implements Comparator { - public int compare( Object o1, Object o2 ) { - String s1 = o1.toString(); - String s2 = o2.toString(); - - while( s1.length() > 0 && s1.charAt( 0 ) == '_' ) - s1 = s1.substring( 1 ); - - while( s2.length() > 0 && s2.charAt( 0 ) == '_' ) - s2 = s2.substring( 1 ); - - return s1.compareToIgnoreCase( s2 ); - } -} - diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java index 5a1291909b1..156d627458d 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java @@ -125,7 +125,6 @@ public class MachOHelper { } MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -146,7 +145,6 @@ public class MachOHelper { } MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -161,7 +159,6 @@ public class MachOHelper { } MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -185,7 +182,6 @@ public class MachOHelper { } MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -209,7 +205,6 @@ public class MachOHelper { } MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } @@ -228,7 +223,6 @@ public class MachOHelper { } MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); - Arrays.sort(ret, new SymbolSortCompare()); return ret; } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/SymbolSortCompare.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/SymbolSortCompare.java deleted file mode 100644 index 667d7141de2..00000000000 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/SymbolSortCompare.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.utils.macho; - -import java.util.Comparator; - -public class SymbolSortCompare implements Comparator { - public int compare( Object o1, Object o2 ) { - String s1 = o1.toString(); - String s2 = o2.toString(); - - while( s1.length() > 0 && s1.charAt( 0 ) == '_' ) - s1 = s1.substring( 1 ); - - while( s2.length() > 0 && s2.charAt( 0 ) == '_' ) - s2 = s2.substring( 1 ); - - return s1.compareToIgnoreCase( s2 ); - } -} -