1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
This commit is contained in:
Andrew Gvozdev 2011-12-14 15:51:34 -05:00
parent 9415c4d5b3
commit 271e78c6a0
8 changed files with 62 additions and 32 deletions

View file

@ -270,6 +270,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
@Override @Override
public void registerListener(ICConfigurationDescription cfgDescription) { public void registerListener(ICConfigurationDescription cfgDescription) {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() + "registerListener [" + System.identityHashCode(this) + "] " + this); LanguageSettingsLogger.logInfo(getPrefixForLog() + "registerListener [" + System.identityHashCode(this) + "] " + this);
currentCfgDescription = cfgDescription; currentCfgDescription = cfgDescription;
@ -278,6 +279,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
@Override @Override
public void unregisterListener() { public void unregisterListener() {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() + "unregisterListener [" + System.identityHashCode(this) + "] " + this); LanguageSettingsLogger.logInfo(getPrefixForLog() + "unregisterListener [" + System.identityHashCode(this) + "] " + this);
} }
@ -318,7 +320,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
job.setRule(rule); job.setRule(rule);
job.schedule(); job.schedule();
// TODO - remove me // AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() + "Execution scheduled [" + System.identityHashCode(this) + "] " + this); LanguageSettingsLogger.logInfo(getPrefixForLog() + "Execution scheduled [" + System.identityHashCode(this) + "] " + this);
} }
@ -461,6 +463,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
if (detectedSettingEntries != null && detectedSettingEntries.size() > 0) { if (detectedSettingEntries != null && detectedSettingEntries.size() > 0) {
collected = detectedSettingEntries.size(); collected = detectedSettingEntries.size();
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() LanguageSettingsLogger.logInfo(getPrefixForLog()
+ getClass().getSimpleName() + " collected " + detectedSettingEntries.size() + " entries" + " for language " + currentLanguageId); + getClass().getSimpleName() + " collected " + detectedSettingEntries.size() + " entries" + " for language " + currentLanguageId);

View file

@ -320,6 +320,7 @@ public abstract class AbstractLanguageSettingsOutputScanner extends LanguageSett
protected void setSettingEntries(List<ICLanguageSettingEntry> entries) { protected void setSettingEntries(List<ICLanguageSettingEntry> entries) {
setSettingEntries(currentCfgDescription, currentResource, currentLanguageId, entries); setSettingEntries(currentCfgDescription, currentResource, currentLanguageId, entries);
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() LanguageSettingsLogger.logInfo(getPrefixForLog()
+ getClass().getSimpleName() + " collected " + (entries!=null ? ("" + entries.size()) : "null") + " entries for " + currentResource); + getClass().getSimpleName() + " collected " + (entries!=null ? ("" + entries.size()) : "null") + " entries for " + currentResource);
} }

View file

