diff options
author | Alena Laskavaia | 2010-07-21 02:21:46 +0000 |
---|---|---|
committer | Alena Laskavaia | 2010-07-21 02:21:46 +0000 |
commit | 42b0b537db48ed573340261b32ee01314a0f23de (patch) | |
tree | 3937300cfc3e28f6272016bd1a4ab7bec5860fde /codan/org.eclipse.cdt.codan.ui | |
parent | 8558e5257982b84bdd3d0fb23d7e79335fe238fc (diff) | |
download | org.eclipse.cdt-42b0b537db48ed573340261b32ee01314a0f23de.tar.gz org.eclipse.cdt-42b0b537db48ed573340261b32ee01314a0f23de.tar.xz org.eclipse.cdt-42b0b537db48ed573340261b32ee01314a0f23de.zip |
Bug 319196 updated to add common method
Diffstat (limited to 'codan/org.eclipse.cdt.codan.ui')
-rw-r--r-- | codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java b/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java index 6c9574668eb..a00a35e618b 100644 --- a/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java +++ b/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanCMarkerResolution.java @@ -13,14 +13,19 @@ package org.eclipse.cdt.codan.ui; import org.eclipse.cdt.codan.internal.core.model.CodanProblemMarker; import org.eclipse.cdt.codan.internal.ui.CodanUIActivator; +import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; +import org.eclipse.cdt.core.index.IIndex; import org.eclipse.cdt.core.model.CoreModel; +import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.ui.CDTUITools; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; @@ -191,8 +196,36 @@ public abstract class AbstractCodanCMarkerResolution implements final int charStart = marker.getAttribute(IMarker.CHAR_START, -1); final int length = marker.getAttribute(IMarker.CHAR_END, -1) - charStart; + return getASTNameFromPositions(ast, charStart, length); + } + + /** + * @param ast + * @param charStart + * @param length + * @return + */ + protected IASTName getASTNameFromPositions(IASTTranslationUnit ast, + final int charStart, final int length) { IASTName name = ast.getNodeSelector(null).findEnclosingName(charStart, length); return name; } + + /** + * Receives an {@link IIndex} corresponding to the given {@link IMarker}'s + * resource. + * + * @param marker + * the marker to use + * @return the received index + * @throws CoreException + */ + protected IIndex getIndexFromMarker(final IMarker marker) + throws CoreException { + IProject project = marker.getResource().getProject(); + ICProject cProject = CoreModel.getDefault().create(project); + IIndex index = CCorePlugin.getIndexManager().getIndex(cProject); + return index; + } } |