Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2005-04-26 17:58:50 +0000
committerAlain Magloire2005-04-26 17:58:50 +0000
commita88eb122a299e2ba9c922af7aec2c06c2608ca82 (patch)
treecfbe99c8ae44e6f129dc56f58165846a51186df9
parent241036375cea5bddda2cfb6fcc6ff072594f8679 (diff)
downloadorg.eclipse.cdt-a88eb122a299e2ba9c922af7aec2c06c2608ca82.tar.gz
org.eclipse.cdt-a88eb122a299e2ba9c922af7aec2c06c2608ca82.tar.xz
org.eclipse.cdt-a88eb122a299e2ba9c922af7aec2c06c2608ca82.zip
Use the offset of the IMatch
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java
index 71aba957992..017d8adc7ed 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java
@@ -79,15 +79,15 @@ public class CSourceHover extends AbstractCEditorTextHover implements ITextHover
if (expression.length() == 0)
return null;
+ String source = null;
+
ICElement curr = copy.getElement(expression);
if (curr == null) {
// Try with the indexer
- curr = findMatches(expression);
- if (curr == null) {
- return null;
- }
+ source = findMatches(expression);
+ } else {
+ source= ((ISourceReference) curr).getSource();
}
- String source= ((ISourceReference) curr).getSource();
if (source == null || source.trim().length() == 0)
return null;
@@ -152,7 +152,7 @@ public class CSourceHover extends AbstractCEditorTextHover implements ITextHover
return source.substring(i);
}
- private ICElement findMatches(String name) {
+ private String findMatches(String name) {
IEditorPart editor = getEditor();
if (editor != null) {
IEditorInput input= editor.getEditorInput();
@@ -189,8 +189,11 @@ public class CSourceHover extends AbstractCEditorTextHover implements ITextHover
IResource resource = matches[0].getResource();
if (resource != null) {
ICElement celement = CoreModel.getDefault().create(resource);
- if (celement instanceof ITranslationUnit) {
- return ((ITranslationUnit)celement).getElement(name);
+ if (celement instanceof ITranslationUnit) {
+ ITranslationUnit unit = (ITranslationUnit)celement;
+ int startOffset = matches[0].getStartOffset();
+ int length = matches[0].getEndOffset() - startOffset;
+ return unit.getBuffer().getText(startOffset, length);
}
}
}

Back to the top