diff --git a/bundles/org.eclipse.jface.text/META-INF/MANIFEST.MF b/bundles/org.eclipse.jface.text/META-INF/MANIFEST.MF index fe46a55bb3c..653c7b05d9d 100644 --- a/bundles/org.eclipse.jface.text/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.jface.text/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jface.text -Bundle-Version: 3.30.100.qualifier +Bundle-Version: 3.31.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningDocumentFooterAnnotation.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningDocumentFooterAnnotation.java index 15edfd5121b..dd19be3727f 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningDocumentFooterAnnotation.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningDocumentFooterAnnotation.java @@ -15,6 +15,7 @@ import static org.eclipse.jface.internal.text.codemining.CodeMiningLineHeaderAnnotation.hasAtLeastOneResolvedMiningNotEmpty; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.function.Consumer; @@ -144,4 +145,12 @@ public Consumer getAction(MouseEvent e) { public boolean isInVisibleLines() { return super.isInVisibleLines(); } + + /** + * @since 3.31 + */ + @Override + public List getMinings() { + return Collections.unmodifiableList(fMinings); + } } diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineContentAnnotation.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineContentAnnotation.java index e01fab82a32..5390806d1cd 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineContentAnnotation.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineContentAnnotation.java @@ -14,6 +14,7 @@ package org.eclipse.jface.internal.text.codemining; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.function.Consumer; @@ -216,4 +217,12 @@ public boolean isInVisibleLines() { public final boolean isAfterPosition() { return afterPosition; } + + /** + * @since 3.31 + */ + @Override + public List getMinings() { + return Collections.unmodifiableList(fMinings); + } } diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineHeaderAnnotation.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineHeaderAnnotation.java index 906a4274ff7..657e34cfd7f 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineHeaderAnnotation.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineHeaderAnnotation.java @@ -14,6 +14,7 @@ package org.eclipse.jface.internal.text.codemining; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.function.Consumer; import java.util.stream.Stream; @@ -290,4 +291,12 @@ public Consumer getAction(MouseEvent e) { public boolean isInVisibleLines() { return super.isInVisibleLines(); } + + /** + * @since 3.31 + */ + @Override + public List getMinings() { + return Collections.unmodifiableList(fMinings); + } } diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/inlined/AbstractInlinedAnnotation.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/inlined/AbstractInlinedAnnotation.java index 1dcff122ce1..0788a17cccf 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/inlined/AbstractInlinedAnnotation.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/inlined/AbstractInlinedAnnotation.java @@ -13,6 +13,8 @@ */ package org.eclipse.jface.text.source.inlined; +import java.util.Collections; +import java.util.List; import java.util.function.Consumer; import org.eclipse.swt.SWT; @@ -26,6 +28,7 @@ import org.eclipse.jface.text.ITextViewerExtension5; import org.eclipse.jface.text.Position; import org.eclipse.jface.text.Region; +import org.eclipse.jface.text.codemining.ICodeMining; import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.projection.ProjectionViewer; @@ -300,6 +303,17 @@ void setLocation(int x, int y) { this.fY= y; } + /** + * Returns the list of code minings associated with this annotation, or an empty list if this + * annotation has no associated minings. + * + * @return an unmodifiable list of code minings, never null + * @since 3.31 + */ + public List getMinings() { + return Collections.emptyList(); + } + /** * Returns true if the point specified by the arguments is inside the annotation * specified by the receiver, and false otherwise.