当前位置: 首页>>代码示例>>Java>>正文


Java PsiImplUtil.skipWhitespaceAndComments方法代码示例

本文整理汇总了Java中com.intellij.psi.impl.PsiImplUtil.skipWhitespaceAndComments方法的典型用法代码示例。如果您正苦于以下问题:Java PsiImplUtil.skipWhitespaceAndComments方法的具体用法?Java PsiImplUtil.skipWhitespaceAndComments怎么用?Java PsiImplUtil.skipWhitespaceAndComments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.psi.impl.PsiImplUtil的用法示例。


在下文中一共展示了PsiImplUtil.skipWhitespaceAndComments方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: deleteChildInternal

import com.intellij.psi.impl.PsiImplUtil; //导入方法依赖的package包/类
@Override
public void deleteChildInternal(@NotNull ASTNode child) {
  if (child.getElementType() == JAVA_CODE_REFERENCE){
    ASTNode next = PsiImplUtil.skipWhitespaceAndComments(child.getTreeNext());
    if (next != null && next.getElementType() == AND){
      deleteChildInternal(next);
    }
    else{
      ASTNode prev = PsiImplUtil.skipWhitespaceAndCommentsBack(child.getTreePrev());
      if (prev != null){
        if (prev.getElementType() == AND || prev.getElementType() == EXTENDS_KEYWORD){
          deleteChildInternal(prev);
        }
      }
    }
  }
  super.deleteChildInternal(child);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:TypeParameterExtendsBoundsListElement.java

示例2: deleteChildInternal

import com.intellij.psi.impl.PsiImplUtil; //导入方法依赖的package包/类
@Override
public void deleteChildInternal(@NotNull final ASTNode child) {
  if (child.getElementType() == JavaElementType.TYPE_PARAMETER){
    JavaSourceUtil.deleteSeparatingComma(this, child);
  }

  super.deleteChildInternal(child);

  if (child.getElementType() == JavaElementType.TYPE_PARAMETER) {
    final ASTNode lt = findChildByRole(ChildRole.LT_IN_TYPE_LIST);
    final ASTNode next = PsiImplUtil.skipWhitespaceAndComments(lt.getTreeNext());
    if (next != null && next.getElementType() == JavaTokenType.GT) {
      deleteChildInternal(lt);
      deleteChildInternal(next);
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:TypeParameterListElement.java

示例3: deleteChildInternal

import com.intellij.psi.impl.PsiImplUtil; //导入方法依赖的package包/类
@Override
public void deleteChildInternal(@NotNull ASTNode child) {
  if (child.getElementType() == JavaElementType.JAVA_CODE_REFERENCE){
    ASTNode next = PsiImplUtil.skipWhitespaceAndComments(child.getTreeNext());
    if (next != null && next.getElementType() == JavaTokenType.COMMA){
      deleteChildInternal(next);
    }
    else{
      ASTNode prev = PsiImplUtil.skipWhitespaceAndCommentsBack(child.getTreePrev());
      if (prev != null){
        if (prev.getElementType() == JavaTokenType.COMMA
            || prev.getElementType() == getKeywordType()
            ){
          deleteChildInternal(prev);
        }
      }
    }
  }
  super.deleteChildInternal(child);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:ReferenceListElement.java

示例4: normalizeBrackets

import com.intellij.psi.impl.PsiImplUtil; //导入方法依赖的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);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:50,代码来源:JavaSharedImplUtil.java


注:本文中的com.intellij.psi.impl.PsiImplUtil.skipWhitespaceAndComments方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。