private void _process()

in maven-javascript-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/javascript/uixtools/Filter2.java [96:144]


  private void _process(Token cur) throws InterruptedException
  {
    if ((cur.code == Token.LEFT_BRACE) && (cur.ch == '{'))
      _openCurly++;
    else if ((cur.code == Token.RIGHT_BRACE) && (cur.ch == '}'))
      _openCurly--;


    switch(_state)
    {
    case ROOT_MODE :
      if ((cur.code==Token.RESERVED) && (cur.string.equals("function")))
      {
        _state = FUNCTION_PARAM_MODE;
        _function.clear();
        _isFunctionUsingEval = false;
        _function.add(cur);
      }
      else _buffer.write(cur);
      break;
    case FUNCTION_PARAM_MODE :
      _function.add(cur);
      if ((cur.code==Token.LEFT_BRACE) && (cur.ch=='{'))
      {
        _state = FUNCTION_BODY_MODE;
        _beginFunction = _openCurly;
      }
      break;
    case FUNCTION_BODY_MODE :
      _function.add(cur);
      if (_openCurly<_beginFunction)
      {
        _state = ROOT_MODE;
        if (_isFunctionUsingEval) _writeTokens(_function);
        else
        {
          for(int i=0,sz=_function.size(); i<sz; i++)
          {
            _process2((Token) _function.get(i));
          }
        }
      }
      else if ((cur.code==Token.NAME) && cur.string.equals("eval"))
      {
        _isFunctionUsingEval = true;
      }
      break;
    }
  }