コード例 #1
0
 internal override MSA.Expression /*!*/ Transform(AstGenerator /*!*/ gen)
 {
     return(AstUtils.IfThenElse(
                _condition.TransformCondition(gen, !_negateCondition),
                _body.Transform(gen),
                _elseStatement != null ? _elseStatement.Transform(gen) : AstUtils.Empty()
                ));
 }
コード例 #2
0
 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
                ));
 }
コード例 #3
0
ファイル: NotExpression.cs プロジェクト: yyyyj/ironruby
        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));
        }