in FlexPMD/flex-pmd-java/as3-parser/src/main/java/de/bokelberg/flex/parser/AS3Parser.java [1490:1536]
private Node parseInterface( final List< Node > meta,
final List< Token > modifier ) throws TokenException
{
consume( KeyWords.INTERFACE );
final Node result = Node.create( NodeKind.INTERFACE,
tok.getLine(),
tok.getColumn() );
if ( currentAsDoc != null )
{
result.addChild( currentAsDoc );
currentAsDoc = null;
}
if ( currentMultiLineComment != null )
{
result.addChild( currentMultiLineComment );
currentMultiLineComment = null;
}
result.addChild( NodeKind.NAME,
tok.getLine(),
tok.getColumn(),
parseQualifiedName( true ) );
result.addChild( convertMeta( meta ) );
result.addChild( convertModifiers( modifier ) );
if ( tokIs( KeyWords.EXTENDS ) )
{
nextToken(); // extends
result.addChild( NodeKind.EXTENDS,
tok.getLine(),
tok.getColumn(),
parseQualifiedName( false ) );
}
while ( tokIs( Operators.COMMA ) )
{
nextToken(); // comma
result.addChild( NodeKind.EXTENDS,
tok.getLine(),
tok.getColumn(),
parseQualifiedName( false ) );
}
consume( Operators.LEFT_CURLY_BRACKET );
result.addChild( parseInterfaceContent() );
consume( Operators.RIGHT_CURLY_BRACKET );
return result;
}