Position jspRange = new Position(jspReferenceRegion.getStart(), jspReferenceRegion.getLength()); ITextRegionList regions = jspReferenceRegion.getRegions(); int size = regions.size(); r = regions.get(i); if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) if (jspReferenceRegion.getText(r).trim().equals("import")) { //$NON-NLS-1$ if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) { String jspImportText = jspReferenceRegion.getText(r); jspRange.setOffset(jspReferenceRegion.getStartOffset(r) + start); jspRange.setLength(length);
public String getFullText(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion aRegion) { // Must be proxied here since aRegion should always be a child of // *this* container and indexed from // this container's offset return parent.getFullText().substring(start + aRegion.getStart(), start + aRegion.getEnd()); }
/** * Append using a region, probably indirect mapping (eg. <%@page * include=""%>) * * @param newText * @param buffer * @param addToMap * @param jspReferenceRegion */ private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion) { int start = 0, length = 0; if (jspReferenceRegion != null) { start = jspReferenceRegion.getStartOffset(); length = jspReferenceRegion.getLength(); } appendToBuffer(newText, buffer, addToMap, jspReferenceRegion, start, length, false); }
private String getRegionName(ITextRegionCollection containerRegion) { ITextRegionList regions = containerRegion.getRegions(); ITextRegion nameRegion = null; for (int i = 0; i < regions.size(); i++) { ITextRegion r = regions.get(i); if (r.getType() == DOMRegionContext.XML_TAG_NAME) { nameRegion = r; break; } } return nameRegion != null ? containerRegion.getText(nameRegion).trim() : null; }
public ITextRegion getTwigToken(int offset) throws BadLocationException { return twigScriptRegion .getTwigToken(offset - regionCollection.getStartOffset() - twigScriptRegion.getStart() - 1); }
if (parentRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) final ITextRegionList regionList = parentRegion.getRegions(); if (regionList.size() >= 4) parentRegion.getStartOffset(content); final IStructuredDocumentContext elContext = IStructuredDocumentContextFactory.INSTANCE. contentStart); final String elText = parentRegion.getText(content); final int offset = parentRegion.getStartOffset(openVBLQuote)+1; final int length = 2; int length = parentRegion.getText().length();
int start = stRegion.getStartOffset(); int end = stRegion.getEndOffset(); if (stRegion instanceof ITextRegionContainer && stRegion.getType() == DOMRegionContext.BLOCK_TEXT) { if (stRegion.getRegions() != null && stRegion.getRegions().size() > 1) { ITextRegion jspContent = stRegion.getRegions().get(1); // should start = stRegion.getStartOffset(jspContent); end = stRegion.getEndOffset(jspContent); if (stRegion.getType() == DOMJSPRegionContexts.JSP_CONTENT || stRegion.getType() == DOMRegionContext.BLOCK_TEXT // need || stRegion.getType() == DOMRegionContext.XML_TAG_NAME) // need if (stRegion.getRegions() != null && stRegion.getRegions().size() > 1) jspContent = stRegion.getRegions().get(1); return (jspContent != null) ? stRegion.getFullText(jspContent) : stRegion.getFullText(); // don't else if (stRegion.getType() == DOMJSPRegionContexts.JSP_CLOSE) {
ITextRegionList embeddedRegions = embeddedContainer.getRegions(); ITextRegion delim = null; ITextRegion content = null; int contentStart = embeddedContainer.getStartOffset(content); int rStart = fCurrentNode.getStartOffset() + contentStart; int rEnd = fCurrentNode.getStartOffset() + embeddedContainer.getEndOffset(content); translateExpressionString(embeddedContainer.getText(content), embeddedContainer, contentStart, content.getLength()); translateScriptletString(embeddedContainer.getText(content), embeddedContainer, contentStart, content.getLength()); translateDeclarationString(embeddedContainer.getText(content), embeddedContainer, contentStart, content.getLength()); translateEL(embeddedContainer.getText(content), embeddedContainer.getText(delim), fCurrentNode, contentStart, content.getLength());
ITextRegionList regions = jspReferenceRegion.getRegions(); ITextRegion r = null; String attrName = "", attrValue = ""; //$NON-NLS-1$ //$NON-NLS-2$ r = regions.get(j); if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) { attrName = jspReferenceRegion.getText(r); if (regions.size() >= j + 2 && regions.get(j + 2).getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) { attrValue = jspReferenceRegion.getText(r); jspTypeRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length()); else if (attrName.equals("id")) //$NON-NLS-1$ jspIdRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length()); else if (attrName.equals("class")) //$NON-NLS-1$ jspClassRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
protected void validateXMLNode(ITextRegionCollection container, ITextRegion region, IReporter reporter, IFile file) { String elText = container.getText(region); JSPELParser elParser = JSPELParser.createParser(elText); int contentStart = container.getStartOffset(region); int contentLength = container.getLength(); try { elParser.Expression(); } catch (ParseException e) { Token curTok = e.currentToken; int problemStartOffset = contentStart + curTok.beginColumn; Message message = new LocalizedMessage(IMessage.NORMAL_SEVERITY, JSPCoreMessages.JSPEL_Syntax); message.setOffset(problemStartOffset); message.setLength(curTok.endColumn - curTok.beginColumn + 1); message.setTargetObject(file); reporter.addMessage(fMessageOriginator, message); } catch (TokenMgrError te) { Message message = new LocalizedMessage(IMessage.NORMAL_SEVERITY, JSPCoreMessages.JSPEL_Token); message.setOffset(contentStart); message.setLength(contentLength); message.setTargetObject(file); reporter.addMessage(fMessageOriginator, message); } } }
Iterator regions = containerRegion.getRegions().iterator(); ITextRegion region = null; while (regions.hasNext()) { decodeScriptBlock(containerRegion.getFullText(region), containerRegion.getStartOffset());
Iterator regions = containerRegion.getRegions().iterator(); ITextRegion region = null; String uri = null; if (type != null && (type == DOMRegionContext.XML_TAG_NAME || type == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME || type == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE)) IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(((IStructuredDocumentRegion)containerRegion).getParentDocument(), containerRegion.getStartOffset() + region.getStart()); resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context); if (type == DOMRegionContext.XML_TAG_NAME)
public String getText(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion aRegion) { // Must be proxied here since aRegion should always be a child of // *this* container and indexed from // this container's offset return parent.getText().substring(start + aRegion.getStart(), start + aRegion.getTextEnd()); }
tRegion = container.getRegionAtCharacterOffset(offset); tRegion = container.getRegionAtCharacterOffset(container.getStartOffset() + tRegion.getStart() - 1); int startOffset = container.getStartOffset() + twigScriptRegion.getStart();
protected void validateRegionContainer(ITextRegionCollection container, IReporter reporter, IFile file) { ITextRegionCollection containerRegion = container; Iterator regions = containerRegion.getRegions().iterator(); ITextRegion region = null; while (regions.hasNext() && !reporter.isCancelled()) { region = (ITextRegion) regions.next(); String type = region.getType(); if (type != null && region instanceof ITextRegionCollection) { ITextRegionCollection parentRegion = ((ITextRegionCollection) region); Iterator childRegions = parentRegion.getRegions().iterator(); while (childRegions.hasNext() && !reporter.isCancelled()) { ITextRegion childRegion = (ITextRegion) childRegions.next(); if (childRegion.getType() == DOMJSPRegionContexts.JSP_EL_CONTENT) validateXMLNode(parentRegion, childRegion, reporter, file); } } } }
public int getStartOffset() { if ((getDocumentRegion() != null) && (getRegion() != null)) { return ((ITextRegionCollection) getDocumentRegion()).getStartOffset(getRegion()); } return -1; }
/** * * @param jspReferenceRegion * @return */ private boolean isUsebeanTag(ITextRegionCollection jspReferenceRegion) { ITextRegionList regions = jspReferenceRegion.getRegions(); ITextRegion r = null; boolean isUseBean = false; for (int i = 0; i < regions.size(); i++) { r = regions.get(i); // https://bugs.eclipse.org/bugs/show_bug.cgi?id=128490 // length of 11 is the length of jsp:useBean // and saves the expensive getText.equals call if (r.getType() == DOMRegionContext.XML_TAG_NAME) { if (r.getTextLength() == 11 && jspReferenceRegion.getText(r).equals("jsp:useBean")) { //$NON-NLS-1$ isUseBean = true; } // break no matter what if you hit tagname break; } } return isUseBean; }
public String getText() { if ((getDocumentRegion() != null) && (getRegion() != null)) { return ((ITextRegionCollection) getDocumentRegion()).getText(getRegion()); } return ""; //$NON-NLS-1$ }
private boolean isSelfClosingTag(ITextRegionCollection containerRegion) { if (containerRegion == null) return false; ITextRegionList regions = containerRegion.getRegions(); ITextRegion r = regions.get(regions.size() - 1); return r.getType() == DOMRegionContext.XML_EMPTY_TAG_CLOSE; }
/** * Returns the end of the word on which code assist was invoked * * @return * @throws BadLocationException */ public int getPrefixEnd() throws BadLocationException { ITextRegion phpToken = getTwigToken(); int endOffset = regionCollection.getStartOffset() + twigScriptRegion.getStart() + phpToken.getTextEnd(); if (phpToken.getType() == PHPRegionTypes.PHP_CONSTANT_ENCAPSED_STRING) { --endOffset; } return endOffset; }