Example #1
0
        public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx)
        {
            base.WriteCode(visitor, ctx);
            CodeStatementCollection collection = ctx.CurrentStatements;

            foreach (var item in Branches)
            {
                var condition = collection._if("{0} == {1}.{2}", EnumIn.VariableName, EnumIn.VariableType.FullName, item.Name);
                ctx.PushStatements(condition.TrueStatements);
                item.WriteInvoke(ctx);
                ctx.PopStatements();
                collection = condition.FalseStatements;
            }
        }
Example #2
0
 public CodeConditionStatement _if(string formatString, params object[] args)
 {
     return(CurrentStatements._if(formatString, args));
 }