List of usage examples for org.eclipse.jdt.core.dom TagElement getAST
public final AST getAST()
From source file:com.android.icu4j.srcgen.ReplaceIcuTags.java
License:Apache License
@Override protected boolean visitTagElement(Reporter reporter, ASTRewrite rewrite, TagElement tag) { String tagName = tag.getTagName(); if (tagName != null) { AST ast = tag.getAST(); List<IDocElement> fragments = tag.fragments(); if (tagName.equalsIgnoreCase("@icu")) { // ICU replaces {@icu __usage__} with "Methods, fields, and other functionality specific to // ICU are labeled '[icu]'" // ICU replaces {@icu} with [icu] if (fragments.size() == 0) { rewrite.replace(tag, createIcuMarker(ast), null /* editGroup */); } else { IDocElement element = fragments.get(0); if (element.toString().trim().equalsIgnoreCase("_usage_")) { rewrite.replace(tag, createIcuUsageText(ast), null /* editGroup */); } else { throw new AssertionError("Unknown Javadoc tag: " + tag); }/*from w ww . ja v a 2 s.c o m*/ } return false; } else if (tagName.equalsIgnoreCase("@icuenhanced")) { // ICU replaces {@icuenhanced <classname>} with "[icu enhancement] ICU's replacement for // <classname>" IDocElement element = fragments.get(0); rewrite.replace(tag, createIcuEnhancementText(ast, element), null /* editGroup */); return false; } else if (tagName.equalsIgnoreCase("@icunote")) { // ICU replaces {@icunote} with "[icu] Note:" rewrite.replace(tag, createIcuNoteText(ast), null /* editGroup */); return false; } else if (tagName.equalsIgnoreCase("@discouraged")) { // ICU replaces {@discouraged} with "Discouraged:" IDocElement element = fragments.get(0); rewrite.replace(tag, createDiscouragedText(ast, element), null /* editGroup */); return false; } } return true; }
From source file:de.akra.idocit.java.services.SimpleJavadocGenerator.java
License:Apache License
@SuppressWarnings("unchecked") private List<TagElement> mergeTagElements(final List<TagElement> unmergedTagElements) { final List<TagElement> mergedTagElements = new ArrayList<TagElement>(); if ((unmergedTagElements != null) && !unmergedTagElements.isEmpty()) { int elementIndex = 0; TagElement currentElement = unmergedTagElements.get(elementIndex); // Look for the first "not empty"-element. while (isEmptyElement(currentElement) && (elementIndex < unmergedTagElements.size())) { elementIndex++;/*from w ww . j av a2 s . c om*/ } // Was our search for a "not empty" element successful? if (!isEmptyElement(currentElement)) { TagElement lastElement = currentElement; StringBuffer lastElementText = new StringBuffer(); lastElementText.append(readFragments(lastElement).trim()); for (int i = elementIndex + 1; i < unmergedTagElements.size(); i++) { currentElement = unmergedTagElements.get(i); if (!isEmptyElement(currentElement)) { if (currentElement.getTagName() == null) { if (!lastElementText.toString().endsWith(JavadocUtils.NEW_LINE)) { lastElementText.append(JavadocUtils.NEW_LINE); } if (!lastElementText.toString().endsWith(StringUtils.SPACE)) { lastElementText.append(StringUtils.SPACE); } final String curElemText = readFragments(currentElement).trim(); lastElementText.append(curElemText); } else { lastElement.fragments().clear(); final TextElement newFragment = lastElement.getAST().newTextElement(); newFragment.setText(lastElementText.toString().trim()); lastElement.fragments().add(newFragment); mergedTagElements.add(lastElement); lastElement = currentElement; lastElementText = new StringBuffer(); lastElementText.append(readFragments(lastElement).trim()); } } } lastElement.fragments().clear(); final TextElement newFragment = lastElement.getAST().newTextElement(); newFragment.setText(lastElementText.toString().trim()); lastElement.fragments().add(newFragment); mergedTagElements.add(lastElement); } } return mergedTagElements; }
From source file:org.eclipse.wb.internal.core.utils.ast.AstEditor.java
License:Open Source License
private void setJavadocTagText_replaceFragments(TagElement tagElement, String tagText) throws Exception { List<ASTNode> fragments = DomGenerics.fragments(tagElement); // replace source int fragmentsPosition; if (!fragments.isEmpty()) { ASTNode firstFragment = fragments.get(0); fragmentsPosition = AstNodeUtils.getSourceBegin(firstFragment); int fragmentsLength = AstNodeUtils.getSourceEnd(tagElement) - fragmentsPosition; replaceSubstring(fragmentsPosition, fragmentsLength, tagText); } else {/*from w ww. ja va2s . c om*/ fragmentsPosition = AstNodeUtils.getSourceEnd(tagElement); replaceSubstring(fragmentsPosition, 0, tagText); AstNodeUtils.setSourceLength(tagElement, tagElement.getLength() + tagText.length()); } // replace fragments fragments.clear(); TextElement textElement = tagElement.getAST().newTextElement(); textElement.setSourceRange(fragmentsPosition, tagText.length()); textElement.setText(tagText); fragments.add(textElement); }
From source file:org.spoofax.interpreter.adapter.ecj.ECJFactory.java
License:LGPL
private TagElement asTagElement(IStrategoTerm term) { TagElement x = ((WrappedTagElement) term).getWrappee(); return x.getParent() == null && x.getAST() == ast ? x : (TagElement) ASTNode.copySubtree(ast, x); }