org.eclipse.ui.texteditor.MarkerUtilities#getLineNumber ( )源码实例Demo

下面列出了org.eclipse.ui.texteditor.MarkerUtilities#getLineNumber ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: n4js   文件: ProjectTestsUtils.java
/**
 * Asserts that the given resource (usually an N4JS file) contains issues with the given messages and no other
 * issues. Each message given should be prefixed with the line numer where the issues occurs, e.g.:
 *
 * <pre>
 * line 5: Couldn't resolve reference to identifiable element 'unknown'.
 * </pre>
 *
 * Column information is not provided, so this method is not intended for several issues within a single line.
 *
 * @param msg
 *            human-readable, informative message prepended to the standard message in case of assertion failure.
 * @param resource
 *            resource to be validated.
 * @param expectedMessages
 *            expected issues messages to check or empty array to assert no issues.
 * @throws CoreException
 *             in case of mishap.
 */
public static void assertIssues(String msg, final IResource resource, String... expectedMessages)
		throws CoreException {
	waitForAutoBuild();

	final IMarker[] markers = resource.findMarkers(MarkerTypes.ANY_VALIDATION, true, IResource.DEPTH_INFINITE);
	final String[] actualMessages = new String[markers.length];
	for (int i = 0; i < markers.length; i++) {
		final IMarker m = markers[i];
		actualMessages[i] = "line " + MarkerUtilities.getLineNumber(m) + ": " + m.getAttribute(IMarker.MESSAGE);
	}
	Set<String> actual = new TreeSet<>(Arrays.asList(actualMessages));
	Set<String> expected = new TreeSet<>(Arrays.asList(expectedMessages));

	if (!actual.equals(expected)) {
		StringBuilder message = new StringBuilder(msg != null ? msg : "");
		message.append("\nexpected:\n");
		message.append(expectedMessages.length > 0 ? Joiner.on('\n').join(expectedMessages) : "<none>");
		message.append("\nactual:\n");
		message.append(actualMessages.length > 0 ? Joiner.on('\n').join(actualMessages) : "<none>");
		Assert.fail(message.toString());
	}
}
 
源代码2 项目: xds-ide   文件: XBookmarksDialogHandler.java
protected XBookmarksDialog.Model.Row getDescription (IMarker marker) {
    if (marker!= null && marker.exists()) {
        int markerNumber = marker.getAttribute(XBookmarksPlugin.BOOKMARK_NUMBER_ATTR, -1);
        if (markerNumber >=0 && markerNumber <= 9) {
            int    line       = MarkerUtilities.getLineNumber(marker);
            String resName    = marker.getResource().getName();
            
            String markerName = MarkerUtilities.getMessage(marker);
            String prefix     = mkBookmarkNamePrefix(markerNumber);
            if (markerName.startsWith(prefix)) {
                markerName = markerName.substring(prefix.length());
                if (markerName.startsWith(": ")) { //$NON-NLS-1$
                    markerName = markerName.substring(2);
                }
                markerName = markerName.trim();
                if (markerName.isEmpty()) {
                    markerName = prefix;
                }
            }
            return new XBookmarksDialog.Model.Row(new String[]{ "" + markerNumber + "."  //$NON-NLS-1$ //$NON-NLS-2$
                                                              , resName + ":" + line     //$NON-NLS-1$ 
                                                              , markerName}).setData(markerNumber);  
        }
    }
    return null;
}
 
源代码3 项目: xtext-eclipse   文件: IResourcesSetupUtil.java
public static void assertNoErrorsInWorkspace() throws CoreException {
	IMarker[] findMarkers = ResourcesPlugin.getWorkspace().getRoot().findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
	String msg = "";
	for (IMarker iMarker : findMarkers) {
		if (MarkerUtilities.getSeverity(iMarker) == IMarker.SEVERITY_ERROR)
			msg += "\n - "+iMarker.getResource().getName()+":"+MarkerUtilities.getLineNumber(iMarker)+" - "+MarkerUtilities.getMessage(iMarker) + "("+MarkerUtilities.getMarkerType(iMarker)+")";
	}
	if (msg.length()>0)
		Assert.fail("Workspace contained errors: "+msg);
}
 
