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

Removed unnecessary changes against master

This commit is contained in:
Andrew Gvozdev 2011-12-17 07:03:20 -05:00
parent bbec91c5bc
commit 2559c118ec
4 changed files with 134 additions and 199 deletions

View file

@ -75,7 +75,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
final static Class DP4= Providers.Dummy4.class;
final static Class DP5= Providers.Dummy5.class;
final static Class[] DPS= new Class[] {DP4, DP2, DP1, DP3, DP5};
/*
* Fictional compatibility ranges for testing
*/
@ -83,9 +83,9 @@ public class IndexProviderManagerTest extends IndexTestBase {
final static VersionRange VERSION_401= new VersionRange("[36,37]");
final static VersionRange VERSION_405= new VersionRange("[37,39]");
final static VersionRange VERSION_502= new VersionRange("[89,91]");
final CCorePlugin core= CCorePlugin.getDefault();
public IndexProviderManagerTest() {
super("IndexProviderManagerTest");
}
@ -106,11 +106,11 @@ public class IndexProviderManagerTest extends IndexTestBase {
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
ipm.reset(); ipm.startup();
}
public void testProvider_SimpleLifeCycle_200958() throws Exception {
for (Class element : DPS)
DPT.reset(element);
List cprojects = new ArrayList(), expectedTrace = new ArrayList();
try {
for(int i=0; i<3; i++) {
@ -137,7 +137,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
public void testProvider_OverDeleteAndAdd() throws Exception {
DPT.reset(DP1);
List expectedTrace = new ArrayList();
ICProject cproject = null;
try {
@ -180,7 +180,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
File newLocation = CProjectHelper.freshDir();
IProjectDescription description = cproject.getProject().getDescription();
description.setLocationURI(newLocation.toURI());
cproject.getProject().move(description, IResource.FORCE | IResource.SHALLOW, new NullProgressMonitor());
cproject.getProject().move(description, IResource.FORCE | IResource.SHALLOW, new NullProgressMonitor());
index = CCorePlugin.getIndexManager().getIndex(cproject);
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
@ -190,19 +190,19 @@ public class IndexProviderManagerTest extends IndexTestBase {
}
}
}
public void testVersioning_IncompatibleIgnored() throws Exception {
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
ICProject cproject = null;
try {
cproject= CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
IProject project= cproject.getProject();
MockState mockState = new MockState(cproject);
mockState.setConfig(MockState.REL_V1_ID);
IIndexProvider provider1= new IIndexFragmentProvider() {
IIndexFragment[] fragments= new IIndexFragment[] {
new MockPDOM("contentID.contentA", "36"),
@ -211,11 +211,9 @@ public class IndexProviderManagerTest extends IndexTestBase {
new MockPDOM("contentID.bar", "91"),
new MockPDOM("contentID.baz", "89")
};
@Override
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
return fragments;
}
@Override
public boolean providesFor(ICProject project) throws CoreException {
return true;
}
@ -225,22 +223,20 @@ public class IndexProviderManagerTest extends IndexTestBase {
new MockPDOM("contentID.baz", "90"),
new MockPDOM("contentID.contentA", "38"),
};
@Override
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
return fragments;
}
@Override
public boolean providesFor(ICProject project) throws CoreException {
return true;
}
};
CCorePlugin.getIndexManager().joinIndexer(8000, npm()); // ensure IPM is called only once under test conditions
setExpectedNumberOfLoggedNonOKStatusObjects(3); // foo, bar and baz have no compatible fragments available
ipm.reset(VERSION_405); ipm.startup();
ipm.addIndexProvider(provider1); ipm.addIndexProvider(provider2);
IIndexFragment[] actual = ipm.getProvidedIndexFragments(mockState.getCurrentConfig(), true);
assertEquals(1, actual.length);
assertFragmentPresent("contentID.contentA", "38", actual);
@ -250,19 +246,19 @@ public class IndexProviderManagerTest extends IndexTestBase {
}
}
}
public void testVersioning_NoCompatibleVersionsFound() throws Exception {
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
ICProject cproject = null;
try {
cproject= CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
IProject project= cproject.getProject();
MockState mockState = new MockState(cproject);
mockState.setConfig(MockState.REL_V1_ID);
IIndexProvider provider1= new IIndexFragmentProvider() {
IIndexFragment[] fragments= new IIndexFragment[] {
new MockPDOM("contentID.contentA", "36"),
@ -271,11 +267,9 @@ public class IndexProviderManagerTest extends IndexTestBase {
new MockPDOM("contentID.bar", "91"),
new MockPDOM("contentID.baz", "89")
};
@Override
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
return fragments;
}
@Override
public boolean providesFor(ICProject project) throws CoreException {
return true;
}
@ -284,22 +278,20 @@ public class IndexProviderManagerTest extends IndexTestBase {
IIndexFragment[] fragments= new IIndexFragment[] {
new MockPDOM("contentID.contentA", "41"),
};
@Override
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
return fragments;
}
@Override
public boolean providesFor(ICProject project) throws CoreException {
return true;
}
};
CCorePlugin.getIndexManager().joinIndexer(8000, npm()); // ensure IPM is called only once under test conditions
setExpectedNumberOfLoggedNonOKStatusObjects(1); // contentA has no compatible fragments available
ipm.reset(VERSION_502); ipm.startup();
ipm.addIndexProvider(provider1); ipm.addIndexProvider(provider2);
IIndexFragment[] actual = ipm.getProvidedIndexFragments(mockState.getCurrentConfig(), true);
assertEquals(3, actual.length);
assertFragmentPresent("contentID.foo", "90", actual);
@ -311,7 +303,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
}
}
}
private void assertFragmentPresent(String id, String version, IIndexFragment[] fragments) throws Exception {
for (IIndexFragment candidate : fragments) {
String cid= null, csver= null;
@ -327,49 +319,49 @@ public class IndexProviderManagerTest extends IndexTestBase {
}
fail("Fragment matching (id="+id+",version="+version+") was not present");
}
public void testIndexFactoryConfigurationUsage() throws Exception {
IIndex index;
ICProject cproject = null;
// Modifying the .project file triggers an indexer job, suppress that:
DeltaAnalyzer.sSuppressPotentialTUs= true;
try {
cproject = CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
IProject project= cproject.getProject();
ICProjectDescription pd= core.getProjectDescription(project);
ICConfigurationDescription cfg1= newCfg(pd, "project", "config1");
ICConfigurationDescription cfg2= newCfg(pd, "project", "config2");
core.setProjectDescription(project, pd);
index= CCorePlugin.getIndexManager().getIndex(cproject);
CCorePlugin.getIndexManager().joinIndexer(8000, npm());
DPT.reset(DP1);
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_LINK_SETTINGS_AND_ACTIVE);
assertEquals(0, DPT.getProjectsTrace(DP1).size());
assertEquals(0, DPT.getCfgsTrace(DP1).size());
changeActiveConfiguration(project, cfg1);
DPT.reset(DP1);
index= CCorePlugin.getIndexManager().getIndex(cproject);
assertEquals(0, DPT.getProjectsTrace(DP1).size());
assertEquals(1, DPT.getCfgsTrace(DP1).size());
assertEquals("project.config1", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
changeActiveConfiguration(project, cfg2);
DPT.reset(DP1);
index= CCorePlugin.getIndexManager().getIndex(cproject);
assertEquals(0, DPT.getProjectsTrace(DP1).size());
assertEquals(1, DPT.getCfgsTrace(DP1).size());
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
DPT.reset(DP1);
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_INDEPENDENT);
assertEquals(0, DPT.getProjectsTrace(DP1).size());
assertEquals(0, DPT.getCfgsTrace(DP1).size());
changeActiveConfiguration(project, cfg1);
DPT.reset(DP1);
index= CCorePlugin.getIndexManager().getIndex(cproject);
@ -377,7 +369,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
assertEquals(1, DPT.getCfgsTrace(DP1).size());
// should still be config2, as the change in active configuration does not matter
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
changeActiveConfiguration(project, cfg2);
DPT.reset(DP1);
index= CCorePlugin.getIndexManager().getIndex(cproject);
@ -392,7 +384,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
}
}
}
public void testGetProvidedFragments() throws Exception {
ICProject cproject= CProjectHelper.createCProject("IndexProviderManagerTest", "bin", IPDOMManager.ID_NO_INDEXER);
@ -499,20 +491,20 @@ public class IndexProviderManagerTest extends IndexTestBase {
}
}
}
private ICConfigurationDescription newCfg(ICProjectDescription des, String project, String config) throws CoreException {
CDefaultConfigurationData data= new CDefaultConfigurationData(project+"."+config, project+" "+config+" name", null);
data.initEmptyData();
return des.createConfiguration(CCorePlugin.DEFAULT_PROVIDER_ID, data);
return des.createConfiguration(CCorePlugin.DEFAULT_PROVIDER_ID, data);
}
private void changeActiveConfiguration(IProject project, ICConfigurationDescription cfg) throws CoreException {
ICProjectDescription pd= core.getProjectDescription(project);
pd.setActiveConfiguration(pd.getConfigurationById(cfg.getId()));
core.setProjectDescription(project, pd);
CCorePlugin.getIndexManager().joinIndexer(8000, npm());
}
private void changeConfigRelations(IProject project, int option) throws CoreException {
ICProjectDescription pd= core.getProjectDescription(project);
pd.setConfigurationRelations(option);
@ -528,7 +520,6 @@ class MockStateIndexProvider implements IIndexProvider {
this.targetProject = cproject;
}
@Override
public boolean providesFor(ICProject cproject) throws CoreException {
return this.targetProject.equals(cproject);
}
@ -537,7 +528,7 @@ class MockStateIndexProvider implements IIndexProvider {
class MockStateIndexFragmentProvider extends MockStateIndexProvider implements IIndexFragmentProvider {
private boolean invert;
final IIndexFragment[] fragments;
public void invert() {
invert = !invert;
}
@ -551,7 +542,6 @@ class MockStateIndexFragmentProvider extends MockStateIndexProvider implements I
}
}
@Override
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) throws CoreException {
int index = MockState.states.indexOf(config.getId());
index = invert ? (fragments.length-1)-index : index;
@ -574,201 +564,146 @@ class MockConfig implements ICConfigurationDescription {
this.project= project;
}
@Override
public String getId() {
return id;
}
@Override
public ICConfigExtensionReference create(String extensionPoint,
String extension) throws CoreException {
return null;
}
@Override
public ICExternalSetting createExternalSetting(String[] languageIDs,
String[] contentTypeIds, String[] extensions,
ICSettingEntry[] entries) throws WriteAccessException {
return null;
}
@Override
public ICFileDescription createFileDescription(IPath path,
ICResourceDescription base) throws CoreException,
WriteAccessException {
return null;
}
@Override
public ICFolderDescription createFolderDescription(IPath path,
ICFolderDescription base) throws CoreException,
WriteAccessException {
return null;
}
@Override
public ICConfigExtensionReference[] get(String extensionPointID) {
return null;
}
@Override
public ICBuildSetting getBuildSetting() {
return null;
}
@Override
public String getBuildSystemId() {
return null;
}
@Override
public ICdtVariablesContributor getBuildVariablesContributor() {
return null;
}
@Override
public CConfigurationData getConfigurationData() {
return null;
}
@Override
public String getDescription() {
return null;
}
@Override
public ICExternalSetting[] getExternalSettings() {
return null;
}
@Override
public ICFileDescription[] getFileDescriptions() {
return null;
}
@Override
public ICFolderDescription[] getFolderDescriptions() {
return null;
}
@Override
public ICProjectDescription getProjectDescription() {
return CoreModel.getDefault().getProjectDescription(project);
}
@Override
public Map getReferenceInfo() {
return null;
}
@Override
public ICResourceDescription getResourceDescription(IPath path,
boolean exactPath) {
return null;
}
@Override
public ICResourceDescription[] getResourceDescriptions() {
return null;
}
@Override
public ICFolderDescription getRootFolderDescription() {return null;}
@Override
public Object getSessionProperty(QualifiedName name) {return null;}
@Override
public ICSourceEntry[] getSourceEntries() {return null;}
@Override
public ICTargetPlatformSetting getTargetPlatformSetting() {return null;}
@Override
public boolean isActive() {return false;}
@Override
public boolean isModified() {return false;}
@Override
public boolean isPreferenceConfiguration() {return false;}
@Override
public void remove(ICConfigExtensionReference ext) throws CoreException {}
@Override
public void remove(String extensionPoint) throws CoreException {}
@Override
public void removeExternalSetting(ICExternalSetting setting) throws WriteAccessException {}
@Override
public void removeExternalSettings() throws WriteAccessException {}
@Override
public void removeResourceDescription(ICResourceDescription des)
throws CoreException, WriteAccessException {}
@Override
public void setActive() throws WriteAccessException {}
@Override
public void setConfigurationData(String buildSystemId,
CConfigurationData data) throws WriteAccessException {}
@Override
public void setDescription(String des) throws WriteAccessException {}
@Override
public void setName(String name) throws WriteAccessException {}
@Override
public void setReferenceInfo(Map<String, String> refs) throws WriteAccessException {}
@Override
public void setSessionProperty(QualifiedName name, Object value) {}
@Override
public void setSourceEntries(ICSourceEntry[] entries) throws CoreException,
WriteAccessException {}
@Override
public ICSettingObject[] getChildSettings() {return null;}
@Override
public ICConfigurationDescription getConfiguration() {return null;}
@Override
public String getName() {return null;}
@Override
public ICSettingContainer getParent() {return null;}
@Override
public int getType() {return 0;}
@Override
public boolean isReadOnly() {return false;}
@Override
public boolean isValid() {return false;}
@Override
public ICStorageElement getStorage(String id, boolean create) throws CoreException {
return null;
}
@Override
public ICStorageElement importStorage(String id, ICStorageElement storage) {
return null;
}
@Override
public void removeStorage(String id) throws CoreException {
}
@Override
public ICLanguageSetting getLanguageSettingForFile(IPath path, boolean ignoreExludeStatus) {
return null;
}
@Override
public String[] getExternalSettingsProviderIds() {
return null;
}
@Override
public void setExternalSettingsProviderIds(String[] ids) {}
@Override
public void updateExternalSettingsProviders(String[] ids) {}
@Override
public ICSourceEntry[] getResolvedSourceEntries() {
return null;
}
@Override
public CConfigurationStatus getConfigurationStatus() {
return CConfigurationStatus.CFG_STATUS_OK;
}
@Override
public void setReadOnly(boolean readOnly, boolean keepModify) {}
}
/*
@ -801,12 +736,12 @@ class MockState {
class MockPDOM extends EmptyIndexFragment {
String id;
String version;
MockPDOM(String id, String version) {
this.id= id;
this.version= version;
}
@Override
public String getProperty(String propertyName) throws CoreException {
if(IIndexFragment.PROPERTY_FRAGMENT_ID.equals(propertyName)) {
@ -820,9 +755,9 @@ class MockPDOM extends EmptyIndexFragment {
}
return null;
}
@Override
public String toString() {
return "[Mock index fragment "+id+"."+System.identityHashCode(this)+"]";
}
}
}

View file

@ -147,12 +147,12 @@ public class PDOMManager implements IWritableIndexManager, IListener {
private final PDOMIndexerJob fIndexerJob;
private IPDOMIndexerTask fCurrentTask;
private int fSourceCount, fHeaderCount, fTickCount;
private final LinkedList<Runnable> fChangeEvents= new LinkedList<Runnable>();
private final Job fNotificationJob;
private final AtomicMultiSet<IIndexFileLocation> fFilesIndexedUnconditionlly= new AtomicMultiSet<IIndexFileLocation>();
private final AtomicMultiSet<IIndexFileLocation> fFilesIndexedUnconditionlly= new AtomicMultiSet<IIndexFileLocation>();
/**
* Stores mapping from pdom to project, used to serialize creation of new pdoms.
*/
@ -160,7 +160,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
private Map<File, ICProject> fFileToProject= new HashMap<File, ICProject>();
private ListenerList fChangeListeners= new ListenerList();
private ListenerList fStateListeners= new ListenerList();
private IndexChangeEvent fIndexChangeEvent= new IndexChangeEvent();
private IndexerStateEvent fIndexerStateEvent= new IndexerStateEvent();
@ -170,17 +170,17 @@ public class PDOMManager implements IWritableIndexManager, IListener {
private final ICProjectDescriptionListener fProjectDescriptionListener;
private final JobChangeListener fJobChangeListener;
private final IPreferenceChangeListener fPreferenceChangeListener;
private IndexFactory fIndexFactory= new IndexFactory(this);
private IndexProviderManager fIndexProviderManager = new IndexProviderManager();
/**
* Serializes creation of new indexer, when acquiring the lock you are
* Serializes creation of new indexer, when acquiring the lock you are
* not allowed to hold a lock on fPDOMs.
*/
private Map<ICProject, IndexUpdatePolicy> fUpdatePolicies= new HashMap<ICProject, IndexUpdatePolicy>();
private Set<String> fClosingProjects= new HashSet<String>();
private Map<IProject, PCL> fPrefListeners= new HashMap<IProject, PCL>();
private List<IndexerSetupParticipant> fSetupParticipants= new ArrayList<IndexerSetupParticipant>();
private Set<ICProject> fPostponedProjects= new HashSet<ICProject>();
@ -188,7 +188,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
private boolean fInShutDown;
boolean fTraceIndexerSetup;
public PDOMManager() {
PDOM.sDEBUG_LOCKS= "true".equals(Platform.getDebugOption(CCorePlugin.PLUGIN_ID + "/debug/index/locks")); //$NON-NLS-1$//$NON-NLS-2$
addIndexerSetupParticipant(new WaitForRefreshJobs());
@ -204,7 +204,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
fIndexerJob= new PDOMIndexerJob(this);
fNotificationJob= createNotifyJob();
}
public Job startup() {
fInShutDown= false;
Job postStartupJob= new Job(CCorePlugin.getResourceString("CCorePlugin.startupJob")) { //$NON-NLS-1$
@ -219,10 +219,10 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
};
postStartupJob.setSystem(true);
return postStartupJob;
return postStartupJob;
}
/**
/**
* Called from a job after plugin start.
*/
protected void postStartup() {
@ -234,7 +234,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
adjustCacheSize();
updatePathCanonicalizationStrategy();
fIndexProviderManager.startup();
fTraceIndexerSetup= String.valueOf(true).equals(Platform.getDebugOption(TRACE_INDEXER_SETUP));
final CoreModel model = CoreModel.getDefault();
ResourcesPlugin.getWorkspace().addResourceChangeListener(fCModelListener, IResourceChangeEvent.POST_BUILD);
@ -268,7 +268,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
fTaskQueue.clear();
jobToCancel= fIndexerJob;
}
if (jobToCancel != null) {
assert !Thread.holdsLock(fTaskQueue);
jobToCancel.cancelJobs(null, false);
@ -290,7 +290,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
reindexAll();
}
}
protected void adjustCacheSize() {
IPreferencesService prefs = Platform.getPreferencesService();
int cachePct= prefs.getInt(CCorePlugin.PLUGIN_ID, CCorePreferenceConstants.INDEX_DB_CACHE_SIZE_PCT, 10, null);
@ -313,7 +313,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
/**
* Returns the pdom for the project.
* Returns the pdom for the project.
* @throws CoreException
*/
public IPDOM getPDOM(ICProject project) throws CoreException {
@ -327,9 +327,9 @@ public class PDOMManager implements IWritableIndexManager, IListener {
return pdom;
}
}
/**
* Returns the pdom for the project. The call to the method may cause
* Returns the pdom for the project. The call to the method may cause
* opening the database. In case there is a version mismatch the data
* base is cleared, in case it does not exist it is created. In any
* case a pdom ready to use is returned.
@ -390,7 +390,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
pdom.setASTFilePathResolver(new ProjectIndexerInputAdapter(project, false));
pdom.addListener(this);
fFileToProject.put(dbFile, project);
fProjectToPDOM.put(rproject, pdom);
if (pdomProxy instanceof PDOMProxy) {
@ -438,7 +438,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
public void setDefaultIndexerId(String indexerId) {
IndexerPreferences.setDefaultIndexerId(indexerId);
}
@Override
public String getIndexerId(ICProject project) {
IProject prj= project != null ? project.getProject() : null;
@ -451,7 +451,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
IndexerPreferences.set(prj, IndexerPreferences.KEY_INDEXER_ID, indexerId);
CCoreInternals.savePreferences(prj, IndexerPreferences.getScope(prj) == IndexerPreferences.SCOPE_PROJECT_SHARED);
}
protected void onPreferenceChange(ICProject cproject, PreferenceChangeEvent event) {
if (IndexerPreferences.KEY_UPDATE_POLICY.equals(event.getKey())) {
changeUpdatePolicy(cproject);
@ -482,17 +482,17 @@ public class PDOMManager implements IWritableIndexManager, IListener {
private void changeIndexer(ICProject cproject) throws CoreException {
assert !Thread.holdsLock(fProjectToPDOM);
// if there is no indexer, don't touch the preferences.
IPDOMIndexer oldIndexer= getIndexer(cproject);
if (oldIndexer == null) {
return;
}
IProject prj= cproject.getProject();
String newid= IndexerPreferences.get(prj, IndexerPreferences.KEY_INDEXER_ID, IPDOMManager.ID_NO_INDEXER);
Properties props= IndexerPreferences.getProperties(prj);
// Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=359485
synchronized (new ProjectScope(prj).getNode(CCorePlugin.PLUGIN_ID)) {
synchronized (fUpdatePolicies) {
@ -519,7 +519,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
enqueue(new PDOMRebuildTask(indexer));
}
}}
if (oldIndexer != null) {
stopIndexer(oldIndexer);
}
@ -546,26 +546,26 @@ public class PDOMManager implements IWritableIndexManager, IListener {
void createIndexer(ICProject project, IProgressMonitor pm) throws InterruptedException {
final IProject prj= project.getProject();
final String name = prj.getName();
if (fTraceIndexerSetup)
if (fTraceIndexerSetup)
System.out.println("Indexer: Creation for project " + name); //$NON-NLS-1$
assert !Thread.holdsLock(fProjectToPDOM);
try {
// Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=359485
synchronized (new ProjectScope(prj).getNode(CCorePlugin.PLUGIN_ID)) {
synchronized (fUpdatePolicies) {
if (fClosingProjects.contains(name)) {
if (fTraceIndexerSetup)
if (fTraceIndexerSetup)
System.out.println("Indexer: Aborting setup (1) for closing project " + name + " [1]"); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
WritablePDOM pdom= getOrCreatePDOM(project);
Properties props= IndexerPreferences.getProperties(prj);
IPDOMIndexer indexer= newIndexer(getIndexerId(project), props);
IndexUpdatePolicy policy= createPolicy(project);
boolean rebuild=
boolean rebuild=
pdom.isClearedBecauseOfVersionMismatch() ||
pdom.isCreatedFromScratch() ||
policy.isInitialRebuildRequested();
@ -593,7 +593,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
pdom.releaseReadLock();
}
if (resume) {
if (fTraceIndexerSetup)
if (fTraceIndexerSetup)
System.out.println("Indexer: Resuming for project " + name); //$NON-NLS-1$
enqueue(new PDOMUpdateTask(indexer,
@ -612,7 +612,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
synchronized (new ProjectScope(prj).getNode(CCorePlugin.PLUGIN_ID)) {
synchronized (fUpdatePolicies) {
if (fClosingProjects.contains(name)) {
if (fTraceIndexerSetup)
if (fTraceIndexerSetup)
System.out.println("Indexer: Aborting setup for closing project " + name + " [2]"); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
@ -626,13 +626,13 @@ public class PDOMManager implements IWritableIndexManager, IListener {
IPDOMIndexerTask task= null;
if (operation.wasSuccessful()) {
if (fTraceIndexerSetup)
System.out.println("Indexer: Imported shared index for project " + name); //$NON-NLS-1$
if (fTraceIndexerSetup)
System.out.println("Indexer: Imported shared index for project " + name); //$NON-NLS-1$
task= new PDOMUpdateTask(indexer,
IIndexManager.UPDATE_CHECK_TIMESTAMPS | IIndexManager.UPDATE_CHECK_CONTENTS_HASH);
} else {
if (fTraceIndexerSetup)
System.out.println("Indexer: Rebuiding for project " + name); //$NON-NLS-1$
if (fTraceIndexerSetup)
System.out.println("Indexer: Rebuiding for project " + name); //$NON-NLS-1$
task= new PDOMRebuildTask(indexer);
}
enqueue(task);
@ -644,7 +644,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
}
}
private IPDOMIndexer newIndexer(String indexerId, Properties props) throws CoreException {
IPDOMIndexer indexer = null;
// Look up in extension point
@ -659,14 +659,14 @@ public class PDOMManager implements IWritableIndexManager, IListener {
indexer.setProperties(props);
} catch (CoreException e) {
CCorePlugin.log(e);
}
}
break;
}
}
}
// Unknown index, default to the null one
if (indexer == null)
if (indexer == null)
indexer = new PDOMNullIndexer();
return indexer;
@ -700,7 +700,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
fIndexerJob.schedule();
}
}
private void getReferencingProjects(IProject prj, HashSet<IProject> result) {
LinkedList<IProject> projectsToSearch= new LinkedList<IProject>();
projectsToSearch.add(prj);
@ -731,7 +731,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
return result;
}
void cancelledIndexerJob(boolean byManager) {
synchronized (fTaskQueue) {
fCurrentTask= null;
@ -743,7 +743,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
}
}
@Override
public boolean isIndexerIdle() {
return Job.getJobManager().find(this).length == 0;
@ -753,19 +753,19 @@ public class PDOMManager implements IWritableIndexManager, IListener {
final String name = cproject.getProject().getName();
if (fTraceIndexerSetup) {
System.out.println("Indexer: Adding new project " + name); //$NON-NLS-1$
}
}
synchronized (fUpdatePolicies) {
fClosingProjects.remove(name);
}
setupProject(cproject);
}
void setupProject(final ICProject cproject) {
if (fInShutDown)
return;
synchronized (fProjectQueue) {
fProjectQueue.add(cproject);
}
@ -804,7 +804,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
if (indexer != null && indexer.getID().equals(IPDOMManager.ID_NO_INDEXER)) {
return;
}
if (added.length > 0 || changed.length > 0 || removed.length > 0) {
synchronized (fUpdatePolicies) {
IndexUpdatePolicy policy= createPolicy(project);
@ -835,7 +835,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
public void preDeleteProject(ICProject cproject) {
preRemoveProject(cproject, true);
preRemoveProject(cproject, true);
}
public void preCloseProject(ICProject cproject) {
@ -848,8 +848,8 @@ public class PDOMManager implements IWritableIndexManager, IListener {
final IProject rproject= cproject.getProject();
final String name = rproject.getName();
if (fTraceIndexerSetup)
System.out.println("Indexer: Removing project " + name + "; delete=" + delete); //$NON-NLS-1$ //$NON-NLS-2$
if (fTraceIndexerSetup)
System.out.println("Indexer: Removing project " + name + "; delete=" + delete); //$NON-NLS-1$ //$NON-NLS-2$
IPDOMIndexer indexer;
synchronized (fUpdatePolicies) {
@ -896,12 +896,12 @@ public class PDOMManager implements IWritableIndexManager, IListener {
job.setSystem(true);
job.schedule();
}
synchronized (fUpdatePolicies) {
fUpdatePolicies.remove(cproject);
}
}
void removeProject(ICProject cproject, ICElementDelta delta) {
synchronized (fProjectToPDOM) {
IProject rproject= cproject.getProject();
@ -921,7 +921,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
policy.clearTUs();
policy.setIndexer(null);
}
}
}
}
cancelIndexerJobs(indexer);
}
@ -937,13 +937,13 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
jobToCancel= fIndexerJob;
}
if (jobToCancel != null) {
assert !Thread.holdsLock(fTaskQueue);
jobToCancel.cancelJobs(indexer, true);
}
}
}
private void reindexAll() {
ICProject[] cProjects;
try {
@ -958,7 +958,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
@Override
public void reindex(final ICProject project) {
Job job= new Job(Messages.PDOMManager_notifyJob_label) {
Job job= new Job(Messages.PDOMManager_notifyJob_label) {
@Override
protected IStatus run(IProgressMonitor monitor) {
IPDOMIndexer indexer= null;
@ -999,7 +999,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
public void removeIndexChangeListener(IIndexChangeListener listener) {
fChangeListeners.remove(listener);
}
@Override
public void addIndexerStateListener(IIndexerStateListener listener) {
fStateListeners.add(listener);
@ -1029,7 +1029,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
notify.setSystem(true);
return notify;
}
private void scheduleNotification(Runnable notify) {
if (fInShutDown)
return;
@ -1079,12 +1079,12 @@ public class PDOMManager implements IWritableIndexManager, IListener {
if (fChangeListeners.isEmpty()) {
return;
}
ICProject project;
synchronized (fProjectToPDOM) {
project = fFileToProject.get(pdom.getPath());
}
}
if (project != null) {
final ICProject finalProject= project;
Runnable notify= new Runnable() {
@ -1145,10 +1145,10 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
}
}
int getMonitorMessage(PDOMIndexerJob job, int currentTicks, int base) {
assert !Thread.holdsLock(fTaskQueue);
int sourceCount, sourceEstimate, headerCount, tickCount, tickEstimate;
String detail= null;
synchronized (fTaskQueue) {
@ -1175,14 +1175,14 @@ public class PDOMManager implements IWritableIndexManager, IListener {
detail= PDOMIndexerJob.sMonitorDetail;
}
}
String msg= MessageFormat.format(Messages.PDOMManager_indexMonitorDetail, new Object[] {
new Integer(sourceCount), new Integer(sourceEstimate),
new Integer(headerCount)});
String msg= MessageFormat.format(Messages.PDOMManager_indexMonitorDetail, new Object[] {
new Integer(sourceCount), new Integer(sourceEstimate),
new Integer(headerCount)});
if (detail != null) {
msg += ": " + detail; //$NON-NLS-1$
}
job.subTask(msg);
if (tickCount > 0 && tickCount <= tickEstimate) {
int newTick= tickCount*base/tickEstimate;
@ -1218,7 +1218,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
public IIndex getIndex(ICProject[] projects, int options) throws CoreException {
return fIndexFactory.getIndex(projects, options);
}
/**
* Exports the project PDOM to the specified location, rewriting locations with
* the specified location converter.
@ -1255,7 +1255,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
// overwrite internal location representations
final WritablePDOM newPDOM = new WritablePDOM(targetLocation, pdom.getLocationConverter(), getLinkageFactories());
final WritablePDOM newPDOM = new WritablePDOM(targetLocation, pdom.getLocationConverter(), getLinkageFactories());
newPDOM.acquireWriteLock();
try {
newPDOM.rewriteLocations(newConverter);
@ -1275,7 +1275,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
/**
* Resets the pdom for the project with the provided stream.
* Resets the pdom for the project with the provided stream.
* @throws CoreException
* @throws OperationCanceledException in case the thread was interrupted
* @since 4.0
@ -1294,11 +1294,11 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
if (version > PDOM.getMaxSupportedVersion()) {
final IStatus status = new Status(IStatus.WARNING, CCorePlugin.PLUGIN_ID, 0, CCorePlugin.getResourceString("PDOMManager.unsupportedHigherVersion"), null); //$NON-NLS-1$
throw new CoreException(status);
throw new CoreException(status);
}
if ( !PDOM.isSupportedVersion( version ) ) {
final IStatus status = new Status(IStatus.WARNING, CCorePlugin.PLUGIN_ID, 0, CCorePlugin.getResourceString("PDOMManager.unsupportedVersion"), null); //$NON-NLS-1$
throw new CoreException(status);
throw new CoreException(status);
}
byte[] buffer= new byte[2048];
int read;
@ -1308,7 +1308,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
} finally {
out.close();
}
WritablePDOM pdom= (WritablePDOM) getPDOM(project);
try {
pdom.acquireWriteLock();
@ -1323,7 +1323,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
pdom.releaseWriteLock();
}
}
@Override
public void export(ICProject project, String location, int options, IProgressMonitor monitor) throws CoreException {
TeamPDOMExportOperation operation= new TeamPDOMExportOperation(project);
@ -1331,7 +1331,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
operation.setOptions(options);
operation.run(monitor);
}
/**
* Write metadata appropriate for a project pdom
* @param pdom the pdom to write to
@ -1362,7 +1362,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
for (Map.Entry<ICProject, List<ICElement>> entry : projectsToElements.entrySet()) {
ICProject project = entry.getKey();
List<ICElement> filesAndFolders = entry.getValue();
update(project, filesAndFolders, options);
}
}
@ -1389,14 +1389,14 @@ public class PDOMManager implements IWritableIndexManager, IListener {
} else if (contains(element, other)) {
set.set(j, element);
continue allElements;
}
}
}
set.add(element);
}
}
return result;
}
private boolean contains(final ICElement a, ICElement b) {
if (a.equals(b)) {
return true;
@ -1493,7 +1493,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
if (fPostponedProjects.contains(project)) {
setupProject(project);
}
}
}
}
@Override
@ -1512,7 +1512,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
}
}
/**
* @param project
* @return whether the specified project has been registered. If a project has
@ -1522,7 +1522,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
public boolean isProjectRegistered(ICProject project) {
return getIndexer(project) != null;
}
/**
* @param cproject the project to check
* @return whether the content in the project fragment of the specified project's index
@ -1532,7 +1532,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
public boolean isProjectContentSynced(ICProject cproject) throws CoreException {
if (!"true".equals(IndexerPreferences.get(cproject.getProject(), IndexerPreferences.KEY_INDEX_ALL_FILES, null))) //$NON-NLS-1$
return true; // no check performed in this case
Set<ITranslationUnit> sources= new HashSet<ITranslationUnit>();
cproject.accept(new TranslationUnitCollector(sources, null, new NullProgressMonitor()));
@ -1558,7 +1558,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
return true;
}
private boolean isSubjectToIndexing(ILanguage language) {
final int linkageID=language.getLinkageID();
for (int id : IDS_FOR_LINKAGES_TO_INDEX) {
@ -1580,7 +1580,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
private static boolean areSynchronized(Set<IIndexFileLocation> trail, IIndex index, IResource resource, IIndexFileLocation location) throws CoreException {
if (!trail.contains(location)) {
trail.add(location);
IIndexFile[] file= index.getFiles(location);
// pre-includes may be listed twice (191989)
@ -1606,7 +1606,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
}
}
return true;
}

View file

@ -653,9 +653,9 @@
<extension-point id="templateProcessTypes" name="%templateProcessTypes.name" schema="schema/templateProcessTypes.exsd"/>
<extension-point id="templateAssociations" name="%templateAssociations.name" schema="schema/templateAssociations.exsd"/>
<extension-point id="ScannerInfoProvider2" name="%scannerInfoProvider2.name" schema="schema/ScannerInfoProvider2.exsd"/>
<extension-point id="EFSExtensionProvider" name="EFSExtensionProvider" schema="schema/EFSExtensionProvider.exsd"/>
<extension-point id="EFSExtensionProvider" name="%efsExtensionProvider.name" schema="schema/EFSExtensionProvider.exsd"/>
<extension-point id="RefreshExclusionFactory" name="%refreshExclusionFactory.name" schema="schema/RefreshExclusionFactory.exsd"/>
<extension-point id="LanguageSettingsProvider" name="%LanguageSettingsProvider.name" schema="schema/LanguageSettingsProvider.exsd"/>
<extension-point id="RefreshExclusionFactory" name="Refresh Exclusion Factory" schema="schema/RefreshExclusionFactory.exsd"/>
<extension-point id="UNCPathConverter" name="%uncPathConverter.name" schema="schema/UNCPathConverter.exsd"/>
<extension

View file

@ -713,7 +713,7 @@ outer:
* @return URI
* @since 5.1
*/
public URI toURI(IPath path) {
private URI toURI(IPath path) {
// try {
URI baseURI = getWorkingDirectoryURI();
String uriString = path.toString();