in FlexPMD/flex-pmd-java/as3-parser/src/main/java/de/bokelberg/flex/parser/AS3Parser.java [2051:2101]
private Node parseTraditionalFor() throws TokenException
{
consume( Operators.LEFT_PARENTHESIS );
final Node result = Node.create( NodeKind.FOR,
tok.getLine(),
tok.getColumn() );
if ( !tokIs( Operators.SEMI_COLUMN ) )
{
if ( tokIs( KeyWords.VAR ) )
{
result.addChild( NodeKind.INIT,
tok.getLine(),
tok.getColumn(),
parseVarList( null,
null ) );
}
else
{
isInFor = true;
result.addChild( NodeKind.INIT,
tok.getLine(),
tok.getColumn(),
parseExpression() );
isInFor = false;
}
if ( tokIs( NodeKind.IN.toString() ) )
{
return parseForIn( result );
}
}
consume( Operators.SEMI_COLUMN );
if ( !tokIs( Operators.SEMI_COLUMN ) )
{
result.addChild( NodeKind.COND,
tok.getLine(),
tok.getColumn(),
parseExpression() );
}
consume( Operators.SEMI_COLUMN );
if ( !tokIs( Operators.RIGHT_PARENTHESIS ) )
{
result.addChild( NodeKind.ITER,
tok.getLine(),
tok.getColumn(),
parseExpressionList() );
}
consume( Operators.RIGHT_PARENTHESIS );
result.addChild( parseStatement() );
return result;
}