@ -2041,7 +2041,8 @@ public class PathEntryTranslator {
public boolean visit(PathSettingsContainer container) { public boolean visit(PathSettingsContainer container) {
CResourceData data = (CResourceData)container.getValue(); CResourceData data = (CResourceData)container.getValue();
if (data != null) { if (data != null) {
AG_log(des, kinds, data); // AG FIXME REMOVEME // AG FIXME - temporary log to remove before CDT 9.0 release
temporaryLog(des, kinds, data);
PathEntryCollector child = cr.createChild(container.getPath()); PathEntryCollector child = cr.createChild(container.getPath());
for (int kind : kinds) { for (int kind : kinds) {
@ -2055,8 +2056,9 @@ public class PathEntryTranslator {
return true; return true;
} }
// AG FIXME REMOVEME // AG FIXME - temporary log to remove before CDT 9.0 release
private void AG_log(final ICConfigurationDescription des, final int[] kinds, CResourceData data) { @Deprecated
private void temporaryLog(final ICConfigurationDescription des, final int[] kinds, CResourceData data) {
String kindsStr=""; String kindsStr="";
for (int kind : kinds) { for (int kind : kinds) {
String kstr = LanguageSettingEntriesSerializer.kindToString(kind); String kstr = LanguageSettingEntriesSerializer.kindToString(kind);
@ -2092,7 +2094,7 @@ public class PathEntryTranslator {
return false; return false;
} }
IProject project = des.getProjectDescription().getProject(); IProject project = des.getProjectDescription().getProject();
if (ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(project)) { if (ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(project)) {
IResource rc = getResource(project, data.getPath()); IResource rc = getResource(project, data.getPath());
@ -2100,7 +2102,7 @@ public class PathEntryTranslator {
list.addAll(LanguageSettingsManager.getSettingEntriesByKind(des, rc, lData.getLanguageId(), kind)); list.addAll(LanguageSettingsManager.getSettingEntriesByKind(des, rc, lData.getLanguageId(), kind));
} }
return list.size()>0; return list.size()>0;
} }
// Legacy logic // Legacy logic
boolean supported = false; boolean supported = false;

View file

@ -8,7 +8,8 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.Status;
/** /**
* Temporary class for logging language settings providers development. * AG FIXME -Temporary class for logging language settings providers development.
* To remove before CDT 9.0 release
* *
*/ */
@Deprecated @Deprecated

View file

@ -374,34 +374,55 @@ public class LanguageSettingsProvidersSerializer {
rawGlobalWorkspaceProviders = rawNewProviders; rawGlobalWorkspaceProviders = rawNewProviders;
} }
private static List<LanguageSettingsChangeEvent> createLanguageSettingsChangeEvents(List<LanguageSettingsSerializableProvider> serializableProviders) { /**
* Create event for language settings changes of workspace providers in a project.
*/
private static LanguageSettingsChangeEvent createEvent(ICProjectDescription prjDescription, List<String> providerIds) {
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
for (ILanguageSettingsProvider provider : ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) {
if (isWorkspaceProvider(provider) && providerIds.contains(provider.getId())) {
LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription);
if (event.getConfigurationDescriptionIds().length > 0) {
return event;
}
return null;
}
}
}
}
return null;
}
/**
* Compute events for language settings changes in workspace.
*/
private static List<LanguageSettingsChangeEvent> createLanguageSettingsChangeEvents(List<LanguageSettingsSerializableProvider> providers) {
List<LanguageSettingsChangeEvent> events = new ArrayList<LanguageSettingsChangeEvent>(); List<LanguageSettingsChangeEvent> events = new ArrayList<LanguageSettingsChangeEvent>();
List<String> serializableIds = new ArrayList<String>(); List<String> providerIds = new ArrayList<String>();
for (LanguageSettingsSerializableProvider provider : serializableProviders) { for (LanguageSettingsSerializableProvider provider : providers) {
serializableIds.add(provider.getId()); providerIds.add(provider.getId());
} }
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject[] projects = root.getProjects(); IProject[] projects = root.getProjects();
projects:
for (IProject project : projects) { for (IProject project : projects) {
if (project.isAccessible()) { if (project.isAccessible()) {
ICProjectDescription prjDescription = CCorePlugin.getDefault().getProjectDescription(project, false); ICProjectDescription prjDescription = CCorePlugin.getDefault().getProjectDescription(project, false);
if (prjDescription != null) { if (prjDescription != null) {
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations(); try {
for (ICConfigurationDescription cfgDescription : cfgDescriptions) { LanguageSettingsChangeEvent event = createEvent(prjDescription, providerIds);
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) { if (event != null) {
for (ILanguageSettingsProvider provider : ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) { events.add(event);
if (isWorkspaceProvider(provider) && serializableIds.contains(provider.getId())) {
LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription);
if (event.getConfigurationDescriptionIds().length > 0) {
events.add(event);
}
continue projects;
}
}
} }
} catch (Throwable e) {
// log and swallow any exception
CCorePlugin.log("Error creating event about changes in workspace language settings providers, " //$NON-NLS-1$
+ "project=" + project.getName(), e); //$NON-NLS-1$
} }
} }
} }
@ -416,7 +437,7 @@ projects:
* @throws CoreException * @throws CoreException
*/ */
public static void serializeLanguageSettingsWorkspace() throws CoreException { public static void serializeLanguageSettingsWorkspace() throws CoreException {
// FIXME - temporary log to remove before CDT 9.0 release // AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettingsWorkspace()"); LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettingsWorkspace()");
URI uriStoreWsp = getStoreInWorkspaceArea(STORAGE_WORKSPACE_LANGUAGE_SETTINGS); URI uriStoreWsp = getStoreInWorkspaceArea(STORAGE_WORKSPACE_LANGUAGE_SETTINGS);
@ -588,6 +609,7 @@ projects:
*/ */
public static void serializeLanguageSettings(ICProjectDescription prjDescription) throws CoreException { public static void serializeLanguageSettings(ICProjectDescription prjDescription) throws CoreException {
IProject project = prjDescription.getProject(); IProject project = prjDescription.getProject();
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettings() for " + project); LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettings() for " + project);
try { try {
@ -1098,12 +1120,12 @@ projects:
* @param event the ILanguageSettingsChangeEvent event to be broadcast. * @param event the ILanguageSettingsChangeEvent event to be broadcast.
*/ */
public static void notifyLanguageSettingsChangeListeners(ILanguageSettingsChangeEvent event) { public static void notifyLanguageSettingsChangeListeners(ILanguageSettingsChangeEvent event) {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logWarning("Firing " + event); LanguageSettingsLogger.logWarning("Firing " + event);
Object[] listeners = fLanguageSettingsChangeListeners.getListeners(); Object[] listeners = fLanguageSettingsChangeListeners.getListeners();
for (Object obj : listeners) { for (Object listener : listeners) {
ILanguageSettingsChangeListener listener = (ILanguageSettingsChangeListener) obj; ((ILanguageSettingsChangeListener) listener).handleEvent(event);
listener.handleEvent(event);
} }
} }

View file

@ -52,8 +52,9 @@ public class LanguageSettingsScannerInfoProvider implements IScannerInfoProvider
@Override @Override
public ExtendedScannerInfo getScannerInformation(IResource rc) { public ExtendedScannerInfo getScannerInformation(IResource rc) {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logScannerInfoProvider(rc, this); LanguageSettingsLogger.logScannerInfoProvider(rc, this);
IProject project = rc.getProject(); IProject project = rc.getProject();
if (project==null) if (project==null)
return DUMMY_SCANNER_INFO; return DUMMY_SCANNER_INFO;

View file

@ -78,9 +78,9 @@ public class DescriptionScannerInfoProvider implements IScannerInfoProvider, ICP
@Override @Override
public IScannerInfo getScannerInformation(IResource resource) { public IScannerInfo getScannerInformation(IResource resource) {
// AG FIXME // AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logScannerInfoProvider(resource, this); LanguageSettingsLogger.logScannerInfoProvider(resource, this);
if(!fInited) if(!fInited)
updateProjCfgInfo(CProjectDescriptionManager.getInstance().getProjectDescription(fProject, false)); updateProjCfgInfo(CProjectDescriptionManager.getInstance().getProjectDescription(fProject, false));

View file

@ -98,7 +98,7 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP
*/ */
@Override @Override
public IScannerInfo getScannerInformation(IResource resource) { public IScannerInfo getScannerInformation(IResource resource) {
// AG FIXME // AG FIXME - temporary log to remove before CDT 9.0 release
if (resource instanceof IFile) { if (resource instanceof IFile) {
LanguageSettingsLogger.logInfo("rc="+resource+" (ScannerProvider.getScannerInformation())"); LanguageSettingsLogger.logInfo("rc="+resource+" (ScannerProvider.getScannerInformation())");
} else { } else {