Package com.intellij.psi.tree

Examples of com.intellij.psi.tree.IElementType


    while (!builder.eof()) {
      if (!parseClause(builder)) {
        break;
      }

      IElementType tokenType = builder.getTokenType();
      if (ManifestParser.HEADER_END_TOKENS.contains(tokenType)) {
        break;
      }
      else if (tokenType == ManifestTokenType.COMMA) {
        builder.advanceLexer();
View Full Code Here


      if (!parseSubClause(builder, false)) {
        result = false;
        break;
      }

      IElementType tokenType = builder.getTokenType();
      if (CLAUSE_END_TOKENS.contains(tokenType)) {
        break;
      }
      else if (tokenType == ManifestTokenType.SEMICOLON) {
        builder.advanceLexer();
View Full Code Here

  private static boolean parseSubClause(PsiBuilder builder, boolean assignment) {
    PsiBuilder.Marker marker = builder.mark();
    boolean result = true;

    while (!builder.eof()) {
      IElementType tokenType = builder.getTokenType();
      if (SUB_CLAUSE_END_TOKENS.contains(tokenType)) {
        break;
      }
      else if (tokenType == ManifestTokenType.QUOTE) {
        parseQuotedString(builder);
      }
      else if (!assignment && tokenType == ManifestTokenType.EQUALS) {
        marker.done(ManifestElementType.HEADER_VALUE_PART);
        return parseAttribute(builder, marker.precede());
      }
      else if (!assignment && tokenType == ManifestTokenType.COLON) {
        marker.done(ManifestElementType.HEADER_VALUE_PART);
        return parseDirective(builder, marker.precede());
      }
      else {
        IElementType lastToken = builder.getTokenType();
        builder.advanceLexer();
        if (lastToken == ManifestTokenType.NEWLINE && builder.getTokenType() != ManifestTokenType.SIGNIFICANT_SPACE) {
          result = false;
          break;
        }
View Full Code Here

    _lexer = new HbLexer();
  }

  TokenizerResult tokenize(String string) {
    List<Token> tokens = new ArrayList<Token>();
    IElementType currentElement;

    _lexer.start(string);

    while ((currentElement = _lexer.getTokenType()) != null) {
      tokens.add(new Token(currentElement, _lexer.getTokenText()));
View Full Code Here

    return builder.getTreeBuilt();
  }

  private static void parseFileTopLevel(PsiBuilder builder) {
    while(!builder.eof()) {
      final IElementType tokenType = builder.getTokenType();
      if (tokenType == GherkinTokenTypes.FEATURE_KEYWORD) {
        parseFeature(builder);
      } else if (tokenType == GherkinTokenTypes.TAG) {
        parseTags(builder);
      } else {
View Full Code Here

    assert builder.getTokenType() == GherkinTokenTypes.FEATURE_KEYWORD;
    final int featureEnd = builder.getCurrentOffset() + getTokenLength(builder.getTokenText());

    PsiBuilder.Marker descMarker = null;
    while(true) {
      final IElementType tokenType = builder.getTokenType();
      if (tokenType == GherkinTokenTypes.TEXT && descMarker == null) {
        if (hadLineBreakBefore(builder, featureEnd)) {
          descMarker = builder.mark();
        }
      }
View Full Code Here

      final PsiBuilder.Marker marker = builder.mark();
      // tags
      parseTags(builder);

      // scenarios
      IElementType startTokenType = builder.getTokenType();
      final boolean outline = startTokenType == GherkinTokenTypes.SCENARIO_OUTLINE_KEYWORD;
      builder.advanceLexer();
      parseScenario(builder, outline);
      marker.done(outline ? GherkinElementTypes.SCENARIO_OUTLINE : GherkinElementTypes.SCENARIO);
    }
View Full Code Here

  private static boolean atScenarioEnd(PsiBuilder builder) {
    int i = 0;
    while (builder.lookAhead(i) == GherkinTokenTypes.TAG) {
      i++;
    }
    final IElementType tokenType = builder.lookAhead(i);
    return tokenType == null ||
           tokenType == GherkinTokenTypes.BACKGROUND_KEYWORD ||
           tokenType == GherkinTokenTypes.SCENARIO_KEYWORD ||
           tokenType == GherkinTokenTypes.SCENARIO_OUTLINE_KEYWORD;
  }
View Full Code Here

      } else {

        builder.advanceLexer();
      }
    }
    final IElementType tokenTypeAfterName = builder.getTokenType();
    if (tokenTypeAfterName == GherkinTokenTypes.PIPE) {
      parseTable(builder);
    } else if (tokenTypeAfterName == GherkinTokenTypes.PYSTRING) {
      parsePystring(builder);
    }
View Full Code Here

    PsiBuilder.Marker rowMarker = builder.mark();
    int prevCellEnd = -1;
    boolean isHeaderRow = true;
    PsiBuilder.Marker cellMarker = null;

    IElementType prevToken = null;
    while (builder.getTokenType() == GherkinTokenTypes.PIPE || builder.getTokenType() == GherkinTokenTypes.TABLE_CELL) {
      final IElementType tokenType = builder.getTokenType();

      final boolean hasLineBreakBefore = hadLineBreakBefore(builder, prevCellEnd);

      // cell - is all between pipes
      if (prevToken == GherkinTokenTypes.PIPE) {
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.