源代码4 项目: xtext-eclipse   文件: IResourcesSetupUtil.java
public static void assertNoErrorsInWorkspace() throws CoreException {
	IMarker[] findMarkers = root().findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
	String msg = "";
	for (IMarker iMarker : findMarkers) {
		if (MarkerUtilities.getSeverity(iMarker) == IMarker.SEVERITY_ERROR)
			msg += "\n - "+iMarker.getResource().getName()+":"+MarkerUtilities.getLineNumber(iMarker)+" - "+MarkerUtilities.getMessage(iMarker) + "("+MarkerUtilities.getMarkerType(iMarker)+")";
	}
	if (msg.length()>0)
		Assert.fail("Workspace contained errors: "+msg);
}
 
源代码5 项目: Pydev   文件: PyMarkerUIUtils.java
/**
 * @return the position for a marker.
 */
public static Position getMarkerPosition(IDocument document, IMarker marker, IAnnotationModel model) {
    if (model instanceof AbstractMarkerAnnotationModel) {
        Position ret = ((AbstractMarkerAnnotationModel) model).getMarkerPosition(marker);
        if (ret != null) {
            return ret;
        }
    }
    int start = MarkerUtilities.getCharStart(marker);
    int end = MarkerUtilities.getCharEnd(marker);

    if (start > end) {
        end = start + end;
        start = end - start;
        end = end - start;
    }

    if (start == -1 && end == -1) {
        // marker line number is 1-based
        int line = MarkerUtilities.getLineNumber(marker);
        if (line > 0 && document != null) {
            try {
                start = document.getLineOffset(line - 1);
                end = start;
            } catch (BadLocationException x) {
            }
        }
    }

    if (start > -1 && end > -1) {
        return new Position(start, end - start);
    }

    return null;
}
 
源代码6 项目: goclipse   文件: ExternalBreakpointWatcher.java
protected int getMarkerPosition(IMarker marker) throws BadLocationException {
	int line = MarkerUtilities.getLineNumber(marker);
	if (line > 0) {
		return document.getLineOffset(line - 1);
	}
	throw new BadLocationException();
}
 
源代码7 项目: birt   文件: ReportXMLSourceEditorFormPage.java
public boolean selectReveal( Object marker )
{
	int start = MarkerUtilities.getCharStart( (IMarker) marker );
	int end = MarkerUtilities.getCharEnd( (IMarker) marker );

	boolean selectLine = start < 0 || end < 0;

	// look up the current range of the marker when the document has been
	// edited
	IAnnotationModel model = reportXMLEditor.getDocumentProvider( )
			.getAnnotationModel( reportXMLEditor.getEditorInput( ) );
	if ( model instanceof AbstractMarkerAnnotationModel )
	{
		AbstractMarkerAnnotationModel markerModel = (AbstractMarkerAnnotationModel) model;
		Position pos = markerModel.getMarkerPosition( (IMarker) marker );
		if ( pos != null )
		{
			if ( !pos.isDeleted( ) )
			{
				// use position instead of marker values
				start = pos.getOffset( );
				end = pos.getOffset( ) + pos.getLength( );
			}
			else
			{
				return false;
			}
		}
	}

	IDocument document = reportXMLEditor.getDocumentProvider( )
			.getDocument( reportXMLEditor.getEditorInput( ) );
	if ( selectLine )
	{
		int line;
		try
		{
			if ( start >= 0 )
				line = document.getLineOfOffset( start );
			else
			{
				line = MarkerUtilities.getLineNumber( (IMarker) marker );
				// Marker line numbers are 1-based
				if ( line >= 1 )
				{
					line--;
				}
				start = document.getLineOffset( line );
			}
			end = start + document.getLineLength( line ) - 1;
		}
		catch ( BadLocationException e )
		{
			return false;
		}
	}

	int length = document.getLength( );
	if ( end - 1 < length && start < length )
		reportXMLEditor.selectAndReveal( start, end - start );
	return true;
}