public ITextRegion exec(XtextResource xtextResource) throws Exception { ITextRegion result = selection; if (xtextResource != null) { IParseResult parseResult = xtextResource.getParseResult(); if (parseResult != null) { result = internalSelect(xtextResource, selection); } } return result; } };
protected EObject getModel(XtextResource resource) { return resource.getParseResult().getRootASTElement(); }
protected final IParseResult getParseResultAndExpect(String model, int errors) throws Exception { return getResourceFromStringAndExpect(model, errors).getParseResult(); }
protected final IParseResult getParseResult(String model) throws Exception { return getResourceFromString(model).getParseResult(); }
@Override public int getImportSectionOffset(XtextResource resource) { if(resource.getParseResult() != null && resource.getParseResult().getRootNode() != null) { List<EObject> pathToImportSection = findPathToImportSection(); if(pathToImportSection != null) { INode node = findPreviousNode(resource.getParseResult().getRootNode(), pathToImportSection); if(node != null) return node.getTotalEndOffset(); } } return 0; }
protected void searchAndHighlightElements(XtextResource resource, IHighlightedPositionAcceptor acceptor, CancelIndicator cancelIndicator) { IParseResult parseResult = resource.getParseResult(); if (parseResult == null) throw new IllegalStateException("resource#parseResult may not be null"); EObject element = parseResult.getRootASTElement(); highlightElementRecursively(element, acceptor, cancelIndicator); }
@Override public boolean isValidLineForBreakPoint(XtextResource resource, int line) { IParseResult parseResult = resource.getParseResult(); if (parseResult == null) return false; ICompositeNode node = parseResult.getRootNode(); return isValidLineForBreakpoint(node, line); }
protected void removeNullEdits(XtextResource resource, List<ReplaceRegion> changes) { Iterator<ReplaceRegion> iterator = changes.iterator(); String document = resource.getParseResult().getRootNode().getText(); while(iterator.hasNext()) { ReplaceRegion region = iterator.next(); if (region.getText().equals(document.substring(region.getOffset(), region.getEndOffset()))) { iterator.remove(); } } }
protected void fillGrammarElementToIdMap(XtextResource r) { IParseResult parseResult = r.getParseResult(); if (parseResult != null) { RootNode it = (RootNode) parseResult.getRootNode(); it.fillGrammarElementToIdMap(grammarElementToIdMap, grammarIdToURIMap); } }
@Override protected void doProvideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor, CancelIndicator cancelIndicator) { IParseResult parseResult = resource.getParseResult(); if (parseResult == null) throw new IllegalStateException("resource#parseResult may not be null"); ICompositeNode node = parseResult.getRootNode(); highlightSpecialIdentifiers(acceptor, node); super.doProvideHighlightingFor(resource, acceptor, cancelIndicator); }
protected Document getDocument(final XtextResource resource) { Document _elvis = null; Document _get = this.openDocuments.get(resource.getURI()); if (_get != null) { _elvis = _get; } else { String _text = resource.getParseResult().getRootNode().getText(); Document _document = new Document(Integer.valueOf(1), _text); _elvis = _document; } return _elvis; }
public ITextRegion addTrailingWhitespace(ITextRegion textRegion, XtextResource resource) { String text = resource.getParseResult().getRootNode().getText(); int offset = textRegion.getOffset(); int length = textRegion.getLength(); while(offset + length < text.length() && Character.isWhitespace(text.charAt(offset+length))) { ++length; } return new TextRegion(offset, length); }
protected void checkNodeModel(XtextResource resource) { IParseResult parseResult = resource.getParseResult(); if(parseResult != null) getInvariantChecker().checkInvariant(parseResult.getRootNode()); }
public ILeafNode getLeafNodeAtOffset() { ILeafNode node = NodeModelUtils.findLeafNodeAtOffset(resource.getParseResult().getRootNode(), offset); Assert.assertNotNull("No Leaf Node found at offset " + offset, node); return node; }
private boolean isIgnored(JvmType type, ITextRegion refRegion) { IParseResult parseResult = getResource().getParseResult(); if (parseResult == null) { return false; } String completeText = parseResult.getRootNode().getText(); CharSequence refText = completeText.subSequence(refRegion.getOffset(), refRegion.getOffset() + refRegion.getLength()); return type.getQualifiedName().equals(refText); }
public ITextRegion addTrailingSingleWhitespace(ITextRegion textRegion, String lineSeparator, XtextResource resource) { String text = resource.getParseResult().getRootNode().getText(); String theFollowing = text.substring(textRegion.getOffset() + textRegion.getLength()); if(!isEmpty(theFollowing)) { if(theFollowing.startsWith(lineSeparator)) return new TextRegion(textRegion.getOffset(), textRegion.getLength() + lineSeparator.length()); else if(Character.isWhitespace(theFollowing.charAt(0))) return new TextRegion(textRegion.getOffset(), textRegion.getLength() + 1); } return textRegion; } }
public void collectParameters(Class<?> testClass, XtextResource resource, IParameterAcceptor acceptor) { collectTestMethods(testClass, resource, acceptor); for (ILeafNode leaf : resource.getParseResult().getRootNode().getLeafNodes()) if (leaf.isHidden() && leaf.getText().contains("XPECT")) parseLeaf(testClass, resource, leaf, acceptor); }
protected String getTextFromNodeModel(EObject semanticObject) { Resource res = semanticObject.eResource(); if (res instanceof XtextResource && res.getContents().contains(semanticObject)) return ((XtextResource) res).getParseResult().getRootNode().getText(); INode node = NodeModelUtils.getNode(semanticObject); Assert.assertNotNull(node); return node.getText(); }
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; }
protected String getTextFromNodeModel(EObject semanticObject) { Resource res = semanticObject.eResource(); if (res instanceof XtextResource && res.getContents().contains(semanticObject)) return ((XtextResource) res).getParseResult().getRootNode().getText(); INode node = NodeModelUtils.getNode(semanticObject); Assert.assertNotNull(node); return node.getText(); }