diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelStatus.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelStatus.java
index bd8d639d8e6..4a17d21a86e 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelStatus.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelStatus.java
@@ -15,7 +15,6 @@ import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.ICModelStatus;
import org.eclipse.cdt.core.model.ICModelStatusConstants;
-import org.eclipse.core.resources.IResourceStatus;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
@@ -26,7 +25,7 @@ import org.eclipse.core.runtime.Status;
* @see ICModelStatus
*/
-public class CModelStatus extends Status implements ICModelStatus, ICModelStatusConstants, IResourceStatus {
+public class CModelStatus extends Status implements ICModelStatus, ICModelStatusConstants {
/**
* The elements related to the failure, or null
if no
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/AbstractPersistableProblem.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/AbstractPersistableProblem.java
new file mode 100644
index 00000000000..5a2fc4293a3
--- /dev/null
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/AbstractPersistableProblem.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Wind River Systems, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Markus Schorn - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.parser;
+
+/**
+ * Abstract class for implementing {@link IPersistableProblem}.
+ * @since 5.1
+ */
+public abstract class AbstractPersistableProblem implements IPersistableProblem {
+
+}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IPersistableProblem.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IPersistableProblem.java
index 0b9d0d22f13..a18c9fae782 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IPersistableProblem.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IPersistableProblem.java
@@ -10,6 +10,10 @@
*******************************************************************************/
package org.eclipse.cdt.core.parser;
+/**
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
public interface IPersistableProblem extends IProblem {
/**
* Returns the marker type associated to this problem, if it gets persisted into a marker.
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CollectionUtils.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CollectionUtils.java
index ad8e73efce9..7f4ad50c422 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CollectionUtils.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CollectionUtils.java
@@ -18,7 +18,6 @@ import java.util.ListIterator;
/**
* Useful utility methods for dealing with Collections.
*
- * @noextend This interface is not intended to be extended by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
*/
public final class CollectionUtils {
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/spelling/CoreSpellingProblem.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/spelling/CoreSpellingProblem.java
index 73e2449ff3f..642124878bc 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/spelling/CoreSpellingProblem.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/spelling/CoreSpellingProblem.java
@@ -16,12 +16,12 @@ import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
import org.eclipse.osgi.util.NLS;
-import org.eclipse.cdt.core.parser.IPersistableProblem;
+import org.eclipse.cdt.core.parser.AbstractPersistableProblem;
/**
* Spelling problem to be accepted by problem requesters.
*/
-public class CoreSpellingProblem implements IPersistableProblem {
+public class CoreSpellingProblem extends AbstractPersistableProblem {
// spelling 'marker type' name. Only virtual as spelling problems are never persisted in markers.
// marker type is used in the quickFixProcessor extension point
public static final String MARKER_TYPE= "org.eclipse.cdt.internal.spelling"; //$NON-NLS-1$
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassCodeGenerator.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassCodeGenerator.java
index 23a97377444..7003dc3ee73 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassCodeGenerator.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassCodeGenerator.java
@@ -36,7 +36,6 @@ import org.eclipse.text.edits.TextEdit;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.browser.IQualifiedTypeName;
import org.eclipse.cdt.core.browser.ITypeReference;
-import org.eclipse.cdt.core.browser.PathUtil;
import org.eclipse.cdt.core.browser.QualifiedTypeName;
import org.eclipse.cdt.core.formatter.CodeFormatter;
import org.eclipse.cdt.core.model.CModelException;
@@ -53,6 +52,7 @@ import org.eclipse.cdt.core.parser.IScannerInfoProvider;
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.CodeGeneration;
+import org.eclipse.cdt.utils.PathUtil;
import org.eclipse.cdt.internal.corext.codemanipulation.StubUtility;
import org.eclipse.cdt.internal.corext.util.CModelUtil;
@@ -607,7 +607,7 @@ public class NewClassCodeGenerator {
if (cProject.getPath().segment(0).equals(folderToAdd.segment(0)))
continue;
- ICProject includeProject = PathUtil.getEnclosingProject(folderToAdd);
+ ICProject includeProject = toCProject(PathUtil.getEnclosingProject(folderToAdd));
if (includeProject != null) {
// make sure that the include is made the same way that build properties for projects makes them, so .contains below is a valid check
IIncludeEntry entry = CoreModel.newIncludeEntry(addToResourcePath, null, includeProject.getProject().getLocation(), true);
@@ -624,7 +624,13 @@ public class NewClassCodeGenerator {
monitor.done();
}
- private List getMissingIncludePaths(IPath projectLocation, List includePaths, List baseClassPaths) {
+ private ICProject toCProject(IProject enclosingProject) {
+ if (enclosingProject != null)
+ return CoreModel.getDefault().create(enclosingProject);
+ return null;
+ }
+
+ private List getMissingIncludePaths(IPath projectLocation, List includePaths, List baseClassPaths) {
// check for missing include paths
List newIncludePaths = new ArrayList();
for (IPath baseClassLocation : baseClassPaths) {
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassCreationWizardPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassCreationWizardPage.java
index bba46a03875..bdfe0369a5e 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassCreationWizardPage.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassCreationWizardPage.java
@@ -55,7 +55,6 @@ import org.eclipse.cdt.core.browser.AllTypesCache;
import org.eclipse.cdt.core.browser.IQualifiedTypeName;
import org.eclipse.cdt.core.browser.ITypeInfo;
import org.eclipse.cdt.core.browser.ITypeSearchScope;
-import org.eclipse.cdt.core.browser.PathUtil;
import org.eclipse.cdt.core.browser.QualifiedTypeName;
import org.eclipse.cdt.core.browser.TypeSearchScope;
import org.eclipse.cdt.core.browser.TypeUtil;
@@ -71,6 +70,7 @@ import org.eclipse.cdt.core.parser.IScannerInfo;
import org.eclipse.cdt.core.parser.IScannerInfoProvider;
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.utils.PathUtil;
import org.eclipse.cdt.internal.ui.dialogs.StatusInfo;
import org.eclipse.cdt.internal.ui.dialogs.StatusUtil;
@@ -592,11 +592,17 @@ public class NewClassCreationWizardPage extends NewElementWizardPage {
protected ICProject getCurrentProject() {
IPath folderPath = getSourceFolderFullPath();
if (folderPath != null) {
- return PathUtil.getEnclosingProject(folderPath);
+ return toCProject(PathUtil.getEnclosingProject(folderPath));
}
return null;
}
+ private ICProject toCProject(IProject enclosingProject) {
+ if (enclosingProject != null)
+ return CoreModel.getDefault().create(enclosingProject);
+ return null;
+ }
+
/**
* Returns the text entered into the namespace input field.
*
@@ -1033,9 +1039,9 @@ public class NewClassCreationWizardPage extends NewElementWizardPage {
if (folder != null) {
return folder.getPath();
}
- ICProject proj = PathUtil.getEnclosingProject(filePath);
+ IProject proj = PathUtil.getEnclosingProject(filePath);
if (proj != null)
- return proj.getProject().getFullPath();
+ return proj.getFullPath();
return null;
}