parseDefObject function

Map<String, dynamic> parseDefObject(
  1. ParsingContext context,
  2. int level
)

Implementation

Map<String, dynamic> parseDefObject(
    ParsingContext context,
    int level
    )
{
    var object = <String, dynamic>{};

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

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

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

            object[ getKeyText( key ) ] = value;
        }
    }

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

    return {};
 }