ParseExpression() public method

public ParseExpression ( string expression, SourceLocation location ) : ExpressionNode
expression string
location Veil.Parser.SourceLocation
return Veil.Parser.ExpressionNode
Exemplo n.º 1
0
        private static void HandleIf(HandlebarsParserState state)
        {
            var block       = SyntaxTree.Block();
            var conditional = SyntaxTree.Conditional(state.ParseExpression(state.CurrentToken.Content.Substring(4)), block);

            state.AddNodeToCurrentBlock(conditional);
            state.BlockStack.PushModelInheritingBlock(block);
        }
Exemplo n.º 2
0
        private static void HandleUnless(HandlebarsParserState state)
        {
            var block       = SyntaxTree.Block(state.CurrentLocation);
            var conditional = SyntaxTree.Conditional(state.ParseExpression(state.CurrentToken.Content.Substring(8), state.CurrentLocation.MoveIndex(8)), state.CurrentLocation, SyntaxTree.Block(state.CurrentLocation), block);

            state.AddNodeToCurrentBlock(conditional);
            state.BlockStack.PushModelInheritingBlock(block);
        }
Exemplo n.º 3
0
        private static void HandleWith(HandlebarsParserState state)
        {
            var withBlock       = SyntaxTree.Block();
            var modelExpression = state.ParseExpression(state.CurrentToken.Content.Substring(6).Trim());

            state.AddNodeToCurrentBlock(SyntaxTree.ScopeNode(modelExpression, withBlock));
            state.BlockStack.PushBlock(new HandlebarsParserBlock
            {
                Block        = withBlock,
                ModelInScope = modelExpression.ResultType
            });
        }
Exemplo n.º 4
0
        private static void HandleEach(HandlebarsParserState state)
        {
            var iteration = SyntaxTree.Iterate(
                state.ParseExpression(state.CurrentToken.Content.Substring(6)),
                SyntaxTree.Block()
                );

            state.AddNodeToCurrentBlock(iteration);
            state.BlockStack.PushBlock(new HandlebarsParserBlock {
                Block = iteration.Body, ModelInScope = iteration.ItemType
            });
        }
Exemplo n.º 5
0
 private static void HandleExpression(HandlebarsParserState state)
 {
     var expression = state.ParseExpression(state.CurrentToken.Content, state.CurrentLocation);
     state.AddNodeToCurrentBlock(SyntaxTree.WriteExpression(expression, state.CurrentLocation, state.CurrentToken.IsHtmlEscape));
 }
Exemplo n.º 6
0
 private static void HandleWith(HandlebarsParserState state)
 {
     var withBlock = SyntaxTree.Block(state.CurrentLocation);
     var modelExpression = state.ParseExpression(state.CurrentToken.Content.Substring(6), state.CurrentLocation.MoveIndex(6));
     state.AddNodeToCurrentBlock(SyntaxTree.ScopeNode(modelExpression, withBlock, state.CurrentLocation));
     state.BlockStack.PushBlock(new HandlebarsParserBlock
     {
         Block = withBlock,
         ModelInScope = modelExpression.ResultType
     });
 }
Exemplo n.º 7
0
        private static void HandleEach(HandlebarsParserState state)
        {
            var iteration = SyntaxTree.Iterate(
                state.ParseExpression(state.CurrentToken.Content.Substring(6), state.CurrentLocation.MoveIndex(6)),
				state.CurrentLocation,
                SyntaxTree.Block(state.CurrentLocation)
            );
            state.AddNodeToCurrentBlock(iteration);
            state.BlockStack.PushBlock(new HandlebarsParserBlock { Block = iteration.Body, ModelInScope = iteration.ItemType });
        }
Exemplo n.º 8
0
 private static void HandleUnless(HandlebarsParserState state)
 {
     var block = SyntaxTree.Block(state.CurrentLocation);
     var conditional = SyntaxTree.Conditional(state.ParseExpression(state.CurrentToken.Content.Substring(8), state.CurrentLocation.MoveIndex(8)), state.CurrentLocation, SyntaxTree.Block(state.CurrentLocation), block);
     state.AddNodeToCurrentBlock(conditional);
     state.BlockStack.PushModelInheritingBlock(block);
 }
Exemplo n.º 9
0
        private static void HandleExpression(HandlebarsParserState state)
        {
            var expression = state.ParseExpression(state.CurrentToken.Content);

            state.AddNodeToCurrentBlock(SyntaxTree.WriteExpression(expression, state.CurrentToken.IsHtmlEscape));
        }
Exemplo n.º 10
0
 private static void HandleIf(HandlebarsParserState state)
 {
     var block = SyntaxTree.Block();
     var conditional = SyntaxTree.Conditional(state.ParseExpression(state.CurrentToken.Content.Substring(4)), block);
     state.AddNodeToCurrentBlock(conditional);
     state.BlockStack.PushModelInheritingBlock(block);
 }