예제 #1
0
 public abstract void Visit(FluentMessageExpression expression);
예제 #2
0
파일: Compiler.cs 프로젝트: ajlopez/AjTalk
 public override void Visit(FluentMessageExpression expression)
 {
     this.writer.Write("(function () {");
     this.writer.Write("var _aux = ");
     
     // TODO It's not implemented yet
     expression.Target.Visit(this);
     this.writer.Write(";");
     MessageExpression msg = new MessageExpression(new VariableExpression("_aux"), expression.Target.Selector, expression.Target.Arguments);
     this.writer.Write("return _aux;})()");
 }
예제 #3
0
 public override void Visit(FluentMessageExpression expression)
 {
     expression.Target.Visit(this);
     this.block.CompileByteCode(ByteCode.ChainedSend);
 }
예제 #4
0
        private IExpression ParseFluentExpression(IExpression target)
        {
            IExpression expr = target;

            if (target is MessageExpression)
                expr = new FluentMessageExpression((MessageExpression)target);

            return this.ParseMultipleKeywordExpression(expr);
        }