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; }