Package com.intellij.psi.tree

Examples of com.intellij.psi.tree.IElementType


    public ASTNode parse(IElementType root, PsiBuilder builder) {
        Marker marker = builder.mark();
       
        // Process all tokens
        while(!builder.eof()) {
            IElementType type = builder.getTokenType();

            if(type == LatteTokenTypes.OPENING) parseMacro(builder);
            else if(type == LatteTokenTypes.N_ATTR) parseNAttr(builder);

            builder.advanceLexer(); // move to next token
View Full Code Here


    }
    return tlChildren;
  }

  public Wrap createChildWrap(ASTNode child) {
    final IElementType childType = child.getElementType();
    final Wrap wrap = myWrappingProcessor.createChildWrap(child, Wrap.createWrap(WrapType.NONE, false), myChildWrap);

    if (childType == HaxeTokenTypes.ASSIGN_OPERATION) {
      myChildWrap = wrap;
    }
View Full Code Here

      prev = (ASTBlock)getSubBlocks().get(index - 1);
      index--;
    }
    while (prev.getNode().getElementType() == HaxeTokenTypes.OSEMI || prev.getNode() instanceof PsiWhiteSpace);

    final IElementType elementType = myNode.getElementType();
    final IElementType prevType = prev == null ? null : prev.getNode().getElementType();
    if (prevType == HaxeTokenTypes.PLPAREN) {
      return new ChildAttributes(Indent.getNormalIndent(), null);
    }
    if (isEndsWithRPAREN(elementType, prevType)) {
      return new ChildAttributes(Indent.getNormalIndent(), null);
View Full Code Here

  public HaxeIndentProcessor(CommonCodeStyleSettings settings) {
    this.settings = settings;
  }

  public Indent getChildIndent(ASTNode node) {
    final IElementType elementType = node.getElementType();
    final ASTNode prevSibling = UsefulPsiTreeUtil.getPrevSiblingSkipWhiteSpacesAndComments(node);
    final IElementType prevSiblingType = prevSibling == null ? null : prevSibling.getElementType();
    final ASTNode parent = node.getTreeParent();
    final IElementType parentType = parent != null ? parent.getElementType() : null;
    final ASTNode superParent = parent == null ? null : parent.getTreeParent();
    final IElementType superParentType = superParent == null ? null : superParent.getElementType();

    final int braceStyle = FUNCTION_DEFINITION.contains(superParentType) ? settings.METHOD_BRACE_STYLE : settings.BRACE_STYLE;

    if (parent == null || parent.getTreeParent() == null) {
      return Indent.getNoneIndent();
View Full Code Here

    myBaseAlignment = Alignment.createAlignment();
  }

  @Nullable
  public Alignment createChildAlignment() {
    IElementType elementType = myNode.getElementType();
    ASTNode parent = myNode.getTreeParent();
    IElementType parentType = parent == null ? null : parent.getElementType();

    if (BINARY_EXPRESSIONS.contains(elementType) && mySettings.ALIGN_MULTILINE_BINARY_OPERATION) {
      return myBaseAlignment;
    }
View Full Code Here

    myNode = node;
    mySettings = settings;
  }

  Wrap createChildWrap(ASTNode child, Wrap defaultWrap, Wrap childWrap) {
    final IElementType childType = child.getElementType();
    final IElementType elementType = myNode.getElementType();
    if (childType == OCOMMA || childType == OSEMI) return defaultWrap;

    //
    // Function definition/call
    //
    if (elementType == PARAMETER_LIST || elementType == EXPRESSION_LIST) {
      final ASTNode parent = myNode.getTreeParent();
      if (parent == null) {
        return defaultWrap;
      }
      final IElementType parentType = parent.getElementType();
      if (parentType == CALL_EXPRESSION &&
          mySettings.CALL_PARAMETERS_WRAP != CommonCodeStyleSettings.DO_NOT_WRAP) {
        if (myNode.getFirstChildNode() == child) {
          return createWrap(mySettings.CALL_PARAMETERS_LPAREN_ON_NEXT_LINE);
        }
View Full Code Here

  private static Wrap createWrap(boolean isNormal) {
    return Wrap.createWrap(isNormal ? WrapType.NORMAL : WrapType.NONE, true);
  }

  private static Wrap createChildWrap(ASTNode child, int parentWrap, boolean newLineAfterLBrace, boolean newLineBeforeRBrace) {
    IElementType childType = child.getElementType();
    if (childType != PLPAREN && childType != PRPAREN) {
      if (FormatterUtil.isPrecededBy(child, PLBRACK)) {
        if (newLineAfterLBrace) {
          return Wrap.createChildWrap(Wrap.createWrap(parentWrap, true), WrapType.ALWAYS, true);
        }
View Full Code Here

  public Spacing getSpacing(Block child1, Block child2) {
    if (!(child1 instanceof AbstractBlock) || !(child2 instanceof AbstractBlock)) {
      return null;
    }

    final IElementType elementType = myNode.getElementType();
    final IElementType parentType = myNode.getTreeParent() == null ? null : myNode.getTreeParent().getElementType();
    final ASTNode node1 = ((AbstractBlock)child1).getNode();
    final IElementType type1 = node1.getElementType();
    final ASTNode node2 = ((AbstractBlock)child2).getNode();
    final IElementType type2 = node2.getElementType();
    final ASTNode nodeNode1 = node1 == null ? null : node1.getFirstChildNode();
    final IElementType typeType1 = nodeNode1 == null ? null : nodeNode1.getElementType();
    final ASTNode nodeNode2 = node2 == null ? null : node2.getFirstChildNode();
    final IElementType typeType2 = nodeNode2 == null ? null : nodeNode2.getElementType();

    if (type1 == IMPORT_STATEMENT_REGULAR ||
        type1 == IMPORT_STATEMENT_WITH_IN_SUPPORT ||
        type1 == IMPORT_STATEMENT_WITH_WILDCARD ||
        type1 == PACKAGE_STATEMENT ||
View Full Code Here

  }

  @Nullable
  protected static IElementType eatUntil(Lexer baseLexer, IElementType... types) {
    final Set<IElementType> typeSet = new THashSet<IElementType>(Arrays.asList(types));
    IElementType type = null;
    int counter = 0;
    do {
      baseLexer.advance();
      type = baseLexer.getTokenType();
      /*if (type == PPIF) {
View Full Code Here

    while (type != null && (!typeSet.contains(type) || counter > 0));
    return type;
  }

  protected boolean lookAheadExpressionIsTrue(Lexer baseLexer) {
    IElementType type = null;
    // reverse polish notation
    final LinkedList<IElementType> stack = new LinkedList<IElementType>();
    final LinkedList<String> rpn = new LinkedList<String>();
    final int expressionStartPosition = baseLexer.getTokenStart();
    do {
      final LexerPosition position = baseLexer.getCurrentPosition();
      type = baseLexer.getTokenType();
      while (HaxeTokenTypeSets.WHITESPACES.contains(type) || HaxeTokenTypeSets.ONLY_COMMENTS.contains(type)) {
        baseLexer.advance();
        type = baseLexer.getTokenType();
      }
      final String tokenText = baseLexer.getTokenText();
      if (type == ID) {
        if (canCalculate(rpn, stack)) {
          //revert
          baseLexer.restore(position);
          break;
        }
        rpn.addFirst(tokenText);
      }
      else if (type == PRPAREN) {
        do {
          IElementType typeOnStack = stack.pollLast();
          if (typeOnStack == PLPAREN) {
            break;
          }
          rpn.addFirst(typeOnStack.toString());
        }
        while (!stack.isEmpty());
        while (!stack.isEmpty() && stack.getLast() == ONOT) {
          rpn.addFirst(stack.pollLast().toString());
        }
View Full Code Here

TOP

Related Classes of com.intellij.psi.tree.IElementType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.