本文整理汇总了Java中com.intellij.lang.ASTFactory.composite方法的典型用法代码示例。如果您正苦于以下问题:Java ASTFactory.composite方法的具体用法?Java ASTFactory.composite怎么用?Java ASTFactory.composite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.lang.ASTFactory
的用法示例。
在下文中一共展示了ASTFactory.composite方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addParenthToReplacedChild
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
public static TreeElement addParenthToReplacedChild(@NotNull IElementType parenthType,
@NotNull TreeElement newChild,
@NotNull PsiManager manager) {
CompositeElement parenthExpr = ASTFactory.composite(parenthType);
TreeElement dummyExpr = (TreeElement)newChild.clone();
final CharTable charTableByTree = SharedImplUtil.findCharTableByTree(newChild);
new DummyHolder(manager, parenthExpr, null, charTableByTree);
parenthExpr.putUserData(CharTable.CHAR_TABLE_KEY, charTableByTree);
parenthExpr.rawAddChildren(ASTFactory.leaf(JavaTokenType.LPARENTH, "("));
parenthExpr.rawAddChildren(dummyExpr);
parenthExpr.rawAddChildren(ASTFactory.leaf(JavaTokenType.RPARENTH, ")"));
try {
CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(manager.getProject());
PsiElement formatted = codeStyleManager.reformat(SourceTreeToPsiMap.treeToPsiNotNull(parenthExpr));
parenthExpr = (CompositeElement)SourceTreeToPsiMap.psiToTreeNotNull(formatted);
}
catch (IncorrectOperationException e) {
LOG.error(e); // should not happen
}
newChild.putUserData(CharTable.CHAR_TABLE_KEY, SharedImplUtil.findCharTableByTree(newChild));
dummyExpr.getTreeParent().replaceChild(dummyExpr, newChild);
// TODO remove explicit caches drop since this should be ok if we will use ChangeUtil for the modification
TreeUtil.clearCaches(TreeUtil.getFileElement(parenthExpr));
return parenthExpr;
}
示例2: createCompositeElement
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
@NotNull
public static CompositeElement createCompositeElement(@NotNull IElementType type,
final CharTable charTableByTree,
final PsiManager manager) {
final FileElement treeElement = DummyHolderFactory.createHolder(manager, null, charTableByTree).getTreeElement();
final CompositeElement composite = ASTFactory.composite(type);
treeElement.rawAddChildren(composite);
return composite;
}
示例3: createCDATAElement
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
@SuppressWarnings({"HardCodedStringLiteral"})
public static FileElement createCDATAElement(final PsiManager manager, final CharTable charTableByTree, final String displayText) {
final FileElement dummyParent = DummyHolderFactory.createHolder(manager, null, charTableByTree).getTreeElement();
final CompositeElement cdata = ASTFactory.composite(XmlElementType.XML_CDATA);
dummyParent.rawAddChildren(cdata);
cdata.rawAddChildren(ASTFactory.leaf(XmlTokenType.XML_CDATA_START, "<![CDATA["));
cdata.rawAddChildren(ASTFactory.leaf(XmlTokenType.XML_DATA_CHARACTERS, dummyParent.getCharTable().intern(displayText)));
cdata.rawAddChildren(ASTFactory.leaf(XmlTokenType.XML_CDATA_END, "]]>"));
dummyParent.acceptTree(new GeneratedMarkerVisitor());
return dummyParent;
}
示例4: createDisplayText
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
@Override
@NotNull
public XmlText createDisplayText(@NotNull String s) throws IncorrectOperationException {
final XmlTag tagFromText = createTagFromText("<a>" + XmlTagUtil.getCDATAQuote(s) + "</a>");
final XmlText[] textElements = tagFromText.getValue().getTextElements();
if (textElements.length == 0) return (XmlText)ASTFactory.composite(XmlElementType.XML_TEXT);
return textElements[0];
}
示例5: addParenthToReplacedChild
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
public static TreeElement addParenthToReplacedChild(@NotNull IElementType parenthType,
@NotNull TreeElement newChild,
@NotNull PsiManager manager) {
CompositeElement parenthExpr = ASTFactory.composite(parenthType);
TreeElement dummyExpr = (TreeElement)newChild.clone();
final CharTable charTableByTree = SharedImplUtil.findCharTableByTree(newChild);
new DummyHolder(manager, parenthExpr, null, charTableByTree);
parenthExpr.putUserData(CharTable.CHAR_TABLE_KEY, charTableByTree);
parenthExpr.rawAddChildren(ASTFactory.leaf(JavaTokenType.LPARENTH, "("));
parenthExpr.rawAddChildren(dummyExpr);
parenthExpr.rawAddChildren(ASTFactory.leaf(JavaTokenType.RPARENTH, ")"));
try {
CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(manager.getProject());
PsiElement formatted = codeStyleManager.reformat(SourceTreeToPsiMap.treeToPsiNotNull(parenthExpr));
parenthExpr = (CompositeElement)SourceTreeToPsiMap.psiToTreeNotNull(formatted);
}
catch (IncorrectOperationException e) {
LOG.error(e); // should not happen
}
newChild.putUserData(CharTable.CHAR_TABLE_KEY, SharedImplUtil.findCharTableByTree(newChild));
dummyExpr.rawReplaceWithList(newChild);
newChild = parenthExpr;
// TODO remove explicit caches drop since this should be ok if we will use ChangeUtil for the modification
TreeUtil.clearCaches(TreeUtil.getFileElement(newChild));
return newChild;
}
示例6: createCompositeElement
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
@NotNull
public static CompositeElement createCompositeElement(final IElementType type,
final CharTable charTableByTree,
final PsiManager manager) {
final FileElement treeElement = DummyHolderFactory.createHolder(manager, null, charTableByTree).getTreeElement();
final CompositeElement composite = ASTFactory.composite(type);
treeElement.rawAddChildren(composite);
return composite;
}
示例7: createCompositeElement
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
@Nonnull
public static CompositeElement createCompositeElement(@Nonnull IElementType type,
final CharTable charTableByTree,
final PsiManager manager) {
final FileElement treeElement = DummyHolderFactory.createHolder(manager, null, charTableByTree).getTreeElement();
final CompositeElement composite = ASTFactory.composite(type);
treeElement.rawAddChildren(composite);
return composite;
}
示例8: createDisplayText
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
@Override
@NotNull
public XmlText createDisplayText(@NotNull String s) throws IncorrectOperationException
{
final XmlTag tagFromText = createTagFromText("<a>" + XmlTagUtil.getCDATAQuote(s) + "</a>");
final XmlText[] textElements = tagFromText.getValue().getTextElements();
if(textElements.length == 0)
{
return (XmlText) ASTFactory.composite(XmlElementType.XML_TEXT);
}
return textElements[0];
}
示例9: addParenthToReplacedChild
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
public static TreeElement addParenthToReplacedChild(@NotNull IElementType parenthType,
@NotNull TreeElement newChild,
@NotNull PsiManager manager)
{
CompositeElement parenthExpr = ASTFactory.composite(parenthType);
TreeElement dummyExpr = (TreeElement) newChild.clone();
final CharTable charTableByTree = SharedImplUtil.findCharTableByTree(newChild);
new DummyHolder(manager, parenthExpr, null, charTableByTree);
parenthExpr.putUserData(CharTable.CHAR_TABLE_KEY, charTableByTree);
parenthExpr.rawAddChildren(ASTFactory.leaf(JavaTokenType.LPARENTH, "("));
parenthExpr.rawAddChildren(dummyExpr);
parenthExpr.rawAddChildren(ASTFactory.leaf(JavaTokenType.RPARENTH, ")"));
try
{
CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(manager.getProject());
PsiElement formatted = codeStyleManager.reformat(SourceTreeToPsiMap.treeToPsiNotNull(parenthExpr));
parenthExpr = (CompositeElement) SourceTreeToPsiMap.psiToTreeNotNull(formatted);
}
catch(IncorrectOperationException e)
{
LOG.error(e); // should not happen
}
newChild.putUserData(CharTable.CHAR_TABLE_KEY, SharedImplUtil.findCharTableByTree(newChild));
dummyExpr.getTreeParent().replaceChild(dummyExpr, newChild);
// TODO remove explicit caches drop since this should be ok if we will use ChangeUtil for the modification
TreeUtil.clearCaches(TreeUtil.getFileElement(parenthExpr));
return parenthExpr;
}
示例10: normalizeBrackets
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
public static void normalizeBrackets(@NotNull PsiVariable variable) {
CompositeElement variableElement = (CompositeElement)variable.getNode();
PsiTypeElement typeElement = variable.getTypeElement();
PsiIdentifier nameElement = variable.getNameIdentifier();
LOG.assertTrue(typeElement != null && nameElement != null);
ASTNode type = typeElement.getNode();
ASTNode name = nameElement.getNode();
ASTNode firstBracket = null;
ASTNode lastBracket = null;
int arrayCount = 0;
ASTNode element = name;
while (element != null) {
element = PsiImplUtil.skipWhitespaceAndComments(element.getTreeNext());
if (element == null || element.getElementType() != JavaTokenType.LBRACKET) break;
if (firstBracket == null) firstBracket = element;
lastBracket = element;
arrayCount++;
element = PsiImplUtil.skipWhitespaceAndComments(element.getTreeNext());
if (element == null || element.getElementType() != JavaTokenType.RBRACKET) break;
lastBracket = element;
}
if (firstBracket != null) {
element = firstBracket;
while (true) {
ASTNode next = element.getTreeNext();
variableElement.removeChild(element);
if (element == lastBracket) break;
element = next;
}
CompositeElement newType = (CompositeElement)type.clone();
for (int i = 0; i < arrayCount; i++) {
CompositeElement newType1 = ASTFactory.composite(JavaElementType.TYPE);
newType1.rawAddChildren(newType);
newType1.rawAddChildren(ASTFactory.leaf(JavaTokenType.LBRACKET, "["));
newType1.rawAddChildren(ASTFactory.leaf(JavaTokenType.RBRACKET, "]"));
newType = newType1;
newType.acceptTree(new GeneratedMarkerVisitor());
}
newType.putUserData(CharTable.CHAR_TABLE_KEY, SharedImplUtil.findCharTableByTree(type));
variableElement.replaceChild(type, newType);
}
}
示例11: normalizeBrackets
import com.intellij.lang.ASTFactory; //导入方法依赖的package包/类
public static void normalizeBrackets(@NotNull PsiVariable variable)
{
CompositeElement variableElement = (CompositeElement) variable.getNode();
PsiTypeElement typeElement = variable.getTypeElement();
PsiIdentifier nameElement = variable.getNameIdentifier();
LOG.assertTrue(typeElement != null && nameElement != null);
ASTNode type = typeElement.getNode();
ASTNode name = nameElement.getNode();
ASTNode firstBracket = null;
ASTNode lastBracket = null;
int arrayCount = 0;
ASTNode element = name;
while(element != null)
{
element = PsiImplUtil.skipWhitespaceAndComments(element.getTreeNext());
if(element == null || element.getElementType() != JavaTokenType.LBRACKET)
{
break;
}
if(firstBracket == null)
{
firstBracket = element;
}
lastBracket = element;
arrayCount++;
element = PsiImplUtil.skipWhitespaceAndComments(element.getTreeNext());
if(element == null || element.getElementType() != JavaTokenType.RBRACKET)
{
break;
}
lastBracket = element;
}
if(firstBracket != null)
{
element = firstBracket;
while(true)
{
ASTNode next = element.getTreeNext();
variableElement.removeChild(element);
if(element == lastBracket)
{
break;
}
element = next;
}
CompositeElement newType = (CompositeElement) type.clone();
for(int i = 0; i < arrayCount; i++)
{
CompositeElement newType1 = ASTFactory.composite(JavaElementType.TYPE);
newType1.rawAddChildren(newType);
newType1.rawAddChildren(ASTFactory.leaf(JavaTokenType.LBRACKET, "["));
newType1.rawAddChildren(ASTFactory.leaf(JavaTokenType.RBRACKET, "]"));
newType = newType1;
newType.acceptTree(new GeneratedMarkerVisitor());
}
newType.putUserData(CharTable.CHAR_TABLE_KEY, SharedImplUtil.findCharTableByTree(type));
variableElement.replaceChild(type, newType);
}
}