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
public void registerListener(ICConfigurationDescription cfgDescription) {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() + "registerListener [" + System.identityHashCode(this) + "] " + this);
currentCfgDescription = cfgDescription;
@ -278,6 +279,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
@Override
public void unregisterListener() {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog() + "unregisterListener [" + System.identityHashCode(this) + "] " + this);
}
@ -318,7 +320,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
job.setRule(rule);
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);
}
@ -461,6 +463,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
if (detectedSettingEntries != null && detectedSettingEntries.size() > 0) {
collected = detectedSettingEntries.size();
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog()
+ 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) {
setSettingEntries(currentCfgDescription, currentResource, currentLanguageId, entries);
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logInfo(getPrefixForLog()
+ 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) {
CResourceData data = (CResourceData)container.getValue();
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());
for (int kind : kinds) {
@ -2055,8 +2056,9 @@ public class PathEntryTranslator {
return true;
}
// AG FIXME REMOVEME
private void AG_log(final ICConfigurationDescription des, final int[] kinds, CResourceData data) {
// AG FIXME - temporary log to remove before CDT 9.0 release
@Deprecated
private void temporaryLog(final ICConfigurationDescription des, final int[] kinds, CResourceData data) {
String kindsStr="";
for (int kind : kinds) {
String kstr = LanguageSettingEntriesSerializer.kindToString(kind);
@ -2092,7 +2094,7 @@ public class PathEntryTranslator {
return false;
}
IProject project = des.getProjectDescription().getProject();
if (ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(project)) {
IResource rc = getResource(project, data.getPath());
@ -2100,7 +2102,7 @@ public class PathEntryTranslator {
list.addAll(LanguageSettingsManager.getSettingEntriesByKind(des, rc, lData.getLanguageId(), kind));
}
return list.size()>0;
}
// Legacy logic
boolean supported = false;

View file

@ -8,7 +8,8 @@ import org.eclipse.core.runtime.IStatus;
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

View file

@ -374,34 +374,55 @@ public class LanguageSettingsProvidersSerializer {
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<String> serializableIds = new ArrayList<String>();
for (LanguageSettingsSerializableProvider provider : serializableProviders) {
serializableIds.add(provider.getId());
List<String> providerIds = new ArrayList<String>();
for (LanguageSettingsSerializableProvider provider : providers) {
providerIds.add(provider.getId());
}
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject[] projects = root.getProjects();
projects:
for (IProject project : projects) {
if (project.isAccessible()) {
ICProjectDescription prjDescription = CCorePlugin.getDefault().getProjectDescription(project, false);
if (prjDescription != null) {
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
for (ILanguageSettingsProvider provider : ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) {
if (isWorkspaceProvider(provider) && serializableIds.contains(provider.getId())) {
LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription);
if (event.getConfigurationDescriptionIds().length > 0) {
events.add(event);
}
continue projects;
}
}
try {
LanguageSettingsChangeEvent event = createEvent(prjDescription, providerIds);
if (event != null) {
events.add(event);
}
} 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
*/
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()");
URI uriStoreWsp = getStoreInWorkspaceArea(STORAGE_WORKSPACE_LANGUAGE_SETTINGS);
@ -588,6 +609,7 @@ projects:
*/
public static void serializeLanguageSettings(ICProjectDescription prjDescription) throws CoreException {
IProject project = prjDescription.getProject();
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettings() for " + project);
try {
@ -1098,12 +1120,12 @@ projects:
* @param event the ILanguageSettingsChangeEvent event to be broadcast.
*/
public static void notifyLanguageSettingsChangeListeners(ILanguageSettingsChangeEvent event) {
// AG FIXME - temporary log to remove before CDT 9.0 release
LanguageSettingsLogger.logWarning("Firing " + event);
Object[] listeners = fLanguageSettingsChangeListeners.getListeners();
for (Object obj : listeners) {
ILanguageSettingsChangeListener listener = (ILanguageSettingsChangeListener) obj;
listener.handleEvent(event);
for (Object listener : listeners) {
((ILanguageSettingsChangeListener) listener).handleEvent(event);
}
}

View file

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

View file

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

View file

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