parseDefMap function

Map parseDefMap(
  1. ParsingContext context,
  2. int level
)

Implementation

Map<dynamic, dynamic> parseDefMap(
    ParsingContext context,
    int level
    )
{
    var map = <dynamic, dynamic>{};

    while ( context.lineIndex < context.lineArray.length )
    {
        var DefLine( :line, :lineSpaceCount )
            = parseDefLine( context, level );

        if ( lineSpaceCount == 0
             && line == ')' )
        {
            return map;
        }
        else
        {
            context.lineIndex--;

            var key = parseDefValue( context, level + 1 );
            var value = parseDefValue( context, level + 2 );

            map[ key ] = value;
        }
    }

    throwParsingError( 'Invalid DEF map', context, level );

    return {};
}