类org.eclipse.lsp4j.util.Ranges源码实例Demo

下面列出了怎么用org.eclipse.lsp4j.util.Ranges的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: n4js   文件: QuickfixContext.java
/**
 * Return the current diagnostic or null, if it cannot be determined generically.
 */
public Diagnostic getDiagnostic() {
	CodeActionContext context = options.getCodeActionParams().getContext();
	for (Diagnostic d : context.getDiagnostics()) {
		if (issueCode.equals(d.getCode())) {
			if (Ranges.containsRange(d.getRange(), options.getCodeActionParams().getRange())) {
				return d;
			}
		}
	}
	return null;
}
 
@Override
public Hover collectHover(JavaHoverContext context) {
	PsiElement hoverElement = PsiTreeUtil.getParentOfType(context.getHoverElement(), PsiField.class);
	if (!(hoverElement instanceof PsiField)) {
		return null;
	}

	PsiFile typeRoot = context.getTypeRoot();
	IPsiUtils utils = context.getUtils();

	Position hoverPosition = context.getHoverPosition();
	PsiField hoverField = (PsiField) hoverElement;

	PsiAnnotation annotation = getAnnotation(hoverField, CONFIG_PROPERTY_ANNOTATION);

	if (annotation == null) {
		return null;
	}

	String annotationSource = annotation.getText();
	String propertyKey = getAnnotationMemberValue(annotation, CONFIG_PROPERTY_ANNOTATION_NAME);

	if (propertyKey == null) {
		return null;
	}

	TextRange r = annotation.getTextRange();
	int offset = annotationSource.indexOf(propertyKey);
	final Range propertyKeyRange = utils.toRange(typeRoot, r.getStartOffset() + offset, propertyKey.length());

	if (hoverPosition.equals(propertyKeyRange.getEnd())
			|| !Ranges.containsPosition(propertyKeyRange, hoverPosition)) {
		return null;
	}

	Module javaProject = context.getJavaProject();

	if (javaProject == null) {
		return null;
	}

	String propertyValue = PsiMicroProfileProjectManager.getInstance().getJDTMicroProfileProject(javaProject)
			.getProperty(propertyKey, null);
	if (propertyValue == null) {
		propertyValue = getAnnotationMemberValue(annotation, CONFIG_PROPERTY_ANNOTATION_DEFAULT_VALUE);
		if (propertyValue != null && propertyValue.length() == 0) {
			propertyValue = null;
		}
	}
	DocumentFormat documentFormat = context.getDocumentFormat();
	return new Hover(getDocumentation(propertyKey, propertyValue, documentFormat, true), propertyKeyRange);
}
 
源代码3 项目: xtext-core   文件: AbstractLanguageServerTest.java
/**
 * @since 2.16
 */
protected String _toExpectation(final DocumentSymbol it) {
  String _xblockexpression = null;
  {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("selectionRange must be contained in the range: ");
    _builder.append(it);
    Assert.assertTrue(_builder.toString(), Ranges.containsRange(it.getRange(), it.getSelectionRange()));
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append("symbol \"");
    String _name = it.getName();
    _builder_1.append(_name);
    _builder_1.append("\" {");
    _builder_1.newLineIfNotEmpty();
    _builder_1.append("    ");
    _builder_1.append("kind: ");
    int _value = it.getKind().getValue();
    _builder_1.append(_value, "    ");
    _builder_1.newLineIfNotEmpty();
    _builder_1.append("    ");
    _builder_1.append("range: ");
    String _expectation = this.toExpectation(it.getRange());
    _builder_1.append(_expectation, "    ");
    _builder_1.newLineIfNotEmpty();
    _builder_1.append("    ");
    _builder_1.append("selectionRange: ");
    String _expectation_1 = this.toExpectation(it.getSelectionRange());
    _builder_1.append(_expectation_1, "    ");
    _builder_1.newLineIfNotEmpty();
    _builder_1.append("    ");
    _builder_1.append("details: ");
    String _detail = it.getDetail();
    _builder_1.append(_detail, "    ");
    _builder_1.newLineIfNotEmpty();
    _builder_1.append("    ");
    _builder_1.append("deprecated: ");
    Boolean _deprecated = it.getDeprecated();
    _builder_1.append(_deprecated, "    ");
    _builder_1.newLineIfNotEmpty();
    {
      boolean _isNullOrEmpty = IterableExtensions.isNullOrEmpty(it.getChildren());
      boolean _not = (!_isNullOrEmpty);
      if (_not) {
        _builder_1.append("    ");
        _builder_1.append("children: [");
        _builder_1.newLine();
        _builder_1.append("    ");
        _builder_1.append("\t");
        {
          List<DocumentSymbol> _children = it.getChildren();
          boolean _hasElements = false;
          for(final DocumentSymbol child : _children) {
            if (!_hasElements) {
              _hasElements = true;
            } else {
              _builder_1.appendImmediate("\n", "    \t");
            }
            String _expectation_2 = this.toExpectation(child);
            _builder_1.append(_expectation_2, "    \t");
          }
        }
        _builder_1.newLineIfNotEmpty();
        _builder_1.append("    ");
        _builder_1.append("]");
        _builder_1.newLine();
      }
    }
    _builder_1.append("}");
    _xblockexpression = _builder_1.toString();
  }
  return _xblockexpression;
}
 
