예제 #1
0
파일: List.cs 프로젝트: hahoyer/reni.cs
        Result<Statement[]> IStatementsProvider.Get
            (List type, Syntax syntax, IDefaultScopeProvider container)
        {
            if(type != null && type != this)
                return null;

            var leftStatements = CreateStatements(syntax.Left, syntax, container);
            var rightStatements = CreateStatements(syntax.Right, syntax, container);
            var target = leftStatements?.Target.plus(rightStatements?.Target);
            var issues = leftStatements?.Issues.plus(rightStatements?.Issues);
            return new Result<Statement[]>(target, issues);
        }
예제 #2
0
 internal Result<Statement> Statement(Result<Value> right, IDefaultScopeProvider container)
     => Parser.Statement.Create(Tags, Target, right, container);
예제 #3
0
파일: List.cs 프로젝트: hahoyer/reni.cs
 Result<Statement[]> CreateStatements
     (Syntax syntax, Syntax parent, IDefaultScopeProvider container)
     => syntax == null
         ? Statement.CreateStatements(new EmptyList(parent), container)
         : syntax.GetStatements(this);