private static Position getDocumentationStartPosition(DiagnosticPos nodePos, List<BLangAnnotationAttachment> annotations) { DiagnosticPos startPos; if (annotations.isEmpty()) { startPos = CommonUtil.toZeroBasedPosition(nodePos); } else { startPos = CommonUtil.toZeroBasedPosition(annotations.get(0).getPosition()); } return new Position(startPos.getStartLine(), startPos.getStartColumn()); }
private static Position createPosition(IDocument document, int offset) { Position start = new Position(); try { int lineOfOffset = document.getLineOfOffset(offset); start.setLine(Integer.valueOf(lineOfOffset)); start.setCharacter(Integer.valueOf(offset - document.getLineOffset(lineOfOffset))); } catch (BadLocationException e) { JavaLanguageServerPlugin.logException(e.getMessage(), e); } return start; }
Position clone(Position position) { if (position == null) { return null; } int line = position.getLine(); int character = position.getCharacter(); Position cloned = new Position(); cloned.setLine(line); cloned.setCharacter(character); return cloned; } }
public Position toPosition(int offset) { int line = lineNumber(offset); int startOfLine = startOfLine(line); int column = offset - startOfLine; Position pos = new Position(); pos.setCharacter(column); pos.setLine(line); return pos; }
@Test public void testInvalidCodeLens() { ResponseMessage message = new ResponseMessage(); message.setId("1"); CodeLens codeLens = new CodeLens(new Range(new Position(3, 32), new Position(3, 35)), null, null); // forbidden self reference! codeLens.setData(codeLens); message.setResult(codeLens); assertIssues(message, "An element of the message has a direct or indirect reference to itself."); }
@Test public void testDefinition() throws InterruptedException, ExecutionException { String uri = filePath.toAbsolutePath().toString(); TextDocumentPositionParams params = new TextDocumentPositionParams(new TextDocumentIdentifier(uri), uri, new Position(5, 5)); CompletableFuture<List<? extends Location>> response = service.definition(params); assertThat(response.get(), is(Lists.newArrayList(expectedDefinitionLocation.get()))); }
@Test public void testDefinition_NoDefinition() throws InterruptedException, ExecutionException { String uri = filePath.toAbsolutePath().toString(); TextDocumentPositionParams params = new TextDocumentPositionParams(new TextDocumentIdentifier(uri), uri, new Position(4, 4)); CompletableFuture<List<? extends Location>> response = service.definition(params); assertThat(response.get(), is(Lists.newArrayList())); }
public Position newPosition(final Resource resource, final int offset) { if ((resource instanceof XtextResource)) { final ICompositeNode rootNode = ((XtextResource)resource).getParseResult().getRootNode(); final LineAndColumn lineAndColumn = NodeModelUtils.getLineAndColumn(rootNode, offset); int _line = lineAndColumn.getLine(); int _minus = (_line - 1); int _column = lineAndColumn.getColumn(); int _minus_1 = (_column - 1); return new Position(_minus, _minus_1); } return null; }
@Test public void testCompletion_noSymbols() throws InterruptedException, ExecutionException { String uri = workspace.getRoot().toPath().resolve("somethingthatdoesntexist.groovy").toString(); TextDocumentPositionParams params = new TextDocumentPositionParams(new TextDocumentIdentifier(uri), uri, new Position(5, 5)); CompletableFuture<Either<List<CompletionItem>, CompletionList>> response = service.completion(params); assertThat(response.get().getRight().isIncomplete(), is(false)); assertThat(response.get().getRight().getItems(), is(Lists.newArrayList())); }
@Test public void testCompletion() throws InterruptedException, ExecutionException { String uri = filePath.toAbsolutePath().toString(); TextDocumentPositionParams params = new TextDocumentPositionParams(new TextDocumentIdentifier(uri), uri, new Position(5, 5)); CompletableFuture<Either<List<CompletionItem>, CompletionList>> response = service.completion(params); assertThat(response.get().getRight().isIncomplete(), is(expectedCompletionList.isIncomplete())); assertThat(Sets.newHashSet(response.get().getRight().getItems()), is(Sets.newHashSet(expectedCompletionList.getItems()))); }
@Test public void isBefore_equals() { Position position = new Position(3, 3); Assert.assertFalse(Positions.isBefore(position, position)); }
@Test public void testReferences() throws InterruptedException, ExecutionException { ReferenceParams params = new ReferenceParams(new ReferenceContext(false)); params.setPosition(new Position(5, 5)); params.setTextDocument(new TextDocumentIdentifier("uri")); params.setUri("uri"); CompletableFuture<List<? extends Location>> response = service.references(params); assertThat(response.get().stream().collect(Collectors.toSet()), is(expectedReferences)); }
@Test public void containsPosition_afterSameLine() { Assert.assertFalse(Ranges.containsPosition(newRange(1, 1, 2, 2), new Position(2, 4))); }
private static ReferenceParams createReferenceParams(URI uri, int line, int col, boolean includeDeclaration) { ReferenceParams referenceParams = new ReferenceParams(new ReferenceContext(includeDeclaration)); referenceParams.setTextDocument(new TextDocumentIdentifier(uri.toString())); referenceParams.setPosition(new Position(line, col)); return referenceParams; }