Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2010-07-21 02:21:46 +0000
committerAlena Laskavaia2010-07-21 02:21:46 +0000
commit42b0b537db48ed573340261b32ee01314a0f23de (patch)
tree3937300cfc3e28f6272016bd1a4ab7bec5860fde /codan/org.eclipse.cdt.codan.ui
parent8558e5257982b84bdd3d0fb23d7e79335fe238fc (diff)
downloadorg.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.java33
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;
+ }
}

Back to the top