Class TSourceTokenList

Object
gudusoft.gsqlparser.TSourceTokenList
All Implemented Interfaces:
Iterator<TSourceToken>

public class TSourceTokenList extends Object implements Iterator<TSourceToken>
List of source token.
  • Field Details

    • curpos

      public int curpos
      Used by parser internally. this curpos is start from -1, when a new token is created, curpos must be increased by 1 and then assign this value to the TSourceToken.posinlist .
  • Constructor Details

  • Method Details

    • set

      public void set(int index, TSourceToken st)
    • getGsqlparser

    • setGsqlparser

      public void setGsqlparser(TGSqlParser gsqlparser)
    • resetiterator

      public void resetiterator()
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<TSourceToken>
    • next

      public TSourceToken next()
      Specified by:
      next in interface Iterator<TSourceToken>
    • remove

      public void remove()
      Not supportted yet.
      Specified by:
      remove in interface Iterator<TSourceToken>
    • get

      public TSourceToken get(int index)
    • add

      public void add(TSourceToken st)
    • add

      public void add(int index, TSourceToken st)
    • remove

      public void remove(int index)
    • remove

      public void remove(TSourceToken st)
    • size

      public int size()
    • clear

      public void clear()
    • nextsolidtoken

      public TSourceToken nextsolidtoken(TSourceToken ptoken, int pstep, boolean pcmtissolidtoken)
      Find solid token start from ptoken, distance is pstep.
      Parameters:
      ptoken - Search start from this token.
      pstep - If pstep > 0 then find solid token after ptoken, if pstep < 0 then find solid token before ptoken.
      pcmtissolidtoken - If it's true then treat comment as solid token.
      Returns:
    • nextsolidtoken

      public TSourceToken nextsolidtoken(int ptokenpos, int pstep, boolean pcmtissolidtoken)
      Find solid token start from ptoken, distance is pstep.
      Parameters:
      ptokenpos - Search start from this position, not include this token
      pstep - If pstep > 0 then find solid token after ptoken, if pstep < 0 then find solid token before ptoken.
      pcmtissolidtoken - If it's true then treat comment as solid token.
      Returns:
    • nextObjectNameToken

      public int nextObjectNameToken(int ptokenpos, int pstep, boolean pcmtissolidtoken)
      Search token of the next/previous object
      Parameters:
      ptokenpos - , search from this token, not included.
      pstep - pstep > 0 means search forward, <0 means search backward
      pcmtissolidtoken - , treat comment as solid token if it's true.
      Returns:
      -1 means not found. If search next, then return position of the last token of qualified object name, if search previous, then return position of the first token of qualified object name.
    • solidtokenafterpos

      public int solidtokenafterpos(int pStart, int pTokenCode, int pSteps, String pIgnoreThisString)
      Search token by token code, start from pStart within range pSteps, and ignore pIngoreThisString if any during searching. Ingore non-solid token while searching.
      Parameters:
      pStart - Start from this position.
      pTokenCode - TokenCode that search for.
      pSteps - Must > 0.
      pIgnoreThisString - String to be ignored.
      Returns:
      0 if no token found, otherwise, return position in sourcetoken list.
    • solidtokenbefore

      public TSourceToken solidtokenbefore(int pStart)
      Search solid token before pStart.
      Parameters:
      pStart -
      Returns:
      return null if no token found.
    • sqlplusaftercurtoken

      public boolean sqlplusaftercurtoken()
    • searchLastTokenAtTheSameLine

      public int searchLastTokenAtTheSameLine(int pStart)
    • returnaftercurtoken

      public boolean returnaftercurtoken(boolean ignorecmt)
      Is there linebreak after current token.
      Parameters:
      ignorecmt - If it's true, ignore comment while searching linebreak.
      Returns:
    • returnbeforecurtoken

      public boolean returnbeforecurtoken(boolean ignorecomment)
    • returnbeforecurtoken

      public boolean returnbeforecurtoken(boolean ignorecomment, boolean ignoreWhiteSpace)
      Is there a linebreak before current token, comment is not ignored if ignorecomment is true, space is ignored.
      Returns:
    • searchToken

      public TSourceToken searchToken(int targetTokenCode, String targetTokenText, TSourceToken startToken, int range)
    • searchToken

      public TSourceToken searchToken(int targetTokenCode, String targetTokenText, TSourceToken startToken, int range, int stopTokenCode, boolean stopAtSemiColon)
      Parameters:
      targetTokenCode - , > 0, search target token by token code; = 0, search target token by token text
      targetTokenText -
      startToken -
      range - , > 0, search token after startToken = 0, just compare with this startToken, < 0, search token before startToken
      Returns:
    • setTokenStatus

      public void setTokenStatus(ETokenStatus ps, int pstart, int pend)
    • indexOf

      public int indexOf(TSourceToken pst)