1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-07 17:56:01 +02:00

Tool-chain modification fixes

This commit is contained in:
Mikhail Sennikovsky 2007-04-19 13:27:59 +00:00
parent 62a8f0c061
commit a25388f72b
5 changed files with 53 additions and 1 deletions

View file

@ -18,6 +18,7 @@ import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
@ -3978,6 +3979,10 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
list.add(p); list.add(p);
p.setIdenticalList(list); p.setIdenticalList(list);
} }
for(Iterator iter = map.values().iterator(); iter.hasNext();){
Collections.sort((List)iter.next());
}
return map; return map;
} }

View file

@ -2417,4 +2417,19 @@ public class Builder extends BuildObject implements IBuilder, IMatchKeyProvider
outputEntries = null; outputEntries = null;
} }
private int getSuperClassNum(){
int num = 0;
for(IBuilder superTool = getSuperClass(); superTool != null; superTool = superTool.getSuperClass()){
num++;
}
return num;
}
public int compareTo(Object o) {
Builder other = (Builder)o;
if(other.isSystemObject() != isSystemObject())
return isSystemObject() ? 1 : -1;
return getSuperClassNum() - other.getSuperClassNum();
}
} }

View file

@ -12,7 +12,7 @@ package org.eclipse.cdt.managedbuilder.internal.core;
import java.util.List; import java.util.List;
public interface IMatchKeyProvider { public interface IMatchKeyProvider extends Comparable {
Object getMatchKey(); Object getMatchKey();
void setIdenticalList(List list); void setIdenticalList(List list);

View file

@ -4082,4 +4082,20 @@ public class Tool extends HoldsOptions implements ITool, IOptionCategory, IMatch
} }
} }
} }
private int getSuperClassNum(){
int num = 0;
for(ITool superTool = getSuperClass(); superTool != null; superTool = superTool.getSuperClass()){
num++;
}
return num;
}
public int compareTo(Object o) {
Tool other = (Tool)o;
if(other.isSystemObject() != isSystemObject())
return isSystemObject() ? 1 : -1;
return getSuperClassNum() - other.getSuperClassNum();
}
} }

View file

@ -2657,4 +2657,20 @@ public class ToolChain extends HoldsOptions implements IToolChain, IBuildPropert
} }
return false; return false;
} }
private int getSuperClassNum(){
int num = 0;
for(IToolChain superTool = getSuperClass(); superTool != null; superTool = superTool.getSuperClass()){
num++;
}
return num;
}
public int compareTo(Object o) {
ToolChain other = (ToolChain)o;
if(other.isSystemObject() != isSystemObject())
return isSystemObject() ? 1 : -1;
return getSuperClassNum() - other.getSuperClassNum();
}
} }