Bug 541511 - Editing a .target file make the code mining vanish
Use "target" element start line and line=0 for invalid cases
Change-Id: I5e5b263c4dc160c2369c51994ac99719f6d84167
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
diff --git a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java
index d374e33..6c8061a 100644
--- a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java
+++ b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java
@@ -46,18 +46,20 @@
}
void fillCodeMinings(IDocument document, List<ICodeMining> minings) throws BadLocationException {
+ int line = 0;
try {
Parser parser = Parser.getDefault();
parser.parse(document);
Node target = parser.getRootNode();
if (target != null) {
- minings.add(new TargetDefinitionActivationCodeMining(2, document, this, null));
+ line = document.getLineOfOffset(target.getOffsetStart());
+ minings.add(new TargetDefinitionActivationCodeMining(line, document, this, null));
} else {
- minings.add(new TargetDefinitionActivationCodeMining(2, document, this,
+ minings.add(new TargetDefinitionActivationCodeMining(line, document, this,
Messages.TargetDefinitionCodeMiningProvider_e_format_invalid));
}
} catch (XMLStreamException e) {
- minings.add(new TargetDefinitionActivationCodeMining(2, document, this,
+ minings.add(new TargetDefinitionActivationCodeMining(line, document, this,
Messages.TargetDefinitionCodeMiningProvider_e_format_invalid));
}
}