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;
}
}