mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
JavaDoc
This commit is contained in:
parent
9415c4d5b3
commit
271e78c6a0
8 changed files with 62 additions and 32 deletions
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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));
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
Loading…
Add table
Reference in a new issue