diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java
index f7dda7b3f10..002705bf348 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java
@@ -12,9 +12,6 @@
*******************************************************************************/
package org.eclipse.cdt.core.model;
-import java.net.URI;
-import java.util.List;
-
import org.eclipse.cdt.core.CCProjectNature;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.CProjectNature;
@@ -62,6 +59,9 @@ import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import java.net.URI;
+import java.util.List;
+
/**
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
@@ -71,9 +71,6 @@ public class CoreModel {
private static CModelManager manager = CModelManager.getDefault();
private static PathEntryManager pathEntryManager = PathEntryManager.getDefault();
private static CProjectDescriptionManager descriptionManager = CProjectDescriptionManager.getInstance();
-
-// private static String FILE_EXT_PATTERN = "*."; //$NON-NLS-1$
-// private static int FILE_EXT_PATTERN_LENGTH = FILE_EXT_PATTERN.length();
public final static String CORE_MODEL_ID = CCorePlugin.PLUGIN_ID + ".coremodel"; //$NON-NLS-1$
@@ -90,7 +87,7 @@ public class CoreModel {
public ITranslationUnit createTranslationUnitFrom(ICProject cproject, IPath path) {
return manager.createTranslationUnitFrom(cproject, path);
}
-
+
/**
* Creates a translation from a location URI. Returns null if not found.
* @since 5.0
@@ -101,12 +98,12 @@ public class CoreModel {
/**
* Returns the C model element corresponding to the given handle identifier
- * generated by ICElement.getHandleIdentifier()
, or
- * null
if unable to create the associated element.
+ * generated by {@code ICElement.getHandleIdentifier()}, or
+ * {@code null} if unable to create the associated element.
*
* @param handleIdentifier the given handle identifier
* @return the C element corresponding to the handle identifier
- *
+ *
* @since 5.0
*/
public static ICElement create(String handleIdentifier) {
@@ -151,9 +148,9 @@ public class CoreModel {
/**
* Returns the C model.
- *
+ *
* @param root the given root
- * @return the C model, or null
if the root is null
+ * @return the C model, or {@code null} if the root is null
*/
public static ICModel create(IWorkspaceRoot root) {
if (root == null) {
@@ -161,6 +158,7 @@ public class CoreModel {
}
return manager.getCModel();
}
+
/**
* Returns the default ICModel.
*/
@@ -279,8 +277,9 @@ public class CoreModel {
if (contentType != null) {
String id = contentType.getId();
if (CCorePlugin.CONTENT_TYPE_CHEADER.equals(id)
- || CCorePlugin.CONTENT_TYPE_CXXHEADER.equals(id))
+ || CCorePlugin.CONTENT_TYPE_CXXHEADER.equals(id)) {
return false;
+ }
return CCorePlugin.CONTENT_TYPE_CSOURCE.equals(id)
|| CCorePlugin.CONTENT_TYPE_CXXSOURCE.equals(id)
@@ -384,34 +383,26 @@ public class CoreModel {
* Return true if project has C nature.
*/
public static boolean hasCNature(IProject project) {
- boolean ok = false;
try {
- ok = (project.isOpen() && project.hasNature(CProjectNature.C_NATURE_ID));
+ return project.isOpen() && project.hasNature(CProjectNature.C_NATURE_ID);
} catch (CoreException e) {
- //throws exception if the project is not open.
- //System.out.println (e);
- //e.printStackTrace();
}
- return ok;
+ return false;
}
/**
* Return true if project has C++ nature.
*/
public static boolean hasCCNature(IProject project) {
- boolean ok = false;
try {
- ok = (project.isOpen() && project.hasNature(CCProjectNature.CC_NATURE_ID));
+ return project.isOpen() && project.hasNature(CCProjectNature.CC_NATURE_ID);
} catch (CoreException e) {
- //throws exception if the project is not open.
- //System.out.println (e);
- //e.printStackTrace();
}
- return ok;
+ return false;
}
/**
- * Creates and returns a new non-exported entry of kind CDT_PROJECT
+ * Creates and returns a new non-exported entry of kind {@code CDT_PROJECT}
* for the project identified by the given absolute path.
*
* A project entry is used to denote a prerequisite project. The @@ -421,13 +412,13 @@ public class CoreModel { * to the workspace root. *
* The resulting entry is not exported to dependent projects. This method
- * is equivalent to newProjectEntry(path,false)
.
+ * is equivalent to {@code newProjectEntry(path, false)}.
*
- *
+ *
* @param projectPath
* the workspace-relative path of the project
* @return a new project entry
- *
+ *
* @see CoreModel#newProjectEntry(IPath, boolean)
*/
public static IProjectEntry newProjectEntry(IPath projectPath) {
@@ -435,7 +426,7 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_PROJECT
for
+ * Creates and returns a new entry of kind {@code CDT_PROJECT} for
* the project identified by the given workspace-relative path.
*
* A project entry is used to denote a prerequisite project. All the @@ -443,7 +434,7 @@ public class CoreModel { * prerequisite project is referred to using an absolute path relative to * the workspace root. *
- *
+ *
* @param projectPath
* the absolute workspace-relative path of the prerequisite project
* @param isExported
@@ -456,31 +447,31 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_CONTAINER
for
+ * Creates and returns a new entry of kind {@code CDT_CONTAINER} for
* the given path. The path of the container will be used during resolution
* so as to map this container entry to a set of other entries the
* container is acting for.
*
* The resulting entry is not exported to dependent projects. This method
- * is equivalent to newContainerEntry(path,false)
.
+ * is equivalent to {@code newContainerEntry(path, false)}.
*
- *
+ *
* @param id the id of the container
* @return a new container entry
- *
+ *
*/
public static IContainerEntry newContainerEntry(IPath id) {
return newContainerEntry(id, false);
}
/**
- * Creates and returns a new entry of kind CDT_CONTAINER
for
+ * Creates and returns a new entry of kind {@code CDT_CONTAINER} for
* the given path. The path of the container will be used during resolution
* so as to map this container entry to a set of other entries the
* container is acting for.
*
* The resulting entry is not exported to dependent projects. This method
- * is equivalent to newContainerEntry(path,false)
.
+ * is equivalent to {@code newContainerEntry(path,false)}.
*
*/
public static IContainerEntry newContainerEntry(IPath id, boolean isExported) {
@@ -488,9 +479,9 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_LIBRARY
+ * Creates and returns a new entry of kind {@code CDT_LIBRARY}
* for the archive or folder identified by the given absolute path.
- *
+ *
* @param resourcePath
* the affected project-relative resource path
* @param baseRef
@@ -498,7 +489,7 @@ public class CoreModel {
* @param libraryPath
* the library name.
* @return a new library entry
- *
+ *
*/
public static ILibraryEntry newLibraryRefEntry(IPath resourcePath, IPath baseRef, IPath libraryPath) {
return new LibraryEntry(resourcePath, null, baseRef, libraryPath, null, null, null, false);
@@ -506,13 +497,13 @@ public class CoreModel {
/**
- * Creates and returns a new entry of kind CDT_LIBRARY
+ * Creates and returns a new entry of kind {@code CDT_LIBRARY}
* for the archive or folder identified by the given absolute path.
- *
+ *
* Note that this operation does not attempt to validate or access the
* resources at the given paths.
*
- *
+ *
* @param resourcePath
* the affected project-relative resource path
* @param basePath
@@ -521,16 +512,16 @@ public class CoreModel {
* the path of the library
* @param sourceAttachmentPath
* the project-relative path of the corresponding source archive or
- * folder, or null
if none.
+ * folder, or {@code null} if none.
* @param sourceAttachmentRootPath
* the location of the root within the source archive or folder
- * or null
.
+ * or {@code null}.
* @param sourceAttachmentPrefixMapping
- * prefix mapping or null
.
+ * prefix mapping or {@code null}.
* @param isExported
* whether the entry is exported
* @return a new library entry
- *
+ *
*/
public static ILibraryEntry newLibraryEntry(IPath resourcePath, IPath basePath, IPath libraryPath, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath,
IPath sourceAttachmentPrefixMapping, boolean isExported) {
@@ -538,23 +529,23 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_OUTPUT
for
+ * Creates and returns a new entry of kind {@code CDT_OUTPUT} for
* the project's output folder
*
- *
+ *
* @param outputPath
* the project-relative path of a folder
* @return a new source entry with not exclusion patterns
- *
+ *
*/
public static IOutputEntry newOutputEntry(IPath outputPath) {
return newOutputEntry(outputPath, APathEntry.NO_EXCLUSION_PATTERNS);
}
/**
- * Creates and returns a new entry of kind CDT_OUPUT
for
+ * Creates and returns a new entry of kind {@code CDT_OUPUT} for
* the project
- *
+ *
* @param outputPath
* the project-relative path of a folder
* @param exclusionPatterns
@@ -567,46 +558,46 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_SOURCE
for
+ * Creates and returns a new entry of kind {@code CDT_SOURCE} for
* the project's source folder identified by the given absolute
* workspace-relative path.
*
* The source folder is referred to using an absolute path relative to the
- * workspace root, e.g. /Project/src
. A project's source
+ * workspace root, e.g. {@code /Project/src}. A project's source
* folders are located with that project. That is, a source entry
- * specifying the path /P1/src
is only usable for project
- * P1
.
+ * specifying the path {@code /P1/src} is only usable for project
+ * {@code P1}.
*
* Note that all sources/binaries inside a project are contributed as a
- * whole through a project entry (see newProjectEntry
).
+ * whole through a project entry (see {@code newProjectEntry}).
* Particular source entries cannot be selectively exported.
*
CDT_SOURCE
for
+ * Creates and returns a new entry of kind {@code CDT_SOURCE} for
* the project's source folder identified by the given absolute
* workspace-relative path but excluding all source files with paths
* matching any of the given patterns. This specifies that all package
- * fragments within the root will have children of type ICompilationUnit
.
+ * fragments within the root will have children of type {@code ICompilationUnit}.
*
* The source folder is referred to using an absolute path relative to the
- * workspace root, e.g. /Project/src
. A project's source
+ * workspace root, e.g. {@code /Project/src}. A project's source
* folders are located with that project. That is, a source entry
- * specifying the path /P1/src
is only usable for project
- * P1
.
+ * specifying the path {@code /P1/src} is only usable for project
+ * {@code P1}.
*
CDT_INCLUDE
- *
+ * Creates and returns a new entry of kind {@code CDT_INCLUDE}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param basePath
@@ -634,8 +625,8 @@ public class CoreModel {
}
/**
- * * Creates and returns a new entry of kind CDT_INCLUDE
- *
+ * * Creates and returns a new entry of kind {@code CDT_INCLUDE}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param basePath
@@ -651,8 +642,8 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_INCLUDE
- *
+ * Creates and returns a new entry of kind {@code CDT_INCLUDE}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param basePath
@@ -671,8 +662,8 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_INCLUDE
- *
+ * Creates and returns a new entry of kind {@code CDT_INCLUDE}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param basePath
@@ -694,8 +685,8 @@ public class CoreModel {
}
/**
- * Creates and returns a new entry of kind CDT_INCLUDE
- *
+ * Creates and returns a new entry of kind {@code CDT_INCLUDE}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param baseRef
@@ -709,15 +700,15 @@ public class CoreModel {
}
/**
- * Creates a new entry of kind CDT_INCLUDE_FILE
+ * Creates a new entry of kind {@code CDT_INCLUDE_FILE}
*/
public static IIncludeFileEntry newIncludeFileEntry(IPath resourcePath, IPath includeFile) {
return newIncludeFileEntry(resourcePath, null, null, includeFile, null, false);
}
/**
- * Creates and returns a new entry of kind CDT_INCLUDE_FILE
- *
+ * Creates and returns a new entry of kind {@code CDT_INCLUDE_FILE}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param basePath
@@ -736,8 +727,8 @@ public class CoreModel {
}
/**
- * Creates and returns an entry kind CDT_MACRO
- *
+ * Creates and returns an entry kind {@code CDT_MACRO}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param macroName
@@ -751,8 +742,8 @@ public class CoreModel {
}
/**
- * Creates and returns an entry kind CDT_MACRO
- *
+ * Creates and returns an entry kind {@code CDT_MACRO}
+ *
* @param resourcePath
* the affected project-relative resource path
* @param macroName
@@ -767,8 +758,8 @@ public class CoreModel {
}
/**
- * Creates and returns an entry kind CDT_MACRO
- *
+ * Creates and returns an entry kind {@code CDT_MACRO}
+ *
* @param resourcePath
* the affected workspace-relative resource path
* @param macroName
@@ -783,8 +774,8 @@ public class CoreModel {
}
/**
- * Creates and returns an entry kind CDT_MACRO
- *
+ * Creates and returns an entry kind {@code CDT_MACRO}
+ *
* @param resourcePath
* the affected workspace-relative resource path
* @param baseRef
@@ -797,15 +788,15 @@ public class CoreModel {
}
/**
- * Creates an entry kind CDT_MACRO_FILE
+ * Creates an entry kind {@code CDT_MACRO_FILE}
*/
public static IMacroFileEntry newMacroFileEntry(IPath resourcePath, IPath macroFile) {
return newMacroFileEntry(resourcePath, null, null, macroFile, null, false);
}
/**
- * Creates and returns an entry kind CDT_MACRO_FILE
- *
+ * Creates and returns an entry kind {@code CDT_MACRO_FILE}
+ *
* @param resourcePath
* the affected workspace-relative resource path
* @param basePath
@@ -822,36 +813,36 @@ public class CoreModel {
/**
* Answers the project specific value for a given container. In case this
- * container path could not be resolved, then will answer null
.
+ * container path could not be resolved, then will answer {@code null}.
* Both the container path and the project context are supposed to be
* non-null.
*
* The containerPath is a formed by a first ID segment followed with extra
* segments, which can be used as additional hints for resolution. If no
* container was ever recorded for this container path onto this project
- * (using setPathEntryContainer
, then a PathEntryContainerInitializer
+ * (using {@code setPathEntryContainer}, then a {@code PathEntryContainerInitializer}
* will be activated if any was registered for this container ID onto the
* extension point "org.eclipse.cdt.core.PathEntryContainerInitializer".
*
* PathEntry container values are persisted locally to the workspace, but
* are not preserved from a session to another. It is thus highly
- * recommended to register a PathEntryContainerInitializer
+ * recommended to register a {@code PathEntryContainerInitializer}
* for each referenced container (through the extension point
* "org.eclipse.cdt.core.PathEntryContainerInitializer").
*
- *
+ *
* @param containerPath
* the name of the container, which needs to be resolved
* @param project
* a specific project in which the container is being resolved
- * @return the corresponding container or null
if unable to
+ * @return the corresponding container or {@code null} if unable to
* find one.
- *
+ *
* @exception CModelException
* if an exception occurred while resolving the container,
* or if the resolved container contains illegal entries
* (contains CDT_CONTAINER entries or null entries).
- *
+ *
* @see PathEntryContainerInitializer
* @see IPathEntryContainer
* @see #setPathEntryContainer(ICProject[], IPathEntryContainer, IProgressMonitor)
@@ -861,7 +852,7 @@ public class CoreModel {
}
/**
- * Bind a container reference path to some actual containers (IPathEntryContainer
).
+ * Bind a container reference path to some actual containers ({@code IPathEntryContainer}).
* This API must be invoked whenever changes in container need to be
* reflected onto the CModel.
*
@@ -872,15 +863,15 @@ public class CoreModel { *
* PathEntry container values are persisted locally to the workspace, but
* are not preserved from a session to another. It is thus highly
- * recommended to register a PathEntryContainerInitializer
+ * recommended to register a {@code PathEntryContainerInitializer}
* for each referenced container (through the extension point
* "org.eclipse.cdt.core.PathEntryContainerInitializer").
*
- * Note: setting a container to null
will cause it to be
+ * Note: setting a container to {@code null} will cause it to be
* lazily resolved again whenever its value is required. In particular,
* this will cause a registered initializer to be invoked again.
*
- *
+ *
* @param affectedProjects -
* the set of projects for which this container is being bound
* @param container -
@@ -898,11 +889,11 @@ public class CoreModel {
}
/**
- * Helper method use by a pathentry container implementing IPathEntryContainerExtension
+ * Helper method use by a path entry container implementing {@code IPathEntryContainerExtension}
* It notify the model of changes.
- * Note: the paths in the PathEntryContainerChanged[]
array must be on
+ * Note: the paths in the {@code PathEntryContainerChanged[]} array must be on
* source that the container was set too. If not the changes will be silently ignore.
- *
+ *
* @param container
* @param changes array of changes.
* @param monitor progress monitor
@@ -914,11 +905,11 @@ public class CoreModel {
/**
* Sets the pathentries of this project using a list of entries.
*
- * Setting the pathentries to null
specifies a default
+ * Setting the pathentries to {@code null} specifies a default
* classpath (the project root). Setting the pathentry to an empty array
* specifies an empty pathentry.
*
- *
+ *
* @param newEntries
* a list of entries
* @param monitor
@@ -932,9 +923,9 @@ public class CoreModel {
/**
* Returns the raw pathentries for the project. This corresponds to the
- * exact set of entries which were assigned using setRawPathEntries
+ * exact set of entries which were assigned using {@code setRawPathEntries}
*
- * + * * @return the raw entires for the project * @exception CModelException * if this element does not exist or if an exception occurs @@ -955,7 +946,7 @@ public class CoreModel { * date. Because of this, hanging on resolved pathentries is not * recommended. *
- * + * * @return the resolved entries for the project * @exception CModelException * @see IPathEntry @@ -973,7 +964,7 @@ public class CoreModel { * date. Because of this, hanging on resolved pathentries is not * recommended. * - * + * * @return the include entries for the translation unit * @exception CModelException * @see IPathEntry @@ -991,7 +982,7 @@ public class CoreModel { * date. Because of this, hanging on resolved pathentries is not * recommended. * - * + * * @return the include file entries for the translation unit * @exception CModelException * @see IPathEntry @@ -1009,7 +1000,7 @@ public class CoreModel { * date. Because of this, hanging on resolved pathentries is not * recommended. * - * + * * @return the resolved entries for the project * @exception CModelException * @see IPathEntry @@ -1027,7 +1018,7 @@ public class CoreModel { * date. Because of this, hanging on resolved pathentries is not * recommended. * - * + * * @return the macro file entries for the translation unit * @exception CModelException * @see IPathEntry @@ -1038,18 +1029,18 @@ public class CoreModel { /** * Helper method finding the pathentry container initializer registered for - * a given container ID ornull
if none was found while
+ * a given container ID or {@code null} if none was found while
* iterating over the contributions to extension point to the extension
* point "org.eclipse.cdt.core.PathEntryContainerInitializer".
* * A containerID is the first segment of any container path, used to * identify the registered container initializer. *
- *
+ *
* @param containerID -
* a containerID identifying a registered initializer
* @return ClasspathContainerInitializer - the registered classpath
- * container initializer or null
if none was found.
+ * container initializer or {@code null} if none was found.
*/
public static PathEntryContainerInitializer getPathEntryContainerInitializer(String containerID) {
return pathEntryManager.getPathEntryContainerInitializer(containerID);
@@ -1065,7 +1056,7 @@ public class CoreModel {
/**
* Set in the map the store, but not persisted.
- *
+ *
* @param project
* @param store
*/
@@ -1077,29 +1068,38 @@ public class CoreModel {
* Validate a given path entries for a project, using the following rules:
*
- * This validation is intended to anticipate issues prior to assigning it to a project. In particular, it will automatically - * be performed during the setting operation (if validation fails, the classpath setting will not complete) - * and during getResolvedPathEntries. + * + * Note that the entries are not validated automatically. Only bound variables or containers + * are considered in the checking process (this allows to perform a consistency check on + * an entry which has references to yet non existing projects, folders, ...). *
+ * This validation is intended to anticipate issues prior to assigning it to a project.
+ * In particular, it will automatically be performed during the setting operation
+ * (if validation fails, the classpath setting will not complete) and during
+ * {@link #getResolvedPathEntries}.
+ *
* @param cProject the given C project
- * @return a status object with code IStatus.OK
if
- * the entries location are compatible, otherwise a status
+ * @return a status object with code {@code IStatus.OK} if
+ * the entries location are compatible, otherwise a status
* object indicating what is wrong with them
*/
public static ICModelStatus validatePathEntries(ICProject cProject, IPathEntry[] entries) {
@@ -1107,15 +1107,17 @@ public class CoreModel {
}
/**
- * Returns a C model status describing the problem related to this entry if any,
- * a status object with code IStatus.OK
if the entry is fine (that is, if the
+ * Returns a C model status describing the problem related to this entry if any,
+ * a status object with code {@code IStatus.OK} if the entry is fine (that is, if the
* given entry denotes a valid element).
- *
+ *
* @param cProject the given C project
* @param entry the given entry
- * @param checkSourceAttachment a flag to determine if source attachement should be checked
- * @param recurseInContainers flag indicating whether validation should be applied to container entries recursively
- * @return a c model status describing the problem related to this entry if any, a status object with code IStatus.OK
if the entry is fine
+ * @param checkSourceAttachment a flag to determine if source attachment should be checked
+ * @param recurseInContainers flag indicating whether validation should be applied to container
+ * entries recursively
+ * @return a c model status describing the problem related to this entry if any, a status object
+ * with code {@code IStatus.OK} if the entry is fine
*/
public static ICModelStatus validatePathEntry(ICProject cProject, IPathEntry entry, boolean checkSourceAttachment, boolean recurseInContainers){
return pathEntryManager.validatePathEntry(cProject, entry, checkSourceAttachment, recurseInContainers);
@@ -1138,7 +1140,7 @@ public class CoreModel {
/**
* Removes the given element changed listener. Has no affect if an
* identical listener is not registered.
- *
+ *
* @param listener
* the listener
*/
@@ -1160,7 +1162,7 @@ public class CoreModel {
private CoreModel() {
}
-
+
/**
* Runs the given action as an atomic C model operation.
*
@@ -1184,7 +1186,7 @@ public class CoreModel { *
* * @param action the action to perform - * @param monitor a progress monitor, ornull
if progress
+ * @param monitor a progress monitor, or {@code null} if progress
* reporting and cancellation are not desired
* @exception CoreException if the operation failed.
* @since 2.1
@@ -1215,14 +1217,14 @@ public class CoreModel {
*
*
* The supplied scheduling rule is used to determine whether this operation can be
- * run simultaneously with workspace changes in other threads. See
- * IWorkspace.run(...)
for more details.
+ * run simultaneously with workspace changes in other threads. See
+ * {@code IWorkspace.run(...)} for more details.
*
null
if there are no scheduling restrictions for this operation.
- * @param monitor a progress monitor, or null
if progress
+ * {@code null} if there are no scheduling restrictions for this operation.
+ * @param monitor a progress monitor, or {@code null} if progress
* reporting and cancellation are not desired
* @exception CoreException if the operation failed.
* @since 3.0
@@ -1235,12 +1237,12 @@ public class CoreModel {
// use IWorkspace.run(...) to ensure that a build will be done in autobuild mode
workspace.run(new BatchOperation(action), rule, IWorkspace.AVOID_UPDATE, monitor);
}
- }
-
+ }
+
/**
* The method returns whether scanner information for a resource is empty or not.
- * If null
is supplied the method returns true
.
- *
+ * If {@code null} is supplied the method returns {@code true}.
+ *
* @param resource
* @since 3.0
*/
@@ -1249,15 +1251,15 @@ public class CoreModel {
return true;
}
IProject project = resource.getProject();
- CProjectDescriptionManager mngr = CProjectDescriptionManager.getInstance();
+ CProjectDescriptionManager mngr = CProjectDescriptionManager.getInstance();
ICProjectDescription des = mngr.getProjectDescription(project, false);
- if(des != null){
+ if (des != null){
ICConfigurationDescription indexCfg = des.getDefaultSettingConfiguration();
- if(indexCfg != null){
+ if (indexCfg != null){
if (!mngr.isNewStyleCfg(indexCfg)) {
return oldIsScannerInformationEmpty(resource);
}
-
+
if (ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(project) &&
indexCfg instanceof ILanguageSettingsProvidersKeeper) {
ListcreateProjectDescription(project, loadIfExists, false)
.
- *
+ * this method is a full equivalent to {@code createProjectDescription(project, loadIfExists, false)}.
+ *
* @see #createProjectDescription(IProject, boolean, boolean)
*/
public ICProjectDescription createProjectDescription(IProject project, boolean loadIfExists) throws CoreException{
return descriptionManager.createProjectDescription(project, loadIfExists);
}
-
+
/**
* the method creates and returns a writable project description
- *
+ *
* @param project project for which the project description is requested
* @param loadIfExists if true the method first tries to load and return the project description
* from the settings file (.cproject)
@@ -1363,42 +1364,42 @@ public class CoreModel {
* @param creating if true the created project description will be contain the true "isCdtProjectCreating" state.
* NOTE: in case the project already contains the project description AND its "isCdtProjectCreating" is false
* the resulting description will be created with the false "isCdtProjectCreating" state
- *
- * NOTE: changes made to the returned project description will not be applied until the {@link #setProjectDescription(IProject, ICProjectDescription)} is called
+ *
+ * NOTE: changes made to the returned project description will not be applied until the {@link #setProjectDescription(IProject, ICProjectDescription)} is called
* @return {@link ICProjectDescription}
* @throws CoreException
*/
public ICProjectDescription createProjectDescription(IProject project, boolean loadIfExists, boolean creating) throws CoreException{
return descriptionManager.createProjectDescription(project, loadIfExists, creating);
}
-
+
/**
* returns the project description associated with this project or null if the project does not contain the
- * CDT data associated with it.
- *
+ * CDT data associated with it.
+ *
* this is a convenience method fully equivalent to getProjectDescription(project, true)
* see {@link #getProjectDescription(IProject, boolean)} for more detail
* @param project
* @return a writable copy of the ICProjectDescription or null if the project does not contain the
- * CDT data associated with it.
+ * CDT data associated with it.
* Note: changes to the project description will not be reflected/used by the core
* until the {@link #setProjectDescription(IProject, ICProjectDescription)} is called
- *
+ *
* @see #getProjectDescription(IProject, boolean)
*/
public ICProjectDescription getProjectDescription(IProject project){
return descriptionManager.getProjectDescription(project);
}
-
+
/**
* this method is called to save/apply the project description
* the method should be called to apply changes made to the project description
- * returned by the {@link #getProjectDescription(IProject, boolean)} or {@link #createProjectDescription(IProject, boolean)}
- *
+ * returned by the {@link #getProjectDescription(IProject, boolean)} or {@link #createProjectDescription(IProject, boolean)}
+ *
* @param project
* @param des
* @throws CoreException
- *
+ *
* @see #getProjectDescription(IProject, boolean)
* @see #createProjectDescription(IProject, boolean)
*/
@@ -1412,62 +1413,64 @@ public class CoreModel {
/**
* returns the project description associated with this project or null if the project does not contain the
- * CDT data associated with it.
- *
+ * CDT data associated with it.
+ *
* @param project project for which the description is requested
- * @param write if true, the writable description copy is returned.
+ * @param write if true, the writable description copy is returned.
* If false the cached read-only description is returned.
- *
+ *
* CDT core maintains the cached project description settings. If only read access is needed to description,
* then the read-only project description should be obtained.
* This description always operates with cached data and thus it is better to use it for performance reasons
* All set* calls to the read-only description result in the {@link WriteAccessException}
- *
+ *
* When the writable description is requested, the description copy is created.
* Changes to this description will not be reflected/used by the core and Build System untill the
* {@link #setProjectDescription(IProject, ICProjectDescription)} is called
*
- * Each getProjectDescription(project, true) returns a new copy of the project description
- *
+ * Each getProjectDescription(project, true) returns a new copy of the project description
+ *
* The writable description uses the cached data untill the first set call
* after that the description communicates directly to the Build System
* i.e. the implementer of the org.eclipse.cdt.core.CConfigurationDataProvider extension
* This ensures the Core<->Build System settings integrity
- *
+ *
* @return {@link ICProjectDescription} or null if the project does not contain the
- * CDT data associated with it.
+ * CDT data associated with it.
*/
public ICProjectDescription getProjectDescription(IProject project, boolean write){
return descriptionManager.getProjectDescription(project, write);
}
-
+
/**
* Forces the cached data of the specified projects to be re-calculated.
- * if the projects
argument is null
al projects
- * within the workspace are updated
- *
+ * If the {@code projects} argument is {@code null}, all projects
+ * within the workspace are updated.
+ *
* @param projects
* @param monitor
- * @throws CoreException
+ * @throws CoreException
*/
public void updateProjectDescriptions(IProject projects[], IProgressMonitor monitor) throws CoreException{
descriptionManager.updateProjectDescriptions(projects, monitor);
}
-
+
/**
- * Answers whether the given project is a new-style project, i.e. CConfigurationDataProvider-driven
+ * Answers whether the given project is a new-style project,
+ * i.e. CConfigurationDataProvider-driven.
*/
public boolean isNewStyleProject(IProject project){
return descriptionManager.isNewStyleProject(project);
}
/**
- * Answers whether the given project is a new-style project, i.e. CConfigurationDataProvider-driven
+ * Answers whether the given project is a new-style project,
+ * i.e. CConfigurationDataProvider-driven
*/
public boolean isNewStyleProject(ICProjectDescription des){
return descriptionManager.isNewStyleProject(des);
}
-
+
public void addCProjectDescriptionListener(ICProjectDescriptionListener listener, int eventTypes){
descriptionManager.addCProjectDescriptionListener(listener, eventTypes);
}
@@ -1475,7 +1478,7 @@ public class CoreModel {
public void removeCProjectDescriptionListener(ICProjectDescriptionListener listener){
descriptionManager.removeCProjectDescriptionListener(listener);
}
-
+
public ICProjectDescriptionManager getProjectDescriptionManager(){
return descriptionManager;
}
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ISourceReference.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ISourceReference.java
index 0883463c1b7..4b854923385 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ISourceReference.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ISourceReference.java
@@ -14,9 +14,9 @@ package org.eclipse.cdt.core.model;
/**
* Common protocol for C elements that have associated source code.
*
- * Note: For IBinary
, IArchive
and other members
- * derived from a binary type, the implementation returns source iff the
- * element has attached source code and debuging information.
+ * Note: For {@code IBinary}, {@code IArchive} and other members
+ * derived from a binary type, the implementation returns source iff the element
+ * has attached source code and debugging information.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
@@ -27,12 +27,11 @@ public interface ISourceReference {
*
* For binary files, this returns the source of the entire translation unit * associated with the binary file (if there is one). - *
* - * @return the source code, ornull
if this element has no
- * associated source code
+ * @return the source code, or {@code null} if this element has no
+ * associated source code
* @exception CModelException if this element does not exist or if an
- * exception occurs while accessing its corresponding resource
+ * exception occurs while accessing its corresponding resource
*/
String getSource() throws CModelException;
@@ -41,17 +40,16 @@ public interface ISourceReference {
* * For binary files, this returns the range of the entire translation unit * associated with the binary file (if there is one). - *
* - * @return the source range, ornull
if if this element has no
- * associated source code
+ * @return the source range, or {@code null} if if this element has no
+ * associated source code
* @exception CModelException if this element does not exist or if an
- * exception occurs while accessing its corresponding resource
+ * exception occurs while accessing its corresponding resource
*/
ISourceRange getSourceRange() throws CModelException;
/**
- * Returns the translation unit in which this member is declared, or null
+ * Returns the translation unit in which this member is declared, or {@code null}
* if this member is not declared in a translation unit (for example, a binary type).
*/
ITranslationUnit getTranslationUnit();
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java
index f8bf7b4743b..2522fc3dad0 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java
@@ -8,7 +8,7 @@
* Contributors:
* Markus Schorn - initial API and implementation
* Sergey Prigogin (Google)
- *******************************************************************************/
+ *******************************************************************************/
package org.eclipse.cdt.core.index;
import org.eclipse.cdt.core.CCorePlugin;
@@ -21,10 +21,10 @@ import org.eclipse.core.runtime.IProgressMonitor;
/**
* Starting point for working with the index. The manager can be obtained via
* {@link CCorePlugin#getIndexManager()}.
- *
+ *
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
- *
+ *
* @since 4.0
*/
public interface IIndexManager extends IPDOMManager {
@@ -41,27 +41,27 @@ public interface IIndexManager extends IPDOMManager {
* added to the resulting index.
*/
public static final int ADD_DEPENDENT = 0x2;
-
+
/**
- * @deprecated Extension fragments are now used depending on their configuration.
+ * @deprecated Extension fragments are now used depending on their configuration.
* Use one of the ADD_EXTENSION_XX flags instead.
*/
@Deprecated
public static final int SKIP_PROVIDED = 0x4;
-
+
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for navigation shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for navigation shall be included in the resulting index.
*
* @since 5.4
*/
public static final int ADD_EXTENSION_FRAGMENTS_NAVIGATION = 0x8;
/**
- * Constant for passing to getIndex methods. This constant, when set, indicates that the each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for content assist shall be included in the resulting index.
+ * Constant for passing to getIndex methods. This constant, when set, indicates that the each
+ * index content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which
+ * is not disabled for content assist shall be included in the resulting index.
*
* @since 5.4
*/
@@ -69,8 +69,8 @@ public interface IIndexManager extends IPDOMManager {
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for add import shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for add import shall be included in the resulting index.
*
* @since 5.4
*/
@@ -78,8 +78,8 @@ public interface IIndexManager extends IPDOMManager {
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for the call hierarchy shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for the call hierarchy shall be included in the resulting index.
*
* @since 5.4
*/
@@ -87,8 +87,8 @@ public interface IIndexManager extends IPDOMManager {
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for the type hierarchy shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for the type hierarchy shall be included in the resulting index.
*
* @since 5.4
*/
@@ -96,8 +96,8 @@ public interface IIndexManager extends IPDOMManager {
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for the include browser shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for the include browser shall be included in the resulting index.
*
* @since 5.4
*/
@@ -105,28 +105,28 @@ public interface IIndexManager extends IPDOMManager {
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for the search shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for the search shall be included in the resulting index.
*
* @since 5.4
*/
public static final int ADD_EXTENSION_FRAGMENTS_SEARCH = 0x200;
-
+
/**
* Constant for passing to getIndex methods. This constant, when set, indicates that each index
- * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
- * disabled for the editor shall be included in the resulting index.
+ * content provided via the ReadOnlyIndexFragmentProvider or ReadOnlyPDOMProvider, which is not
+ * disabled for the editor shall be included in the resulting index.
*
* @since 5.5
*/
public static final int ADD_EXTENSION_FRAGMENTS_EDITOR = 0x400;
/**
- * Constant for indicating that there is no time out period for joining the indexer job.
+ * Constant for indicating that there is no time out period for joining the indexer job.
* @see IIndexManager#joinIndexer(int, IProgressMonitor)
*/
public static final int FOREVER= -1;
-
+
/**
* Constant for requesting an update of all translation units.
*/
@@ -155,7 +155,7 @@ public interface IIndexManager extends IPDOMManager {
* This flag modifies behavior of UPDATE_CHECK_TIMESTAMPS. Both, the timestamp and the hash
* of the contents of a translation unit, have to change in order to trigger re-indexing.
* Checking for content changes may reduce indexing overhead for projects that use code
- * generation since generated files are sometimes recreated with identical contents.
+ * generation since generated files are sometimes recreated with identical contents.
* @since 5.2
*/
public static final int UPDATE_CHECK_CONTENTS_HASH= 0x10;
@@ -163,7 +163,7 @@ public interface IIndexManager extends IPDOMManager {
/**
* Include files that are otherwise would be excluded from the index. This flag is sticky
* for the duration of the Eclipse session. If the files are later updated without this flag,
- * they remain in the index.
+ * they remain in the index.
* @since 5.3
*/
public static final int FORCE_INDEX_INCLUSION= 0x20;
@@ -199,18 +199,23 @@ public interface IIndexManager extends IPDOMManager {
IIndex getIndex(ICProject[] projects) throws CoreException;
/**
- * Returns the index for the given project. You can specify to add dependencies or dependent projects.
+ * Returns the index for the given project. You can specify to add dependencies or dependent
+ * projects.
+ *
* @param project the project to get the index for
- * @param options 0
or a combination of {@link #ADD_DEPENDENCIES} and {@link #ADD_DEPENDENT}.
+ * @param options 0
or a combination of {@link #ADD_DEPENDENCIES} and
+ * {@link #ADD_DEPENDENT}.
* @return an index for the project
* @throws CoreException
*/
IIndex getIndex(ICProject project, int options) throws CoreException;
/**
- * Returns the index for the given projects. You can specify to add dependencies or dependent projects.
+ * Returns the index for the given projects. You can specify to add dependencies or dependent
+ * projects.
* @param projects the projects to get the index for
- * @param options 0
or a combination of {@link #ADD_DEPENDENCIES} and {@link #ADD_DEPENDENT}.
+ * @param options 0
or a combination of {@link #ADD_DEPENDENCIES} and
+ * {@link #ADD_DEPENDENT}.
* @return an index for the projects
* @throws CoreException
*/
@@ -227,7 +232,7 @@ public interface IIndexManager extends IPDOMManager {
* @param listener the listener to unregister.
*/
void removeIndexChangeListener(IIndexChangeListener listener);
-
+
/**
* Registers a listener that will be notified whenever the indexer changes its state.
* @param listener the listener to register.
@@ -239,33 +244,33 @@ public interface IIndexManager extends IPDOMManager {
* @param listener the listener to unregister.
*/
void removeIndexerStateListener(IIndexerStateListener listener);
-
+
/**
* Joins the indexer and reports progress.
- * @param waitMaxMillis time limit in millis after which the method returns with false
,
- * or {@link #FOREVER}.
+ * @param waitMaxMillis time limit in milliseconds after which the method returns with
+ * {@code false}, or {@link #FOREVER}.
* @param monitor a monitor to report progress.
* @return true
, if the indexer went idle in the given time.
*/
boolean joinIndexer(int waitMaxMillis, IProgressMonitor monitor);
-
+
/**
* Checks whether the indexer is currently idle. The indexer is idle, when there is currently no request
* to update files of an index and no initialization for a project is performed. However, the indexer becomes
* idle, when the setup of a project is postponed (check with {@link #isIndexerSetupPostponed(ICProject)}).
*/
boolean isIndexerIdle();
-
+
/**
* Returns whether an indexer is selected for the project.
* @since 4.0
*/
boolean isProjectIndexed(ICProject proj);
-
+
/**
* Return whether the indexer-setup for a project is currently postponed. Note,
* that a postponed setup does not prevent the indexer from becoming idle ({@link #isIndexerIdle()}.
- * The fact that the indexer-setup for a project is no longer postponed, will be reported using
+ * The fact that the indexer-setup for a project is no longer postponed, will be reported using
* {@link IndexerSetupParticipant#onIndexerSetup(ICProject)}.
*/
boolean isIndexerSetupPostponed(ICProject proj);
@@ -283,7 +288,7 @@ public interface IIndexManager extends IPDOMManager {
*/
@Override
public void setIndexerId(ICProject project, String indexerId);
-
+
/**
* Clears the entire index of the project and schedules the indexer.
* @since 4.0
@@ -302,22 +307,23 @@ public interface IIndexManager extends IPDOMManager {
* @since 4.0
*/
public void update(ICElement[] tuSelection, int options) throws CoreException;
-
+
/**
* Export index for usage within a team.
- * @param project a project for which the pdom is to be exported.
+ * @param project a project for which the PDOM is to be exported.
* @param location the target location for the database.
* @param options currently none are supported.
* @throws CoreException
* @since 4.0
*/
- public void export(ICProject project, String location, int options, IProgressMonitor monitor) throws CoreException;
-
+ public void export(ICProject project, String location, int options, IProgressMonitor monitor)
+ throws CoreException;
+
/**
* Adds a participant for the indexer-setup
*/
public void addIndexerSetupParticipant(IndexerSetupParticipant participant);
-
+
/**
* Removes a participant for the indexer-setup
*/
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IIndexFragment.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IIndexFragment.java
index 9bc0b4b3410..064fcad3733 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IIndexFragment.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IIndexFragment.java
@@ -328,7 +328,7 @@ public interface IIndexFragment {
IIndexFragmentFile[] getDefectiveFiles() throws CoreException;
/**
- * @return an array of files containg unresolved includes.
+ * @return an array of files containing unresolved includes.
*/
IIndexFragmentFile[] getFilesWithUnresolvedIncludes() throws CoreException;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IWritableIndexFragment.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IWritableIndexFragment.java
index 0996a4ea8c9..bad8218156e 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IWritableIndexFragment.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/IWritableIndexFragment.java
@@ -10,7 +10,6 @@
* Andrew Ferguson (Symbian)
* Sergey Prigogin (Google)
******************************************************************************/
-
package org.eclipse.cdt.internal.core.index;
import org.eclipse.cdt.core.dom.ast.IASTName;
@@ -26,7 +25,6 @@ import org.eclipse.core.runtime.CoreException;
* The interface that an actual storage for an index has to implement.
*/
public interface IWritableIndexFragment extends IIndexFragment {
-
/**
* Clears the entire fragment.
*/
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 46970a1f364..ec6bdbefd38 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
@@ -521,7 +521,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
enqueue(new NotifyCModelManagerTask(cproject.getProject()));
}
}
-
+
if (IndexerPreferences.getReindexOnIndexerChange(cproject.getProject())) {
enqueue(new PDOMRebuildTask(indexer));
}
@@ -575,9 +575,9 @@ public class PDOMManager implements IWritableIndexManager, IListener {
IndexUpdatePolicy policy= createPolicy(project);
boolean rebuild=
- pdom.isClearedBecauseOfVersionMismatch() ||
- pdom.isCreatedFromScratch() ||
- policy.isInitialRebuildRequested();
+ pdom.isClearedBecauseOfVersionMismatch() ||
+ pdom.isCreatedFromScratch() ||
+ policy.isInitialRebuildRequested();
if (rebuild) {
if (IPDOMManager.ID_NO_INDEXER.equals(indexer.getID())) {
rebuild= false;
@@ -1535,7 +1535,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
/**
* @param cproject the project to check
* @return whether the content in the project fragment of the specified project's index
- * is complete (contains all sources) and up to date.
+ * is complete (contains all sources) and up to date.
* @throws CoreException
*/
public boolean isProjectContentSynced(ICProject cproject) throws CoreException {
@@ -1544,11 +1544,11 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}
/**
- * Checks whether the index is in sync with the file system.
+ * Checks whether the index is in sync with the file system.
* @param cproject the project to check
- * @return null
when the content in the project fragment of the specified project's index
- * is complete (contains all sources) and up to date; or an @link{IStatus} indicating the first
- * occurrence of an index file found not up-to-date, along with its include trail.
+ * @return {@code null} when the content in the project fragment of the specified project's
+ * index is complete (contains all sources) and up to date; or an {@link IStatus} indicating
+ * the first occurrence of an index file found not up-to-date, along with its include trail.
* @throws CoreException in case of a file access or other internal error
*/
public IStatus getProjectContentSyncState(ICProject cproject) throws CoreException {
@@ -1567,7 +1567,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
IResource resource= tu.getResource();
if (resource instanceof IFile && isSubjectToIndexing(tu.getLanguage())) {
IIndexFileLocation location= IndexLocationFactory.getWorkspaceIFL((IFile) resource);
- syncStatus = areSynchronized(new HashSet