1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

cosmetics: ehnanced loops etc

This commit is contained in:
Andrew Gvozdev 2010-01-18 21:15:42 +00:00
parent e426a8658a
commit 367a0ee6cd

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2007, 2008 Intel Corporation and others. * Copyright (c) 2007, 2010 Intel Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -86,8 +86,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
ITool tools[] = parTc.getTools(); ITool tools[] = parTc.getTools();
String subId = new String(); String subId = new String();
for (int i = 0; i < tools.length; i++) { for (ITool tool : tools) {
ITool tool = tools[i];
ITool extTool = tool; ITool extTool = tool;
for(; extTool != null && !extTool.isExtensionElement(); extTool = extTool.getSuperClass()); for(; extTool != null && !extTool.isExtensionElement(); extTool = extTool.getSuperClass());
if(extTool == null) if(extTool == null)
@ -134,8 +133,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
tcEl = element; tcEl = element;
} else { } else {
ICStorageElement nodes[] = element.getChildren(); ICStorageElement nodes[] = element.getChildren();
for(int i = 0; i < nodes.length; i++){ for (ICStorageElement node : nodes) {
ICStorageElement node = nodes[i];
if(IToolChain.TOOL_CHAIN_ELEMENT_NAME.equals(node.getName())) if(IToolChain.TOOL_CHAIN_ELEMENT_NAME.equals(node.getName()))
tcEl = node; tcEl = node;
} }
@ -201,8 +199,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
// the cloned configuration's tool-chain element that specifies the // the cloned configuration's tool-chain element that specifies the
// original tool element as its superClass. // original tool element as its superClass.
ITool[] tools = extToolChain.getTools(); ITool[] tools = extToolChain.getTools();
for (int i=0; i<tools.length; i++) { for (ITool tool : tools) {
Tool toolChild = (Tool)tools[i]; Tool toolChild = (Tool)tool;
subId = ManagedBuildManager.calculateChildId(toolChild.getId(),null); subId = ManagedBuildManager.calculateChildId(toolChild.getId(),null);
newChain.createTool(toolChild, subId, toolChild.getName(), false); newChain.createTool(toolChild, subId, toolChild.getName(), false);
} }
@ -242,8 +240,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
IFolderInfo rf = getParent().getRootFolderInfo(); IFolderInfo rf = getParent().getRootFolderInfo();
ITool[] rootTools = rf.getFilteredTools(); ITool[] rootTools = rf.getFilteredTools();
ITool tt = getParent().getTargetTool(); ITool tt = getParent().getTargetTool();
for(int i = 0; i < rootTools.length; i++){ for (ITool rootTool : rootTools) {
ITool rootTool = rootTools[i];
if(rootTool == tt || getMultipleOfType(rootTool) != null){ if(rootTool == tt || getMultipleOfType(rootTool) != null){
if(getConflictingInputExts(rootTool, tool).length != 0) if(getConflictingInputExts(rootTool, tool).length != 0)
return true; return true;
@ -256,8 +253,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
IInputType[] types = tool.getInputTypes(); IInputType[] types = tool.getInputTypes();
IInputType mType = null; IInputType mType = null;
boolean foundNonMultiplePrimary = false; boolean foundNonMultiplePrimary = false;
for(int i = 0; i < types.length; i++){ for (IInputType type : types) {
IInputType type = types[i];
if(type.getMultipleOfType()){ if(type.getMultipleOfType()){
if(type.getPrimaryInput() == true){ if(type.getPrimaryInput() == true){
foundNonMultiplePrimary = false; foundNonMultiplePrimary = false;
@ -316,7 +312,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
} }
// Answer the filtered tools as an array // Answer the filtered tools as an array
return (Tool[])tools.toArray(new Tool[tools.size()]); return tools.toArray(new Tool[tools.size()]);
} }
public ITool[] getFilteredTools() { public ITool[] getFilteredTools() {
@ -332,6 +328,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
return ICSettingBase.SETTING_FOLDER; return ICSettingBase.SETTING_FOLDER;
} }
@Override
public boolean isDirty() { public boolean isDirty() {
if(super.isDirty()) if(super.isDirty())
return true; return true;
@ -341,6 +338,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
return false; return false;
} }
@Override
public boolean needsRebuild() { public boolean needsRebuild() {
if(super.needsRebuild() || toolChain.needsRebuild()) if(super.needsRebuild() || toolChain.needsRebuild())
return true; return true;
@ -348,6 +346,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
return false; return false;
} }
@Override
public void setRebuildState(boolean rebuild) { public void setRebuildState(boolean rebuild) {
super.setRebuildState(rebuild); super.setRebuildState(rebuild);
@ -377,6 +376,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
return toolChain; return toolChain;
} }
@Override
void serialize(ICStorageElement element){ void serialize(ICStorageElement element){
super.serialize(element); super.serialize(element);
@ -384,11 +384,13 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
toolChain.serialize(toolChainElement); toolChain.serialize(toolChainElement);
} }
@Override
void resolveReferences(){ void resolveReferences(){
if(toolChain != null) if(toolChain != null)
toolChain.resolveReferences(); toolChain.resolveReferences();
} }
@Override
public void updateManagedBuildRevision(String revision){ public void updateManagedBuildRevision(String revision){
super.updateManagedBuildRevision(revision); super.updateManagedBuildRevision(revision);
@ -396,6 +398,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
toolChain.updateManagedBuildRevision(revision); toolChain.updateManagedBuildRevision(revision);
} }
@Override
public boolean isExtensionElement(){ public boolean isExtensionElement(){
return isExtensionElement; return isExtensionElement;
} }
@ -423,8 +426,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
String ext = extension == null ? "" : extension; //$NON-NLS-1$ String ext = extension == null ? "" : extension; //$NON-NLS-1$
// Get all the tools for the current config // Get all the tools for the current config
ITool[] tools = getFilteredTools(); ITool[] tools = getFilteredTools();
for (int index = 0; index < tools.length; index++) { for (ITool tool : tools) {
ITool tool = tools[index];
if (tool.producesFileType(ext)) { if (tool.producesFileType(ext)) {
return tool; return tool;
} }
@ -435,8 +437,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
public ITool getToolFromInputExtension(String sourceExtension) { public ITool getToolFromInputExtension(String sourceExtension) {
// Get all the tools for the current config // Get all the tools for the current config
ITool[] tools = getFilteredTools(); ITool[] tools = getFilteredTools();
for (int index = 0; index < tools.length; index++) { for (ITool tool : tools) {
ITool tool = tools[index];
if (tool.buildsFileType(sourceExtension)) { if (tool.buildsFileType(sourceExtension)) {
return tool; return tool;
} }
@ -444,6 +445,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
return null; return null;
} }
@Override
public void propertiesChanged() { public void propertiesChanged() {
if(isExtensionElement) if(isExtensionElement)
return; return;
@ -451,6 +453,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
super.propertiesChanged(); super.propertiesChanged();
} }
@Override
public void setDirty(boolean isDirty) { public void setDirty(boolean isDirty) {
if (isExtensionElement && isDirty) return; if (isExtensionElement && isDirty) return;
@ -540,8 +543,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
if(tc.supportsType(typeId, false)) if(tc.supportsType(typeId, false))
return true; return true;
for(int i = 0; i < tools.length; i++){ for (ITool tool : tools) {
if(((Tool)tools[i]).supportsType(typeId)) if(((Tool)tool).supportsType(typeId))
return true; return true;
} }
return false; return false;
@ -551,8 +554,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
if(tc.supportsValue(typeId, valueId, false)) if(tc.supportsValue(typeId, valueId, false))
return true; return true;
for(int i = 0; i < tools.length; i++){ for (ITool tool : tools) {
if(((Tool)tools[i]).supportsValue(typeId, valueId)) if(((Tool)tool).supportsValue(typeId, valueId))
return true; return true;
} }
return false; return false;
@ -563,8 +566,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
list.addAll(Arrays.asList(tc.getRequiredTypeIds(false))); list.addAll(Arrays.asList(tc.getRequiredTypeIds(false)));
for(int i = 0; i < tools.length; i++){ for (ITool tool : tools) {
list.addAll(Arrays.asList(((Tool)tools[i]).getRequiredTypeIds())); list.addAll(Arrays.asList(((Tool)tool).getRequiredTypeIds()));
} }
return list.toArray(new String[list.size()]); return list.toArray(new String[list.size()]);
@ -575,8 +578,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
list.addAll(Arrays.asList(tc.getSupportedTypeIds(false))); list.addAll(Arrays.asList(tc.getSupportedTypeIds(false)));
for(int i = 0; i < tools.length; i++){ for (ITool tool : tools) {
list.addAll(Arrays.asList(((Tool)tools[i]).getSupportedTypeIds())); list.addAll(Arrays.asList(((Tool)tool).getSupportedTypeIds()));
} }
return list.toArray(new String[list.size()]); return list.toArray(new String[list.size()]);
@ -587,8 +590,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
list.addAll(Arrays.asList(tc.getSupportedValueIds(typeId, false))); list.addAll(Arrays.asList(tc.getSupportedValueIds(typeId, false)));
for(int i = 0; i < tools.length; i++){ for (ITool tool : tools) {
list.addAll(Arrays.asList(((Tool)tools[i]).getSupportedValueIds(typeId))); list.addAll(Arrays.asList(((Tool)tool).getSupportedValueIds(typeId)));
} }
return list.toArray(new String[list.size()]); return list.toArray(new String[list.size()]);
@ -598,8 +601,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
if(tc.requiresType(typeId, false)) if(tc.requiresType(typeId, false))
return true; return true;
for(int i = 0; i < tools.length; i++){ for (ITool tool : tools) {
if(((Tool)tools[i]).requiresType(typeId)) if(((Tool)tool).requiresType(typeId))
return true; return true;
} }
return false; return false;
@ -727,8 +730,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
// original tool element as its superClass. // original tool element as its superClass.
String subId; String subId;
ITool[] tools = newSuperClass.getTools(); ITool[] tools = newSuperClass.getTools();
for (int i=0; i<tools.length; i++) { for (ITool tool : tools) {
Tool toolChild = (Tool)tools[i]; Tool toolChild = (Tool)tool;
subId = ManagedBuildManager.calculateChildId(toolChild.getId(),null); subId = ManagedBuildManager.calculateChildId(toolChild.getId(),null);
toolChain.createTool(toolChild, subId, toolChild.getName(), false); toolChain.createTool(toolChild, subId, toolChild.getName(), false);
} }
@ -740,7 +743,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
ManagedBuildManager.calculateChildId(prefTch.getSuperClass().getId(), null), ManagedBuildManager.calculateChildId(prefTch.getSuperClass().getId(), null),
prefTch.getName(), prefTch.getName(),
new HashMap<IPath, Map<String, String>>(), new HashMap<IPath, Map<String, String>>(),
(ToolChain)prefTch); prefTch);
} }
if(isRoot()){ if(isRoot()){
@ -760,8 +763,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
private void copySettings(ITool[] fromTools, ITool[] toTools){ private void copySettings(ITool[] fromTools, ITool[] toTools){
ITool[][] matches = getBestMatches(fromTools, toTools); ITool[][] matches = getBestMatches(fromTools, toTools);
for(int i = 0; i < matches.length; i++){ for (ITool[] match : matches) {
BuildSettingsUtil.copyCommonSettings(matches[i][0], matches[i][1]); BuildSettingsUtil.copyCommonSettings(match[0], match[1]);
} }
} }
@ -784,7 +787,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
set.remove(bestMatchTool); set.remove(bestMatchTool);
} }
} }
return (ITool[][])list.toArray(new ITool[list.size()][]); return list.toArray(new ITool[list.size()][]);
} }
void updateToolChainWithConverter(ConverterInfo cInfo, String Id, String name) throws BuildException{ void updateToolChainWithConverter(ConverterInfo cInfo, String Id, String name) throws BuildException{
@ -832,8 +835,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
IToolChain foundToTc = toTc; IToolChain foundToTc = toTc;
if(el == null){ if(el == null){
IToolChain[] tcs = ManagedBuildManager.findIdenticalToolChains(toTc); IToolChain[] tcs = ManagedBuildManager.findIdenticalToolChains(toTc);
for(int i = 0; i < tcs.length; i++){ for (IToolChain tc : tcs) {
foundToTc = tcs[i]; foundToTc = tc;
if(foundToTc == toTc) if(foundToTc == toTc)
continue; continue;
@ -870,7 +873,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
if(removedMap.size() != 0){ if(removedMap.size() != 0){
LinkedHashMap<Object, ITool> curMap = createRealToExtToolMap(getTools(), false); LinkedHashMap<Object, ITool> curMap = createRealToExtToolMap(getTools(), false);
for(Iterator<Map.Entry<Object, ITool>> iter = removedMap.entrySet().iterator(); iter.hasNext();){ for(Iterator<Map.Entry<Object, ITool>> iter = removedMap.entrySet().iterator(); iter.hasNext();){
Map.Entry<Object, ITool> entry = (Map.Entry<Object, ITool>)iter.next(); Map.Entry<Object, ITool> entry = iter.next();
Object key = entry.getKey(); Object key = entry.getKey();
Object curTool = curMap.get(key); Object curTool = curMap.get(key);
if(curTool != null) if(curTool != null)
@ -880,8 +883,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
} }
} }
ITool[][] result = new Tool[2][]; ITool[][] result = new Tool[2][];
result[0] = (Tool[])removedMap.values().toArray(new Tool[removedMap.size()]); result[0] = removedMap.values().toArray(new Tool[removedMap.size()]);
result[1] = (Tool[])addedMap.values().toArray(new Tool[addedMap.size()]); result[1] = addedMap.values().toArray(new Tool[addedMap.size()]);
return result; return result;
} }
@ -936,18 +939,18 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
); );
} }
performToolChainModification(removed, (Tool[])newTools.toArray(new Tool[newTools.size()])); performToolChainModification(removed, newTools.toArray(new Tool[newTools.size()]));
} }
private void performToolChainModification(ITool removed[], ITool[] added){ private void performToolChainModification(ITool removed[], ITool[] added){
BuildSettingsUtil.disconnectDepentents(getParent(), removed); BuildSettingsUtil.disconnectDepentents(getParent(), removed);
for(int i = 0; i < removed.length; i++){ for (ITool tool : removed) {
toolChain.removeTool((Tool)removed[i]); toolChain.removeTool((Tool)tool);
} }
for(int i = 0; i < added.length; i++){ for (ITool tool : added) {
toolChain.addTool((Tool)added[i]); toolChain.addTool((Tool)tool);
} }
adjustTargetTools(removed, added); adjustTargetTools(removed, added);
@ -964,8 +967,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
boolean targetToolsModified = false; boolean targetToolsModified = false;
set.addAll(Arrays.asList(ids)); set.addAll(Arrays.asList(ids));
for(int i = 0; i < removed.length; i++){ for (ITool tool : removed) {
Object[] tInfo = getTargetTool(removed[i]); Object[] tInfo = getTargetTool(tool);
if(tInfo == null) if(tInfo == null)
continue; continue;
@ -990,7 +993,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
} }
if(targetToolsModified){ if(targetToolsModified){
toolChain.setTargetToolIds(CDataUtil.arrayToString((String[])set.toArray(new String[set.size()]), ";")); //$NON-NLS-1$ toolChain.setTargetToolIds(CDataUtil.arrayToString(set.toArray(new String[set.size()]), ";")); //$NON-NLS-1$
} }
} }
@ -999,11 +1002,11 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
String exts[] = ((Tool)tool).getAllOutputExtensions(project); String exts[] = ((Tool)tool).getAllOutputExtensions(project);
Set<String> extsSet = new HashSet<String>(Arrays.asList(exts)); Set<String> extsSet = new HashSet<String>(Arrays.asList(exts));
ITool compatibleTool = null; ITool compatibleTool = null;
for(int i = 0; i < allTools.length; i++){ for (ITool t : allTools) {
String otherExts[] = ((Tool)allTools[i]).getAllOutputExtensions(project); String otherExts[] = ((Tool)t).getAllOutputExtensions(project);
for(int k = 0; k < otherExts.length; k++){ for (String otherExt : otherExts) {
if(extsSet.contains(otherExts[k])){ if(extsSet.contains(otherExt)){
compatibleTool = allTools[i]; compatibleTool = t;
break; break;
} }
} }
@ -1014,12 +1017,12 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
if(compatibleTool == null){ if(compatibleTool == null){
//try to match build output variable //try to match build output variable
Set<String> set = getToolOutputVars(tool); Set<String> set = getToolOutputVars(tool);
for(int i = 0; i < allTools.length; i++){ for (ITool t: allTools) {
IOutputType types[] = allTools[i].getOutputTypes(); IOutputType types[] = t.getOutputTypes();
for(int k = 0; k < types.length; k++){ for (IOutputType type : types) {
String var = types[k].getBuildVariable(); String var = type.getBuildVariable();
if(var != null && set.contains(var)){ if(var != null && set.contains(var)){
compatibleTool = allTools[i]; compatibleTool = t;
break; break;
} }
@ -1037,8 +1040,8 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
Set<String> set = new HashSet<String>(); Set<String> set = new HashSet<String>();
IOutputType types[] = tool.getOutputTypes(); IOutputType types[] = tool.getOutputTypes();
for(int k = 0; k < types.length; k++){ for (IOutputType type : types) {
String var = types[k].getBuildVariable(); String var = type.getBuildVariable();
if(var != null) if(var != null)
set.add(var); set.add(var);
@ -1050,8 +1053,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
private Object[] getTargetTool(ITool tool){ private Object[] getTargetTool(ITool tool){
String [] ids = toolChain.getTargetToolList(); String [] ids = toolChain.getTargetToolList();
for(int i = 0; i < ids.length; i++){ for (String id : ids) {
String id = ids[i];
ITool target = tool; ITool target = tool;
for(; target != null; target = target.getSuperClass()){ for(; target != null; target = target.getSuperClass()){
if(id.equals(target.getId())) if(id.equals(target.getId()))
@ -1091,7 +1093,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
Map<ITool, ConverterInfo> resultMap = new HashMap<ITool, ConverterInfo>(); Map<ITool, ConverterInfo> resultMap = new HashMap<ITool, ConverterInfo>();
for(Iterator<ITool> rIter = remainingRemoved.iterator(); rIter.hasNext();){ for(Iterator<ITool> rIter = remainingRemoved.iterator(); rIter.hasNext();){
ITool r = (ITool)rIter.next(); ITool r = rIter.next();
if(r.getParentResourceInfo() != this) if(r.getParentResourceInfo() != this)
continue; continue;
@ -1100,7 +1102,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
continue; continue;
for(Iterator<ITool> aIter = remainingAdded.iterator(); aIter.hasNext();){ for(Iterator<ITool> aIter = remainingAdded.iterator(); aIter.hasNext();){
ITool a = (ITool)aIter.next(); ITool a = aIter.next();
if(a.getParentResourceInfo() == this) if(a.getParentResourceInfo() == this)
continue; continue;
@ -1125,7 +1127,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
map.keySet().removeAll(removedMap.keySet()); map.keySet().removeAll(removedMap.keySet());
map.putAll(createRealToExtToolMap(added, true)); map.putAll(createRealToExtToolMap(added, true));
return (ITool[])map.values().toArray(new ITool[map.size()]); return map.values().toArray(new ITool[map.size()]);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -1134,12 +1136,12 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
set.addAll(Arrays.asList(newTools)); set.addAll(Arrays.asList(newTools));
List<ITool[]> result = new ArrayList<ITool[]>(); List<ITool[]> result = new ArrayList<ITool[]>();
for(Iterator<ITool> iter = set.iterator(); iter.hasNext();){ for(Iterator<ITool> iter = set.iterator(); iter.hasNext();){
ITool t = (ITool)iter.next(); ITool t = iter.next();
iter.remove(); iter.remove();
HashSet<ITool> tmp = (HashSet<ITool>)set.clone(); HashSet<ITool> tmp = (HashSet<ITool>)set.clone();
List<ITool> list = new ArrayList<ITool>(); List<ITool> list = new ArrayList<ITool>();
for(Iterator<ITool> tmpIt = tmp.iterator(); tmpIt.hasNext();){ for(Iterator<ITool> tmpIt = tmp.iterator(); tmpIt.hasNext();){
ITool other = (ITool)tmpIt.next(); ITool other = tmpIt.next();
String conflicts[] = getConflictingInputExts(t, other); String conflicts[] = getConflictingInputExts(t, other);
if(conflicts.length != 0){ if(conflicts.length != 0){
list.add(other); list.add(other);
@ -1155,7 +1157,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
iter = set.iterator(); iter = set.iterator();
} }
return (ITool[][])result.toArray(new ITool[result.size()][]); return result.toArray(new ITool[result.size()][]);
} }
private String[] getConflictingInputExts(ITool tool1, ITool tool2){ private String[] getConflictingInputExts(ITool tool1, ITool tool2){
@ -1214,8 +1216,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
public boolean buildsFileType(String srcExt) { public boolean buildsFileType(String srcExt) {
// Check to see if there is a rule to build a file with this extension // Check to see if there is a rule to build a file with this extension
ITool[] tools = getFilteredTools(); ITool[] tools = getFilteredTools();
for (int index = 0; index < tools.length; index++) { for (ITool tool : tools) {
ITool tool = tools[index];
if (tool != null && tool.buildsFileType(srcExt)) { if (tool != null && tool.buildsFileType(srcExt)) {
return true; return true;
} }
@ -1226,8 +1227,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
public String getOutputExtension(String resourceExtension) { public String getOutputExtension(String resourceExtension) {
String outputExtension = null; String outputExtension = null;
ITool[] tools = getFilteredTools(); ITool[] tools = getFilteredTools();
for (int index = 0; index < tools.length; index++) { for (ITool tool : tools) {
ITool tool = tools[index];
outputExtension = tool.getOutputExtension(resourceExtension); outputExtension = tool.getOutputExtension(resourceExtension);
if (outputExtension != null) { if (outputExtension != null) {
return outputExtension; return outputExtension;
@ -1244,8 +1244,7 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
project = (IProject)manProj.getOwner(); project = (IProject)manProj.getOwner();
} }
ITool[] tools = getFilteredTools(); ITool[] tools = getFilteredTools();
for (int index = 0; index < tools.length; index++) { for (ITool tool : tools) {
ITool tool = tools[index];
try { try {
if (project != null) { if (project != null) {
// Make sure the tool is right for the project // Make sure the tool is right for the project
@ -1273,28 +1272,33 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
return false; return false;
} }
@Override
public Set<String> contributeErrorParsers(Set<String> set){ public Set<String> contributeErrorParsers(Set<String> set){
if(toolChain != null) if(toolChain != null)
set = toolChain.contributeErrorParsers(this, set, true); set = toolChain.contributeErrorParsers(this, set, true);
return set; return set;
} }
@Override
public void resetErrorParsers() { public void resetErrorParsers() {
if(toolChain != null) if(toolChain != null)
toolChain.resetErrorParsers(this); toolChain.resetErrorParsers(this);
} }
@Override
void removeErrorParsers(Set<String> set) { void removeErrorParsers(Set<String> set) {
if(toolChain != null) if(toolChain != null)
toolChain.removeErrorParsers(this, set); toolChain.removeErrorParsers(this, set);
} }
@Override
public ITool getToolById(String id) { public ITool getToolById(String id) {
if(toolChain != null) if(toolChain != null)
return toolChain.getTool(id); return toolChain.getTool(id);
return null; return null;
} }
@Override
void resolveProjectReferences(boolean onLoad){ void resolveProjectReferences(boolean onLoad){
if(toolChain != null) if(toolChain != null)
toolChain.resolveProjectReferences(onLoad); toolChain.resolveProjectReferences(onLoad);
@ -1311,21 +1315,21 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
// the configuration itself is destroyed. // the configuration itself is destroyed.
// ManagedBuildManager.performValueHandlerEvent(this, IManagedOptionValueHandler.EVENT_CLOSE, false); // ManagedBuildManager.performValueHandlerEvent(this, IManagedOptionValueHandler.EVENT_CLOSE, false);
// Remove the configurations // Remove the configurations
for (int i = 0; i < tools.length; i++) { for (ITool tool : tools) {
ITool tool = tools[i];
opts = tool.getOptions(); opts = tool.getOptions();
for (int j = 0; j < opts.length; j++) { for (IOption opt : opts) {
tool.removeOption(opts[j]); tool.removeOption(opt);
} }
} }
opts = toolChain.getOptions(); opts = toolChain.getOptions();
for (int j = 0; j < opts.length; j++) { for (IOption opt : opts) {
toolChain.removeOption(opts[j]); toolChain.removeOption(opt);
} }
// rebuildNeeded = true; // rebuildNeeded = true;
} }
@Override
public boolean hasCustomSettings(){ public boolean hasCustomSettings(){
IFolderInfo parentFo = getParentFolderInfo(); IFolderInfo parentFo = getParentFolderInfo();
if(parentFo == null) if(parentFo == null)
@ -1344,22 +1348,24 @@ public class FolderInfo extends ResourceInfo implements IFolderInfo {
containsDiscoveredScannerInfo = contains; containsDiscoveredScannerInfo = contains;
} }
@Override
public boolean isFolderInfo() { public boolean isFolderInfo() {
return true; return true;
} }
@Override
void performPostModificationAdjustments(ToolListModificationInfo info) { void performPostModificationAdjustments(ToolListModificationInfo info) {
adjustTargetTools(info.getRemovedTools(), info.getAddedTools(true)); adjustTargetTools(info.getRemovedTools(), info.getAddedTools(true));
super.performPostModificationAdjustments(info); super.performPostModificationAdjustments(info);
} }
@Override
void applyToolsInternal(ITool[] resultingTools, void applyToolsInternal(ITool[] resultingTools,
ToolListModificationInfo info) { ToolListModificationInfo info) {
ITool[] removedTools = info.getRemovedTools(); ITool[] removedTools = info.getRemovedTools();
for(int i = 0; i < removedTools.length; i++){ for (ITool tool : removedTools) {
ITool tool = removedTools[i];
ITool extTool = ManagedBuildManager.getExtensionTool(tool); ITool extTool = ManagedBuildManager.getExtensionTool(tool);
if(extTool.getParent() == toolChain.getSuperClass()) if(extTool.getParent() == toolChain.getSuperClass())
toolChain.addUnusedChild(extTool); toolChain.addUnusedChild(extTool);