internal override MSA.Expression /*!*/ Transform(AstGenerator /*!*/ gen)
 {
     return(AstUtils.IfThenElse(
                _condition.TransformCondition(gen, !_negateCondition),
                _body.Transform(gen),
                _elseStatement != null ? _elseStatement.Transform(gen) : AstUtils.Empty()
                ));
 }
 internal override MSA.Expression /*!*/ TransformRead(AstGenerator /*!*/ gen)
 {
     return(Methods.MatchString.OpCall(
                Ast.Dynamic(ConvertToStrAction.Instance, typeof(MutableString), gen.CurrentScopeVariable, _expression.Transform(gen)),
                _regex.Transform(gen),
                gen.CurrentScopeVariable
                ));
 }
Exemple #3
0
        internal override MSA.Expression /*!*/ TransformRead(AstGenerator /*!*/ gen)
        {
            var target = (_expression != null) ? _expression.Transform(gen) : Ast.Constant(null);

            return(MethodCall.TransformRead(this, gen, false, Symbols.Bang, target, null, null, null, null));
        }