public StartExpressionToken(bool isEscaped, bool trimWhitespace, bool isRaw, IReaderContext context)
 {
     Context   = context;
     IsEscaped = isEscaped;
     TrimPreceedingWhitespace = trimWhitespace;
     IsRaw = isRaw;
 }
Exemple #2
0
 public HelperExpression(string helperName, bool isBlock, IEnumerable <Expression> arguments, bool isRaw = false, IReaderContext context = null)
     : this(helperName, isBlock, isRaw)
 {
     Arguments = arguments;
     Context   = context;
     IsBlock   = isBlock;
 }
Exemple #3
0
 public EndExpressionToken(bool isEscaped, bool trimWhitespace, bool isRaw, IReaderContext context)
 {
     IsEscaped = isEscaped;
     TrimTrailingWhitespace = trimWhitespace;
     IsRaw   = isRaw;
     Context = context;
 }
Exemple #4
0
 public HelperExpression(string helperName, bool isBlock, bool isRaw = false, IReaderContext context = null)
 {
     HelperName = helperName;
     IsRaw      = isRaw;
     Arguments  = Enumerable.Empty <Expression>();
     Context    = context;
     IsBlock    = isBlock;
 }
Exemple #5
0
        private static string FormatMessage(string message, IReaderContext context)
        {
            if (context == null)
            {
                return(message);
            }

            return($"{message}\n\nOccured at: {context.LineNumber}:{context.CharNumber}");
        }
        private static void LateBoundCall(
            string helperName,
            char helperPrefix,
            BindingContext bindingContext,
            IReaderContext readerContext,
            TextWriter output,
            HelperOptions options,
            Action <BindingContext, TextWriter, object> body,
            Action <BindingContext, TextWriter, object> inverse,
            dynamic context,
            BlockParamsValueProvider blockParamsValueProvider,
            params object[] arguments
            )
        {
            try
            {
                if (bindingContext.Configuration.BlockHelpers.TryGetValue(helperName, out var helper))
                {
                    helper(output, options, context, arguments);
                    return;
                }

                foreach (var resolver in bindingContext.Configuration.HelperResolvers)
                {
                    if (!resolver.TryResolveBlockHelper(helperName, out helper))
                    {
                        continue;
                    }

                    helper(output, options, context, arguments);

                    return;
                }

                var segment = ChainSegment.Create(helperName);
                bindingContext.TryGetContextVariable(ref segment, out var value);
                DeferredSectionBlockHelper.Helper(bindingContext, helperPrefix, value, body, inverse, blockParamsValueProvider);
            }
            catch (Exception e)
            {
                throw new HandlebarsRuntimeException($"Error occured while executing `{helperName}.`", e, readerContext);
            }
        }
Exemple #7
0
 public static StaticToken Static(string value, IReaderContext context = null)
 {
     return(new StaticToken(value, context));
 }
Exemple #8
0
 public static BlockParameterToken BlockParams(string blockParams, IReaderContext context)
 {
     return(new BlockParameterToken(blockParams, context));
 }
Exemple #9
0
 public static AssignmentToken Assignment(IReaderContext context)
 {
     return(new AssignmentToken(context));
 }
Exemple #10
0
 public static EndSubExpressionToken EndSubExpression(IReaderContext context)
 {
     return(new EndSubExpressionToken(context));
 }
Exemple #11
0
 internal StaticToken(string value, IReaderContext context = null)
     : this(value, value)
 {
     Context = context;
 }
Exemple #12
0
 internal HandlebarsException(string message, IReaderContext context = null)
     : this(message, null, context)
 {
 }
Exemple #13
0
 public EndSubExpressionToken(IReaderContext context)
 {
     Context = context;
 }
Exemple #14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="innerException"></param>
 /// <param name="context"></param>
 internal HandlebarsCompilerException(string message, Exception innerException, IReaderContext context = null)
     : base(message, innerException, context)
 {
 }
Exemple #15
0
 public BlockParameterToken(string value, IReaderContext context = null)
 {
     Value   = value;
     Context = context;
 }
Exemple #16
0
 private StaticToken(string value, string original, IReaderContext context = null)
 {
     Value    = value;
     Original = original;
     Context  = context;
 }
Exemple #17
0
 public WordExpressionToken(string word, IReaderContext context = null)
 {
     Value   = word;
     Context = context;
 }
 public AssignmentToken(IReaderContext context)
 {
     Context = context;
 }
 public LiteralExpressionToken(string value, string delimiter = null, IReaderContext context = null)
 {
     Context   = context;
     Value     = value;
     Delimiter = delimiter;
 }
Exemple #20
0
 public static LiteralExpressionToken Literal(string value, string delimiter = null, IReaderContext context = null)
 {
     return(new LiteralExpressionToken(value, delimiter, context));
 }
Exemple #21
0
 public static HelperExpression Helper(string helperName, bool isBlock, bool isRaw = false, IReaderContext context = null)
 {
     return(new HelperExpression(helperName, isBlock, isRaw, context));
 }
Exemple #22
0
 public static WordExpressionToken Word(string word, IReaderContext context = null)
 {
     return(new WordExpressionToken(word, context));
 }
Exemple #23
0
 internal HandlebarsException(string message, Exception innerException, IReaderContext context = null)
     : base(FormatMessage(message, context), innerException)
 {
 }
Exemple #24
0
 public static EndExpressionToken EndExpression(bool isEscaped, bool trimWhitespace, bool isRaw, IReaderContext context = null)
 {
     return(new EndExpressionToken(isEscaped, trimWhitespace, isRaw, context));
 }
 public PartialToken(IReaderContext context = null)
 {
     Context = context;
 }
Exemple #26
0
 public static PartialToken Partial(IReaderContext context = null)
 {
     return(new PartialToken(context));
 }