Skip to content

Commit 6e6bbbf

Browse files
tobias-melchertobiasmelcher
authored andcommitted
Introduce AbstractInlinedAnnotation#getMinings() to expose ICodeMining
list Adds a new public API method `getMinings()` to `AbstractInlinedAnnotation` that provides read-only access to the list of `ICodeMining` instances associated with an inlined annotation. This API is needed to implement the unified diff feature via eclipse-platform/eclipse.platform#2560
1 parent 4d4e25a commit 6e6bbbf

File tree

5 files changed

+42
-1
lines changed

5 files changed

+42
-1
lines changed

bundles/org.eclipse.jface.text/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: %pluginName
44
Bundle-SymbolicName: org.eclipse.jface.text
5-
Bundle-Version: 3.30.100.qualifier
5+
Bundle-Version: 3.31.0.qualifier
66
Bundle-Vendor: %providerName
77
Bundle-Localization: plugin
88
Export-Package:

bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningDocumentFooterAnnotation.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import static org.eclipse.jface.internal.text.codemining.CodeMiningLineHeaderAnnotation.hasAtLeastOneResolvedMiningNotEmpty;
1616

1717
import java.util.ArrayList;
18+
import java.util.Collections;
1819
import java.util.List;
1920
import java.util.function.Consumer;
2021

@@ -144,4 +145,12 @@ public Consumer<MouseEvent> getAction(MouseEvent e) {
144145
public boolean isInVisibleLines() {
145146
return super.isInVisibleLines();
146147
}
148+
149+
/**
150+
* @since 3.31
151+
*/
152+
@Override
153+
public List<ICodeMining> getMinings() {
154+
return Collections.unmodifiableList(fMinings);
155+
}
147156
}

bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineContentAnnotation.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package org.eclipse.jface.internal.text.codemining;
1515

1616
import java.util.ArrayList;
17+
import java.util.Collections;
1718
import java.util.List;
1819
import java.util.function.Consumer;
1920

@@ -216,4 +217,12 @@ public boolean isInVisibleLines() {
216217
public final boolean isAfterPosition() {
217218
return afterPosition;
218219
}
220+
221+
/**
222+
* @since 3.31
223+
*/
224+
@Override
225+
public List<ICodeMining> getMinings() {
226+
return Collections.unmodifiableList(fMinings);
227+
}
219228
}

bundles/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/codemining/CodeMiningLineHeaderAnnotation.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package org.eclipse.jface.internal.text.codemining;
1515

1616
import java.util.ArrayList;
17+
import java.util.Collections;
1718
import java.util.List;
1819
import java.util.function.Consumer;
1920
import java.util.stream.Stream;
@@ -290,4 +291,12 @@ public Consumer<MouseEvent> getAction(MouseEvent e) {
290291
public boolean isInVisibleLines() {
291292
return super.isInVisibleLines();
292293
}
294+
295+
/**
296+
* @since 3.31
297+
*/
298+
@Override
299+
public List<ICodeMining> getMinings() {
300+
return Collections.unmodifiableList(fMinings);
301+
}
293302
}

bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/inlined/AbstractInlinedAnnotation.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
*/
1414
package org.eclipse.jface.text.source.inlined;
1515

16+
import java.util.Collections;
17+
import java.util.List;
1618
import java.util.function.Consumer;
1719

1820
import org.eclipse.swt.SWT;
@@ -26,6 +28,7 @@
2628
import org.eclipse.jface.text.ITextViewerExtension5;
2729
import org.eclipse.jface.text.Position;
2830
import org.eclipse.jface.text.Region;
31+
import org.eclipse.jface.text.codemining.ICodeMining;
2932
import org.eclipse.jface.text.source.Annotation;
3033
import org.eclipse.jface.text.source.ISourceViewer;
3134
import org.eclipse.jface.text.source.projection.ProjectionViewer;
@@ -300,6 +303,17 @@ void setLocation(int x, int y) {
300303
this.fY= y;
301304
}
302305

306+
/**
307+
* Returns the list of code minings associated with this annotation, or an empty list if this
308+
* annotation has no associated minings.
309+
*
310+
* @return an unmodifiable list of code minings, never <code>null</code>
311+
* @since 3.31
312+
*/
313+
public List<ICodeMining> getMinings() {
314+
return Collections.emptyList();
315+
}
316+
303317
/**
304318
* Returns <code>true</code> if the point specified by the arguments is inside the annotation
305319
* specified by the receiver, and <code>false</code> otherwise.

0 commit comments

Comments
 (0)