源代码4 项目: xtext-core   文件: RenameService2.java
/**
 * If this method returns {@code false}, it is sure, that the rename operation will fail. There is no guarantee that
 * it will succeed even if it returns {@code true}.
 */
protected boolean mayPerformRename(Either<Range, PrepareRenameResult> prepareRenameResult,
		RenameParams renameParams) {
	return prepareRenameResult != null && prepareRenameResult.getLeft() != null
			&& Ranges.containsPosition(prepareRenameResult.getLeft(), renameParams.getPosition());
}
 
源代码5 项目: lsp4j   文件: RangesTest.java
@Test(expected = NullPointerException.class)
public void containsRange_nullBigger() {
	Ranges.containsRange(null, newRange(0, 0, 1, 1));
}
 
源代码6 项目: lsp4j   文件: RangesTest.java
@Test(expected = NullPointerException.class)
public void containsRange_nullSmaller() {
	Ranges.containsRange(newRange(0, 0, 1, 1), null);
}
 
源代码7 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_beforeAbove() {
	Assert.assertFalse(Ranges.containsRange(newRange(2, 2, 3, 3), newRange(0, 0, 1, 1)));
}
 
源代码8 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_beforeSameLine() {
	Assert.assertFalse(Ranges.containsRange(newRange(1, 2, 3, 3), newRange(0, 0, 1, 1)));
}
 
源代码9 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_beforeIntersects() {
	Assert.assertFalse(Ranges.containsRange(newRange(1, 2, 3, 3), newRange(0, 0, 1, 3)));
}
 
源代码10 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_same() {
	Assert.assertTrue(Ranges.containsRange(newRange(0, 0, 1, 3), newRange(0, 0, 1, 3)));
}
 
源代码11 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_equals() {
	Range range = newRange(0, 0, 1, 3);
	Assert.assertTrue(Ranges.containsRange(range, range));
}
 
源代码12 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_inside() {
	Assert.assertTrue(Ranges.containsRange(newRange(0, 0, 3, 3), newRange(1, 1, 2, 2)));
}
 
源代码13 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_afterBelow() {
	Assert.assertFalse(Ranges.containsRange(newRange(2, 2, 3, 3), newRange(4, 4, 5, 5)));
}
 
源代码14 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_afterSameLine() {
	Assert.assertFalse(Ranges.containsRange(newRange(2, 2, 3, 3), newRange(3, 4, 5, 5)));
}
 
源代码15 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_afterIntersects() {
	Assert.assertFalse(Ranges.containsRange(newRange(2, 2, 3, 3), newRange(3, 1, 5, 5)));
}
 
源代码16 项目: lsp4j   文件: RangesTest.java
@Test
public void containsRange_overlaps() {
	Assert.assertFalse(Ranges.containsRange(newRange(2, 2, 3, 3), newRange(1, 1, 5, 5)));
}
 
源代码17 项目: lsp4j   文件: RangesTest.java
@Test(expected = NullPointerException.class)
public void containsPosition_nullRange() {
	Ranges.containsPosition(null, new Position(0, 0));
}
 
源代码18 项目: lsp4j   文件: RangesTest.java
@Test(expected = NullPointerException.class)
public void containsPosition_nullPosition() {
	Ranges.containsPosition(newRange(0, 0, 1, 1), null);
}
 
源代码19 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_beforeAbove() {
	Assert.assertFalse(Ranges.containsPosition(newRange(1, 1, 2, 2), new Position(0, 1)));
}
 
源代码20 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_beforeSameLine() {
	Assert.assertFalse(Ranges.containsPosition(newRange(1, 3, 2, 2), new Position(1, 2)));
}
 
源代码21 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_leftBorder() {
	Assert.assertTrue(Ranges.containsPosition(newRange(1, 3, 2, 2), new Position(1, 3)));
}
 
源代码22 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_inside() {
	Assert.assertTrue(Ranges.containsPosition(newRange(1, 3, 2, 2), new Position(1, 4)));
}
 
源代码23 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_rightBorder() {
	Assert.assertTrue(Ranges.containsPosition(newRange(1, 3, 2, 2), new Position(2, 2)));
}
 
源代码24 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_afterSameLine() {
	Assert.assertFalse(Ranges.containsPosition(newRange(1, 1, 2, 2), new Position(2, 4)));
}
 
源代码25 项目: lsp4j   文件: RangesTest.java
@Test
public void containsPosition_afterBelow() {
	Assert.assertFalse(Ranges.containsPosition(newRange(1, 3, 2, 2), new Position(3, 3)));
}
 
 类所在包
 同包方法