Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java4
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/AbstractExportProjectProvider.java28
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/ExternalExportProjectProvider.java22
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/IExportProjectProvider.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java11
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CPPTypedefClone.java3
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IndexFactory.java58
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/AbstractCompositeFactory.java28
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java3
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/IndexProviderManager.java75
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/PDOMCache.java10
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/ReadOnlyPDOMProviderBridge.java18
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java1
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java12
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java14
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java13
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java23
17 files changed, 166 insertions, 162 deletions
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java
index e7437257793..05d009c7e15 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java
@@ -63,7 +63,7 @@ public class LanguageManager {
private static LanguageManager instance;
private Map fLanguageCache = new HashMap();
- private Map fPDOMLinkageFactoryCache= new HashMap();
+ private Map<String, IPDOMLinkageFactory> fPDOMLinkageFactoryCache= new HashMap<String, IPDOMLinkageFactory>();
private Map fContentTypeToLanguageCache= new HashMap();
private Map fLanguageConfigurationCache = new HashMap();
private boolean fIsFullyCached;
@@ -300,7 +300,7 @@ public class LanguageManager {
* @return a map.
* @since 4.0
*/
- public Map getPDOMLinkageFactoryMappings() {
+ public Map<String, IPDOMLinkageFactory> getPDOMLinkageFactoryMappings() {
if (!fPDOMLinkageFactoryCache.isEmpty())
return Collections.unmodifiableMap(fPDOMLinkageFactoryCache);
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/AbstractExportProjectProvider.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/AbstractExportProjectProvider.java
index a763fe991ce..047a07c7b82 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/AbstractExportProjectProvider.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/AbstractExportProjectProvider.java
@@ -24,33 +24,32 @@ import org.eclipse.core.runtime.Status;
/**
- * An IExportProjectProvider suitable for subclassing. It provides convenience methods
- * for obtaining options and their parameters from the command-line.
+ * An IExportProjectProvider implementation intended to be sub-classed by clients. It
+ * provides convenience methods for obtaining options and their parameters from the
+ * command-line.
*
* @see ExternalExportProjectProvider for usage scenarios
*/
public abstract class AbstractExportProjectProvider implements IExportProjectProvider {
public static final IProgressMonitor NPM= new NullProgressMonitor();
- private Map arguments;
+ private Map<String, List<String>> arguments;
private String[] appArguments;
public AbstractExportProjectProvider() {}
/**
- *
- * @return
+ * @return the application arguments
*/
protected String[] getApplicationArguments() {
- return (String[]) appArguments.clone();
+ return appArguments.clone();
}
/*
- * (non-Javadoc)
* @see org.eclipse.cdt.core.index.export.IExportProjectProvider#setApplicationArguments(java.lang.String[])
*/
public void setApplicationArguments(String[] arguments) {
- this.appArguments= (String[]) arguments.clone();
+ this.appArguments= arguments.clone();
this.arguments= Collections.unmodifiableMap(CLIUtil.parseToMap(arguments));
}
@@ -61,7 +60,7 @@ public abstract class AbstractExportProjectProvider implements IExportProjectPro
* the mapping option=>[p1,p2,p3] will be present in the map
* @return a mapping from string option to parameter string list
*/
- protected Map getParsedArgs() {
+ protected Map<String,List<String>> getParsedArgs() {
return arguments;
}
@@ -74,17 +73,16 @@ public abstract class AbstractExportProjectProvider implements IExportProjectPro
* not be present, or if it does not have exactly one parameter
*/
public String getSingleString(String option) throws CoreException {
- return (String) CLIUtil.getArg(arguments, option, 1).get(0);
+ return CLIUtil.getArg(arguments, option, 1).get(0);
}
/**
- *
* @param option
- * @return
+ * @return the list of parameters given with this option
* @throws CoreException
*/
- public List getParameters(String option) {
- return (List) arguments.get(option);
+ public List<String> getParameters(String option) {
+ return arguments.get(option);
}
/**
@@ -105,7 +103,7 @@ public abstract class AbstractExportProjectProvider implements IExportProjectPro
* @return
* @throws CoreException
*/
- public List getParameters(String option, int expected) throws CoreException {
+ public List<String> getParameters(String option, int expected) throws CoreException {
return CLIUtil.getArg(arguments, option, expected);
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/ExternalExportProjectProvider.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/ExternalExportProjectProvider.java
index 0c85d2fdd24..58b62059688 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/ExternalExportProjectProvider.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/ExternalExportProjectProvider.java
@@ -18,7 +18,6 @@ import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -82,7 +81,7 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
}
// -include
- List includeFiles= new ArrayList();
+ List<String> includeFiles= new ArrayList<String>();
if(isPresent(OPT_INCLUDE)) {
includeFiles.addAll(getParameters(OPT_INCLUDE));
}
@@ -112,7 +111,7 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
private ICProject createCCProject(
final String projectName,
final File location,
- final List includeFiles
+ final List<String> includeFiles
) throws CoreException {
final IWorkspace ws = ResourcesPlugin.getWorkspace();
final ICProject newProject[] = new ICProject[1];
@@ -136,11 +135,10 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
content.createLink(new Path(location.getAbsolutePath()), IResource.NONE, null);
// Setup path entries
- List entries= new ArrayList(Arrays.asList(CoreModel.getRawPathEntries(cproject)));
+ List<IPathEntry> entries= new ArrayList<IPathEntry>(Arrays.asList(CoreModel.getRawPathEntries(cproject)));
// pre-include files
- for(Iterator j= includeFiles.iterator(); j.hasNext(); ) {
- String path= (String) j.next();
+ for(String path : includeFiles) {
entries.add(CoreModel.newIncludeFileEntry(project.getFullPath(), new Path(path)));
}
@@ -150,7 +148,7 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
// any additional entries
entries.addAll(getAdditionalRawEntries());
- cproject.setRawPathEntries((IPathEntry[]) entries.toArray(new IPathEntry[entries.size()]),
+ cproject.setRawPathEntries(entries.toArray(new IPathEntry[entries.size()]),
new NullProgressMonitor()
);
@@ -168,8 +166,8 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
* Get additional raw entries (above those added as part of the ExternalExportProjectProvider functionality)
* @return a list of additional entries to add to the project
*/
- protected List getAdditionalRawEntries() {
- List entries= new ArrayList();
+ protected List<IPathEntry> getAdditionalRawEntries() {
+ List<IPathEntry> entries= new ArrayList<IPathEntry>();
entries.add(CoreModel.newIncludeEntry(content.getProjectRelativePath(), null, content.getLocation(), true));
return entries;
}
@@ -181,7 +179,6 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
}
/*
- * (non-Javadoc)
* @see org.eclipse.cdt.core.index.export.IExportProjectProvider#getLocationConverter(org.eclipse.cdt.core.model.ICProject)
*/
public IIndexLocationConverter getLocationConverter(final ICProject cproject) {
@@ -189,11 +186,10 @@ public class ExternalExportProjectProvider extends AbstractExportProjectProvider
}
/*
- * (non-Javadoc)
* @see org.eclipse.cdt.core.index.export.IExportProjectProvider#getExportProperties()
*/
- public Map getExportProperties() {
- Map properties= new HashMap();
+ public Map<String,String> getExportProperties() {
+ Map<String,String> properties= new HashMap<String,String>();
Date now= Calendar.getInstance().getTime();
properties.put(ORG_ECLIPSE_CDT_CORE_INDEX_EXPORT_DATESTAMP,
DateFormat.getDateInstance().format(now)
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/IExportProjectProvider.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/IExportProjectProvider.java
index 8836e0fcd46..c4c55e22192 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/IExportProjectProvider.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/export/IExportProjectProvider.java
@@ -13,8 +13,11 @@ package org.eclipse.cdt.core.index.export;
import java.util.Map;
import org.eclipse.cdt.core.index.IIndexLocationConverter;
+import org.eclipse.cdt.core.index.ResourceContainerRelativeLocationConverter;
+import org.eclipse.cdt.core.index.URIRelativeLocationConverter;
import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
/**
* An IExportProjectProvider provides a configured ICProject suitable set up for
@@ -62,5 +65,5 @@ public interface IExportProjectProvider {
* @return a Map of String typed key value pairs representing ISV specific properties. This
* may return null.
*/
- public Map/*<String,String>*/ getExportProperties();
+ public Map<String,String> getExportProperties();
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java
index f589d60a8fa..4218806dd50 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java
@@ -20,16 +20,13 @@ import org.eclipse.cdt.internal.core.parser.token.KeywordSets;
*
*/
public class ParserFactory {
-
- public static IParserLogService createDefaultLogService()
- {
+ private static IParserLogService defaultLogService = new DefaultLogService();
+
+ public static IParserLogService createDefaultLogService() {
return defaultLogService;
}
- public static Set getKeywordSet( KeywordSetKey key, ParserLanguage language )
- {
+ public static Set<String> getKeywordSet(KeywordSetKey key, ParserLanguage language) {
return KeywordSets.getKeywords( key, language );
}
-
- private static IParserLogService defaultLogService = new DefaultLogService();
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CPPTypedefClone.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CPPTypedefClone.java
index a9cbb165fe2..029220f0b67 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CPPTypedefClone.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CPPTypedefClone.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 QNX Software Systems and others.
+ * Copyright (c) 2007, 2008 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
@@ -47,6 +47,7 @@ public class CPPTypedefClone implements ITypedef, ITypeContainer, IIndexType, IC
public IScope getScope() throws DOMException {
return delegate.getScope();
}
+ @SuppressWarnings("unchecked")
public Object getAdapter(Class adapter) {
return delegate.getAdapter(adapter);
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IndexFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IndexFactory.java
index 1456b8de679..4307facdf79 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IndexFactory.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IndexFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007, 2008 Wind River Systems, Inc. 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
@@ -16,7 +16,6 @@ import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -57,12 +56,11 @@ public class IndexFactory {
boolean addDependent= (options & ADD_DEPENDENT) != 0;
boolean skipProvided= (options & SKIP_PROVIDED) != 0;
- HashMap map= new HashMap();
- Collection selectedProjects= getProjects(projects, addDependencies, addDependent, map, new Integer(1));
+ HashMap<IProject, Integer> map= new HashMap<IProject, Integer>();
+ Collection<ICProject> selectedProjects= getProjects(projects, addDependencies, addDependent, map, new Integer(1));
- HashMap fragments= new LinkedHashMap();
- for (Iterator iter = selectedProjects.iterator(); iter.hasNext(); ) {
- ICProject cproject = (ICProject) iter.next();
+ HashMap<String, IIndexFragment> fragments= new LinkedHashMap<String, IIndexFragment>();
+ for(ICProject cproject : selectedProjects) {
IIndexFragment pdom= fPDOMManager.getPDOM(cproject);
if (pdom != null) {
safeAddFragment(fragments, pdom);
@@ -79,12 +77,11 @@ public class IndexFactory {
int primaryFragmentCount= fragments.size();
if (!addDependencies) {
- projects= (ICProject[]) selectedProjects.toArray(new ICProject[selectedProjects.size()]);
+ projects= selectedProjects.toArray(new ICProject[selectedProjects.size()]);
selectedProjects.clear();
// don't clear the map, so projects are not selected again
selectedProjects= getProjects(projects, true, false, map, new Integer(2));
- for (Iterator iter = selectedProjects.iterator(); iter.hasNext(); ) {
- ICProject cproject = (ICProject) iter.next();
+ for(ICProject cproject : selectedProjects) {
IIndexFragment pdom= fPDOMManager.getPDOM(cproject);
safeAddFragment(fragments, pdom);
@@ -94,12 +91,12 @@ public class IndexFactory {
}
}
- Collection pdoms= fragments.values();
- return new CIndex((IIndexFragment[]) pdoms.toArray(new IIndexFragment[pdoms.size()]), primaryFragmentCount);
+ Collection<IIndexFragment> pdoms= fragments.values();
+ return new CIndex(pdoms.toArray(new IIndexFragment[pdoms.size()]), primaryFragmentCount);
}
public IWritableIndex getWritableIndex(ICProject project) throws CoreException {
- Map readOnlyFrag= new LinkedHashMap();
+ Map<String, IIndexFragment> readOnlyFrag= new LinkedHashMap<String, IIndexFragment>();
IWritableIndexFragment pdom= (IWritableIndexFragment) fPDOMManager.getPDOM(project);
if (pdom == null) {
throw new CoreException(CCorePlugin.createStatus(
@@ -107,23 +104,21 @@ public class IndexFactory {
}
safeAddProvidedFragments(project, readOnlyFrag);
- Collection selectedProjects= getProjects(new ICProject[] {project}, true, false, new HashMap(), new Integer(1));
+ Collection<ICProject> selectedProjects= getProjects(new ICProject[] {project}, true, false, new HashMap<IProject, Integer>(), new Integer(1));
selectedProjects.remove(project);
- for (Iterator iter = selectedProjects.iterator(); iter.hasNext(); ) {
- ICProject cproject = (ICProject) iter.next();
+ for(ICProject cproject : selectedProjects) {
safeAddFragment(readOnlyFrag, fPDOMManager.getPDOM(cproject));
}
- Collection roPdoms= readOnlyFrag.values();
- return new WritableCIndex(pdom, (IIndexFragment[]) roPdoms.toArray(new IIndexFragment[roPdoms.size()]) );
+ Collection<IIndexFragment> roPdoms= readOnlyFrag.values();
+ return new WritableCIndex(pdom, roPdoms.toArray(new IIndexFragment[roPdoms.size()]) );
}
- private Collection getProjects(ICProject[] projects, boolean addDependencies, boolean addDependent, HashMap map, Integer markWith) {
- List projectsToSearch= new ArrayList();
+ private Collection<ICProject> getProjects(ICProject[] projects, boolean addDependencies, boolean addDependent, HashMap<IProject, Integer> map, Integer markWith) {
+ List<IProject> projectsToSearch= new ArrayList<IProject>();
- for (int i = 0; i < projects.length; i++) {
- ICProject cproject = projects[i];
+ for(ICProject cproject : projects) {
IProject project= cproject.getProject();
checkAddProject(project, map, projectsToSearch, markWith);
projectsToSearch.add(project);
@@ -131,7 +126,7 @@ public class IndexFactory {
if (addDependencies || addDependent) {
for (int i=0; i<projectsToSearch.size(); i++) {
- IProject project= (IProject) projectsToSearch.get(i);
+ IProject project= projectsToSearch.get(i);
IProject[] nextLevel;
try {
if (addDependencies) {
@@ -154,11 +149,10 @@ public class IndexFactory {
}
CoreModel cm= CoreModel.getDefault();
- Collection result= new ArrayList();
- for (Iterator iter= map.entrySet().iterator(); iter.hasNext(); ) {
- Map.Entry entry= (Map.Entry) iter.next();
+ Collection<ICProject> result= new ArrayList<ICProject>();
+ for(Map.Entry<IProject, Integer> entry : map.entrySet()) {
if (entry.getValue() == markWith) {
- ICProject cproject= cm.create((IProject) entry.getKey());
+ ICProject cproject= cm.create(entry.getKey());
if (cproject != null) {
result.add(cproject);
}
@@ -167,7 +161,7 @@ public class IndexFactory {
return result;
}
- private void checkAddProject(IProject project, HashMap map, List projectsToSearch, Integer markWith) {
+ private void checkAddProject(IProject project, HashMap<IProject, Integer> map, List<IProject> projectsToSearch, Integer markWith) {
if (map.get(project) == null) {
if (project.isOpen()) {
map.put(project, markWith);
@@ -185,7 +179,7 @@ public class IndexFactory {
* @param id2fragment the map to add the entry to
* @param fragment the fragment or null (which will result in no action)
*/
- private void safeAddFragment(Map id2fragment, IIndexFragment fragment) {
+ private void safeAddFragment(Map<String, IIndexFragment> id2fragment, IIndexFragment fragment) {
if(fragment!=null) {
try {
fragment.acquireReadLock();
@@ -210,7 +204,7 @@ public class IndexFactory {
* @param cproject
* @param fragments
*/
- private void safeAddProvidedFragments(ICProject cproject, Map fragments) {
+ private void safeAddProvidedFragments(ICProject cproject, Map<String, IIndexFragment> fragments) {
ICProjectDescription pd= CoreModel.getDefault().getProjectDescription(cproject.getProject(), false);
if(pd!=null) {
IndexProviderManager ipm = CCoreInternals.getPDOMManager().getIndexProviderManager();
@@ -218,8 +212,8 @@ public class IndexFactory {
if (cfg != null) {
try {
IIndexFragment[] pFragments= ipm.getProvidedIndexFragments(cfg);
- for(int i=0; i<pFragments.length; i++) {
- safeAddFragment(fragments, pFragments[i]);
+ for(IIndexFragment fragment : pFragments) {
+ safeAddFragment(fragments, fragment);
}
} catch(CoreException ce) {
CCorePlugin.log(ce);
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/AbstractCompositeFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/AbstractCompositeFactory.java
index 8a5afe29c22..64db26166cf 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/AbstractCompositeFactory.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/AbstractCompositeFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2008 Symbian 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
@@ -29,7 +29,7 @@ import org.eclipse.core.runtime.CoreException;
*/
public abstract class AbstractCompositeFactory implements ICompositesFactory {
protected IIndex index;
- private Comparator fragmentComparator;
+ private Comparator<IIndexFragmentBinding> fragmentComparator;
public AbstractCompositeFactory(IIndex index) {
this.index= index;
@@ -42,7 +42,6 @@ public abstract class AbstractCompositeFactory implements ICompositesFactory {
}
/*
- * (non-Javadoc)
* @see org.eclipse.cdt.internal.core.index.composite.ICompositesFactory#getCompositeBindings(org.eclipse.cdt.core.index.IIndex, org.eclipse.cdt.internal.core.index.IIndexFragmentBinding[])
*/
public final IIndexBinding[] getCompositeBindings(IIndexFragmentBinding[] bindings) {
@@ -52,7 +51,7 @@ public abstract class AbstractCompositeFactory implements ICompositesFactory {
return result;
}
- /* (non-Javadoc)
+ /*
* @see org.eclipse.cdt.internal.core.index.composite.cpp.ICompositesFactory#getComposites(org.eclipse.cdt.core.index.IIndex, org.eclipse.cdt.internal.core.index.IIndexFragmentBinding[][])
*/
public final IIndexBinding[] getCompositeBindings(IIndexFragmentBinding[][] fragmentBindings) {
@@ -66,11 +65,11 @@ public abstract class AbstractCompositeFactory implements ICompositesFactory {
* @return an array of unique bindings
*/
protected IIndexFragmentBinding[] mergeBindingArrays(IIndexFragmentBinding[][] fragmentBindings) {
- TreeSet ts = new TreeSet(fragmentComparator);
+ TreeSet<IIndexFragmentBinding> ts = new TreeSet<IIndexFragmentBinding>(fragmentComparator);
for(int i=0; i<fragmentBindings.length; i++)
for(int j=0; j<fragmentBindings[i].length; j++)
ts.add(fragmentBindings[i][j]);
- return (IIndexFragmentBinding[]) ts.toArray(new IIndexFragmentBinding[ts.size()]);
+ return ts.toArray(new IIndexFragmentBinding[ts.size()]);
}
/**
@@ -98,23 +97,18 @@ public abstract class AbstractCompositeFactory implements ICompositesFactory {
throw new CompositingNotImplementedError();
}
- private static class FragmentBindingComparator implements Comparator {
+ private static class FragmentBindingComparator implements Comparator<IIndexFragmentBinding> {
private IIndexFragmentBindingComparator[] comparators;
FragmentBindingComparator(IIndexFragmentBindingComparator[] comparators) {
this.comparators= comparators;
}
- public int compare(Object o1, Object o2) {
- if(o1 instanceof IIndexFragmentBinding && o2 instanceof IIndexFragmentBinding) {
- IIndexFragmentBinding f1= (IIndexFragmentBinding) o1;
- IIndexFragmentBinding f2= (IIndexFragmentBinding) o2;
-
- for(int i=0; i<comparators.length; i++) {
- int cmp= comparators[i].compare(f1, f2);
- if(cmp!=Integer.MIN_VALUE) {
- return cmp;
- }
+ public int compare(IIndexFragmentBinding f1, IIndexFragmentBinding f2) {
+ for(int i=0; i<comparators.length; i++) {
+ int cmp= comparators[i].compare(f1, f2);
+ if(cmp!=Integer.MIN_VALUE) {
+ return cmp;
}
}
throw new IllegalArgumentException();
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java
index 71385829800..576ad0afe23 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java
@@ -18,7 +18,6 @@ import org.eclipse.cdt.core.dom.ast.IScope;
import org.eclipse.cdt.core.index.IIndexBinding;
import org.eclipse.cdt.core.index.IIndexFile;
import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding;
-import org.eclipse.cdt.internal.core.index.IIndexScope;
import org.eclipse.core.runtime.CoreException;
/**
@@ -73,7 +72,7 @@ public abstract class CompositeIndexBinding implements IIndexBinding {
}
public IScope getScope() throws DOMException {
- return cf.getCompositeScope((IIndexScope)rbinding.getScope());
+ return cf.getCompositeScope(rbinding.getScope());
}
public boolean hasDefinition() throws CoreException {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/IndexProviderManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/IndexProviderManager.java
index 0a134b6dc9e..e5a6960f894 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/IndexProviderManager.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/IndexProviderManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2008 Symbian 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
@@ -67,8 +67,8 @@ public final class IndexProviderManager implements IElementChangedListener {
private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
private IIndexFragmentProvider[] allProviders;
- private Map/*<List,Boolean>*/ provisionMap;
- private Set/*<String>*/ compatibleFragmentUnavailable;
+ private Map<ProvisionMapKey,Boolean> provisionMap;
+ private Set<String> compatibleFragmentUnavailable;
private VersionRange pdomVersionRange;
public IndexProviderManager() {
@@ -88,13 +88,13 @@ public final class IndexProviderManager implements IElementChangedListener {
*/
public void reset(VersionRange pdomVersionRange) {
this.allProviders= new IIndexFragmentProvider[0];
- this.provisionMap= new HashMap();
+ this.provisionMap= new HashMap<ProvisionMapKey,Boolean>();
this.pdomVersionRange= pdomVersionRange;
- this.compatibleFragmentUnavailable= new HashSet();
+ this.compatibleFragmentUnavailable= new HashSet<String>();
}
public void startup() {
- List providers = new ArrayList();
+ List<IIndexProvider> providers = new ArrayList<IIndexProvider>();
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint indexProviders = registry.getExtensionPoint(CCorePlugin.INDEX_UNIQ_ID);
IExtension[] extensions = indexProviders.getExtensions();
@@ -123,7 +123,7 @@ public final class IndexProviderManager implements IElementChangedListener {
}
CoreModel.getDefault().addElementChangedListener(this);
- this.allProviders = (IIndexFragmentProvider[]) providers.toArray(new IIndexFragmentProvider[providers.size()]);
+ this.allProviders = providers.toArray(new IIndexFragmentProvider[providers.size()]);
}
/**
@@ -135,7 +135,7 @@ public final class IndexProviderManager implements IElementChangedListener {
* @return the array of IIndexFragment objects for the current state
*/
public IIndexFragment[] getProvidedIndexFragments(ICConfigurationDescription config) throws CoreException {
- Map id2fragment = new HashMap();
+ Map<String, IIndexFragment> id2fragment = new HashMap<String, IIndexFragment>();
IProject project= config.getProjectDescription().getProject();
for(int i=0; i<allProviders.length; i++) {
@@ -158,11 +158,10 @@ public final class IndexProviderManager implements IElementChangedListener {
}
// Make log entries for any fragments which have no compatible equivalents
- List preresult= new ArrayList();
- for(Iterator i=id2fragment.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry entry= (Map.Entry) i.next();
+ List<IIndexFragment> preresult= new ArrayList<IIndexFragment>();
+ for(Map.Entry<String, IIndexFragment> entry : id2fragment.entrySet()) {
if(entry.getValue()==null) {
- String key= (String) entry.getKey();
+ String key= entry.getKey();
if(!compatibleFragmentUnavailable.contains(key)) {
String msg= MessageFormat.format(
Messages.IndexProviderManager_NoCompatibleFragmentsAvailable,
@@ -176,7 +175,7 @@ public final class IndexProviderManager implements IElementChangedListener {
preresult.add(entry.getValue());
}
}
- return (IIndexFragment[]) preresult.toArray(new IIndexFragment[preresult.size()]);
+ return preresult.toArray(new IIndexFragment[preresult.size()]);
}
/**
@@ -201,7 +200,7 @@ public final class IndexProviderManager implements IElementChangedListener {
* @param id2fragment
* @param candidate
*/
- private void processCandidate(Map id2fragment, IIndexFragment candidate) throws InterruptedException, CoreException {
+ private void processCandidate(Map<String, IIndexFragment> id2fragment, IIndexFragment candidate) throws InterruptedException, CoreException {
String cid= null, csver= null, cformatID= null;
try {
candidate.acquireReadLock();
@@ -214,7 +213,7 @@ public final class IndexProviderManager implements IElementChangedListener {
assert cid!=null && csver!=null && cformatID!=null;
Version cver= Version.parseVersion(csver); // illegal argument exception
- IIndexFragment existing= (IIndexFragment) id2fragment.get(cid);
+ IIndexFragment existing= id2fragment.get(cid);
if(getCurrentlySupportedVersionRangeForFormat(cformatID).isIncluded(cver)) {
if(existing != null) {
@@ -284,9 +283,7 @@ public final class IndexProviderManager implements IElementChangedListener {
}
private boolean providesForProject(IIndexProvider provider, IProject project) {
- List key = new ArrayList();
- key.add(provider);
- key.add(project);
+ ProvisionMapKey key= new ProvisionMapKey(provider, project);
if(!provisionMap.containsKey(key)) {
try {
@@ -298,7 +295,7 @@ public final class IndexProviderManager implements IElementChangedListener {
}
}
- return ((Boolean) provisionMap.get(key)).booleanValue();
+ return provisionMap.get(key).booleanValue();
}
public void elementChanged(ElementChangedEvent event) {
@@ -324,18 +321,46 @@ public final class IndexProviderManager implements IElementChangedListener {
final ICProject cproject = (ICProject)delta.getElement();
switch (delta.getKind()) {
case ICElementDelta.REMOVED:
- List toRemove = new ArrayList();
- for(Iterator i = provisionMap.keySet().iterator(); i.hasNext(); ) {
- List key = (List) i.next();
- if(key.contains(cproject.getProject())) {
+ List<ProvisionMapKey> toRemove = new ArrayList<ProvisionMapKey>();
+ for(Iterator<ProvisionMapKey> i = provisionMap.keySet().iterator(); i.hasNext(); ) {
+ ProvisionMapKey key = i.next();
+ if(key.getProject().equals(cproject.getProject())) {
toRemove.add(key);
}
}
- for(Iterator i = toRemove.iterator(); i.hasNext(); ) {
- provisionMap.remove(i.next());
+ for(ProvisionMapKey key : toRemove) {
+ provisionMap.remove(key);
}
break;
}
}
}
+
+ private static class ProvisionMapKey {
+ private final IIndexProvider provider;
+ private final IProject project;
+
+ ProvisionMapKey(IIndexProvider provider, IProject project) {
+ this.provider= provider;
+ this.project= project;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if(obj instanceof ProvisionMapKey) {
+ ProvisionMapKey other= (ProvisionMapKey) obj;
+ return other.project.equals(project) && other.provider.equals(provider);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return project.hashCode() ^ provider.hashCode();
+ }
+
+ public IProject getProject() {
+ return project;
+ }
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/PDOMCache.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/PDOMCache.java
index 7b56eef267c..3f50cd5c2ea 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/PDOMCache.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/PDOMCache.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2008 Symbian 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
@@ -26,13 +26,13 @@ import org.eclipse.core.runtime.IPath;
* Internal singleton map maintained for non-project PDOM objects
*/
class PDOMCache {
- private Map/*<File, PDOM>*/ path2pdom; // gives the PDOM for a particular path
+ private Map<File, PDOM> path2pdom; // gives the PDOM for a particular path
private static PDOMCache singleton;
private static Object singletonMutex = new Object();
private PDOMCache() {
- this.path2pdom = new HashMap();
+ this.path2pdom = new HashMap<File, PDOM>();
}
/**
@@ -61,11 +61,11 @@ class PDOMCache {
synchronized(path2pdom) {
if(path2pdom.containsKey(file)) {
- result = (PDOM) path2pdom.get(file);
+ result= path2pdom.get(file);
}
if(result==null) {
try {
- result = new PDOM(file, converter, LanguageManager.getInstance().getPDOMLinkageFactoryMappings());
+ result= new PDOM(file, converter, LanguageManager.getInstance().getPDOMLinkageFactoryMappings());
path2pdom.put(file, result);
} catch(CoreException ce) {
CCorePlugin.log(ce);
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/ReadOnlyPDOMProviderBridge.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/ReadOnlyPDOMProviderBridge.java
index 9e52f5021e9..246a922e574 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/ReadOnlyPDOMProviderBridge.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/provider/ReadOnlyPDOMProviderBridge.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2008 Symbian 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
@@ -28,24 +28,24 @@ public class ReadOnlyPDOMProviderBridge implements IIndexFragmentProvider {
protected IReadOnlyPDOMProvider opp;
public ReadOnlyPDOMProviderBridge(IReadOnlyPDOMProvider opp) {
- this.opp = opp;
+ this.opp= opp;
}
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) throws CoreException {
- IPDOMDescriptor[] descs = opp.getDescriptors(config);
+ IPDOMDescriptor[] descriptions = opp.getDescriptors(config);
- List preresult = new ArrayList();
+ List<PDOM> result = new ArrayList<PDOM>();
- if(descs!=null) {
- for(int i=0; i<descs.length; i++) {
- PDOM pdom= PDOMCache.getInstance().getPDOM(descs[i].getLocation(), descs[i].getIndexLocationConverter());
+ if(descriptions!=null) {
+ for(IPDOMDescriptor dsc : descriptions) {
+ PDOM pdom= PDOMCache.getInstance().getPDOM(dsc.getLocation(), dsc.getIndexLocationConverter());
if(pdom!=null) {
- preresult.add(pdom);
+ result.add(pdom);
}
}
}
- return (IIndexFragment[]) preresult.toArray(new IIndexFragment[preresult.size()]);
+ return result.toArray(new IIndexFragment[result.size()]);
}
public boolean providesFor(ICProject cproject) throws CoreException {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java
index 94c85b8e71b..bcdfe9deaf8 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java
@@ -368,7 +368,6 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
}
- @SuppressWarnings("unchecked")
private Map<String, IPDOMLinkageFactory> getLinkageFactories() {
return LanguageManager.getInstance().getPDOMLinkageFactoryMappings();
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
index 27a23cf881e..91e636776a9 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2008 Symbian 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
@@ -80,11 +80,11 @@ public class DBProperties {
}
/**
- * Returns a Set of property names (Strings) stored in this object
- * @return a Set of property names (Strings) stored in this object
+ * Returns the Set of property names stored in this object
+ * @return the Set of property names stored in this object
* @throws CoreException
*/
- public Set getKeySet() throws CoreException {
+ public Set<String> getKeySet() throws CoreException {
return DBProperty.getKeySet(db, index);
}
@@ -225,8 +225,8 @@ public class DBProperties {
return result[0];
}
- public static Set getKeySet(final Database db, final BTree index) throws CoreException {
- final Set result= new HashSet();
+ public static Set<String> getKeySet(final Database db, final BTree index) throws CoreException {
+ final Set<String> result= new HashSet<String>();
index.accept(new IBTreeVisitor(){
public int compare(int record) throws CoreException {
return 0;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java
index 8b086062f16..b60bbc73ff9 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java
@@ -36,8 +36,8 @@ public class CLIUtil {
* @return
* @throws CoreException if the number of parameters is not the specified expected number
*/
- public static List getArg(Map arguments, String opt, int number) throws CoreException {
- List list = (List) arguments.get(opt);
+ public static List<String> getArg(Map<String, List<String>> arguments, String opt, int number) throws CoreException {
+ List<String> list = arguments.get(opt);
if(list==null || list.size()!=number) {
String msg= MessageFormat.format(Messages.CLIUtil_OptionParametersMismatch, new Object[] {opt, ""+number}); //$NON-NLS-1$
GeneratePDOMApplication.fail(msg);
@@ -51,19 +51,19 @@ public class CLIUtil {
* @param args
* @return
*/
- public static Map/*<String,List<String>>*/ parseToMap(String[] args) {
- Map result = new HashMap();
+ public static Map<String,List<String>> parseToMap(String[] args) {
+ Map<String,List<String>> result = new HashMap<String,List<String>>();
String current = null;
for(int i=0; i<args.length; i++) {
if(args[i].startsWith("-")) { //$NON-NLS-1$
current = args[i];
- result.put(current, new ArrayList());
+ result.put(current, new ArrayList<String>());
} else {
if(current==null) {
current= UNQUALIFIED_PARAMETERS;
- result.put(current, new ArrayList());
+ result.put(current, new ArrayList<String>());
}
- ((List) result.get(current)).add(args[i]);
+ (result.get(current)).add(args[i]);
}
}
return result;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java
index 1fc92e6b642..15a5de9474b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java
@@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.pdom.export;
import java.io.File;
import java.text.MessageFormat;
-import java.util.Iterator;
import java.util.Map;
import org.eclipse.cdt.core.CCorePlugin;
@@ -34,8 +33,8 @@ import org.eclipse.core.runtime.NullProgressMonitor;
* An ISafeRunnable which
* <ul>
* <li>Creates a project for export
- * <li>Exports the pdom
- * <li>Writes new properties to the pdom
+ * <li>Exports the PDOM
+ * <li>Writes new properties to the PDOM
* <ul>
*/
public class GeneratePDOM implements ISafeRunnable {
@@ -82,11 +81,10 @@ public class GeneratePDOM implements ISafeRunnable {
WritablePDOM exportedPDOM= new WritablePDOM(targetLocation, converter, LanguageManager.getInstance().getPDOMLinkageFactoryMappings());
exportedPDOM.acquireWriteLock(0);
try {
- Map exportProperties= pm.getExportProperties();
+ Map<String,String> exportProperties= pm.getExportProperties();
if(exportProperties!=null) {
- for(Iterator i = exportProperties.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry entry = (Map.Entry) i.next();
- exportedPDOM.setProperty((String) entry.getKey(), (String) entry.getValue());
+ for(Map.Entry<String,String> entry : exportProperties.entrySet()) {
+ exportedPDOM.setProperty(entry.getKey(), entry.getValue());
}
}
// fake PDOM-version to that which can be safely read by the CDT-version
@@ -104,7 +102,6 @@ public class GeneratePDOM implements ISafeRunnable {
}
public void handleException(Throwable exception) {
- // subclass for custom behaviour
CCorePlugin.log(exception);
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java
index 2759823bb10..959134c21b1 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java
@@ -14,6 +14,7 @@ import java.io.File;
import java.io.PrintStream;
import java.text.MessageFormat;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.eclipse.cdt.core.CCorePlugin;
@@ -53,7 +54,7 @@ public class GeneratePDOMApplication implements IApplication {
*/
public static final int ECODE_EXPECTED_FAILURE= 1;
- private static Map/*<String,IProjectForExportManager>*/ projectInitializers;
+ private static Map<String,IExportProjectProvider> projectInitializers;
/**
* Starts this application
@@ -76,7 +77,7 @@ public class GeneratePDOMApplication implements IApplication {
private Object startImpl(IApplicationContext context) throws CoreException {
String[] appArgs= (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
- Map arguments= CLIUtil.parseToMap(appArgs);
+ Map<String,List<String>> arguments= CLIUtil.parseToMap(appArgs);
output(Messages.GeneratePDOMApplication_Initializing);
setupCLIProgressProvider();
@@ -86,17 +87,17 @@ public class GeneratePDOMApplication implements IApplication {
output(MessageFormat.format(Messages.GeneratePDOMApplication_UsingDefaultProjectProvider, new Object[] {DEFAULT_PROJECT_PROVIDER}));
pproviderFQN= DEFAULT_PROJECT_PROVIDER;
} else {
- pproviderFQN= (String) CLIUtil.getArg(arguments, OPT_PROJECTPROVIDER, 1).get(0);
+ pproviderFQN= CLIUtil.getArg(arguments, OPT_PROJECTPROVIDER, 1).get(0);
}
- String target= (String) CLIUtil.getArg(arguments, OPT_TARGET, 1).get(0);
+ String target= CLIUtil.getArg(arguments, OPT_TARGET, 1).get(0);
boolean quiet= arguments.get(OPT_QUIET)!=null;
String indexerID= IPDOMManager.ID_FAST_INDEXER;
- String[] indexerIDs= (String[]) arguments.get(OPT_INDEXER_ID);
+ List<String> indexerIDs= arguments.get(OPT_INDEXER_ID);
if(indexerIDs!=null) {
- if(indexerIDs.length==1) {
- indexerID= indexerIDs[0];
- } else if(indexerIDs.length>1) {
+ if(indexerIDs.size()==1) {
+ indexerID= indexerIDs.get(0);
+ } else if(indexerIDs.size()>1) {
fail(MessageFormat.format(Messages.GeneratePDOMApplication_InvalidIndexerID, new Object[] {OPT_INDEXER_ID}));
}
}
@@ -149,7 +150,7 @@ public class GeneratePDOMApplication implements IApplication {
*/
private static synchronized IExportProjectProvider getExportProjectProvider(String fqn) {
if(projectInitializers==null) {
- projectInitializers = new HashMap();
+ projectInitializers = new HashMap<String, IExportProjectProvider>();
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint indexExtensions = registry.getExtensionPoint(CCorePlugin.INDEX_UNIQ_ID);
IExtension[] extensions = indexExtensions.getExtensions();
@@ -170,12 +171,12 @@ public class GeneratePDOMApplication implements IApplication {
}
}
- IExportProjectProvider initer = (IExportProjectProvider) projectInitializers.get(fqn);
+ IExportProjectProvider initer = projectInitializers.get(fqn);
return initer;
}
/**
- * In this application, the usual progress reports are redirected to stdoutt
+ * In this application, the usual progress reports are redirected to standard out
*/
private void setupCLIProgressProvider() {
ProgressProvider pp = new ProgressProvider() {

Back to the top