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 )); }
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)); }