예제 #1
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine(".ctor");
     canvas.AppendToLine("(");
     arguments.RenderText_ValueEX(canvas, ", ");
     canvas.AppendToLine(")");
 }
예제 #2
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            target.RenderText_ValueEX(canvas);

            canvas.AppendToLine("->");
            canvas.AppendToLine(prop.GetName());
        }
예제 #3
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine("(");
     canvas.AppendToLine(operator_info.GetOperatorType().GetSymbol());
     input.RenderText_ValueEX(canvas);
     canvas.AppendToLine(")");
 }
예제 #4
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine("new ");
     canvas.AppendToLine(element_type.Name);
     canvas.AppendToLine("[");
     values.RenderText_ValueEX(canvas, ", ");
     canvas.AppendToLine("]");
 }
예제 #5
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine("push ");
            value.RenderText_ValueEX(canvas);
            canvas.AppendToLine(";");
        }
예제 #6
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine("goto ");
            label.RenderText_Label(canvas);
            canvas.AppendToLine(";");
        }
예제 #7
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            target.RenderText_ValueEX(canvas);

            canvas.AppendToLine("[");
            index.RenderText_ValueEX(canvas);
            canvas.AppendToLine("]");
        }
예제 #8
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            canvas.AppendToLine("(");
            value.RenderText_ValueEX(canvas);

            canvas.AppendToLine(" is ");
            canvas.AppendToLine(check_type.Name);
            canvas.AppendToLine(")");
        }
예제 #9
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            destination.RenderText_ValueEX(canvas);
            canvas.AppendToLine(" = ");
            source.RenderText_ValueEX(canvas);
            canvas.AppendToLine(";");
        }
예제 #10
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            canvas.AppendToLine("new ");
            canvas.AppendToLine(GetValueType().Name);

            canvas.AppendToLine("(");
            arguments.RenderText_ValueEX(canvas, ", ");
            canvas.AppendToLine(")");
        }
예제 #11
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            canvas.AppendToLine("(");
            value.RenderText_ValueEX(canvas);

            canvas.AppendToLine(" as ");
            canvas.AppendToLine(destination_type.Name);
            canvas.AppendToLine(")");
        }
예제 #12
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            array.RenderText_Value(canvas);
            canvas.AppendToLine(" = [");
            values.RenderText_ValueEX(canvas, ", ");
            canvas.AppendToLine("];");
        }
예제 #13
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            canvas.AppendToLine("(");
            canvas.AppendToLine(cast.GetDestinationType().Name);
            canvas.AppendToLine(")");

            canvas.AppendToLine("(");
            value.RenderText_ValueEX(canvas);
            canvas.AppendToLine(")");
        }
예제 #14
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            canvas.AppendToLine("(");
            condition.RenderText_ValueEX(canvas);
            canvas.AppendToLine(")");

            canvas.AppendToLine(" ? ");

            true_value.RenderText_ValueEX(canvas);
            canvas.AppendToLine(" : ");
            false_value.RenderText_ValueEX(canvas);
        }
예제 #15
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            if (method.IsEffectivelyInstanceMethod() && caller != null)
            {
                caller.RenderText_ValueEX(canvas);
                canvas.AppendToLine(".");
            }

            canvas.AppendToLine(method.Name);
            canvas.AppendToLine("(");
            arguments.RenderText_ValueEX(canvas, ", ");
            canvas.AppendToLine(")");
        }
예제 #16
0
        public override void RenderText_Value(ILTextCanvas canvas)
        {
            if (field.IsInstanceField())
            {
                target.RenderText_ValueEX(canvas);
            }
            else
            {
                canvas.AppendToLine(field.DeclaringType.Name);
            }

            canvas.AppendToLine(".");
            canvas.AppendToLine(field.Name);
        }
예제 #17
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine("while(");
            condition.RenderText_ValueEX(canvas);
            canvas.AppendToLine(")");

            canvas.AppendToNewline("{");
            canvas.Indent();
            while_statement.RenderText_StatementEX(canvas);
            canvas.Dedent();
            canvas.AppendToNewline("}");
        }
예제 #18
0
        public void RenderText_Case(ILTextCanvas canvas)
        {
            canvas.AppendNewline();
            canvas.AppendNewline();

            canvas.AppendToLine("case ");
            label.RenderText_Value(canvas);
            canvas.AppendToLine(":");

            canvas.Indent();
            statement.RenderText_Statement(canvas);
            canvas.AppendToNewline("break;");
            canvas.Dedent();
        }
예제 #19
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            if (value != null)
            {
                canvas.AppendToLine("return ");
                value.RenderText_ValueEX(canvas);
                canvas.AppendToLine(";");
            }
            else
            {
                canvas.AppendToLine("return;");
            }
        }
예제 #20
0
        public void RenderText_Declaration(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine(local_type.Name);
            canvas.AppendToLine(" ");
            canvas.AppendToLine(local_name);

            if (initial_value != null)
            {
                canvas.AppendToLine(" = ");
                initial_value.RenderText_ValueEX(canvas);
            }

            canvas.AppendToLine(";");
        }
예제 #21
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     GetILParameter(canvas)
     .IfNotNull(
         p => p.RenderText_Value(canvas),
         () => canvas.AppendToLine("vparameter" + technical_parameter_index)
         );
 }
예제 #22
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine("{");
     canvas.AppendNewline();
     canvas.Indent();
     statement.RenderText_StatementEX(canvas);
     canvas.Dedent();
     canvas.AppendToNewline("}");
 }
예제 #23
0
 static public void RenderText_ValueEX <T>(this IEnumerable <T> item, ILTextCanvas canvas, string seperator) where T : ILValue
 {
     item.Process(
         i => i.RenderText_ValueEX(canvas),
         i => {
         canvas.AppendToLine(seperator);
         i.RenderText_ValueEX(canvas);
     }
         );
 }
예제 #24
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine("if(false)");
            canvas.AppendToNewline("{");
            canvas.Indent();
            entry_label.RenderText_Statement(canvas);
            statement.RenderText_StatementEX(canvas);
            canvas.Dedent();
            canvas.AppendToNewline("}");
        }
예제 #25
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine("switch(");
            input.RenderText_ValueEX(canvas);
            canvas.AppendToLine(")");

            canvas.AppendToNewline("{");
            canvas.Indent();
            cases.Process(c => c.RenderText_Case(canvas));

            if (default_statement != null)
            {
                canvas.AppendToNewline("default case:");
                canvas.Indent();
                default_statement.RenderText_StatementEX(canvas);
                canvas.AppendToNewline("break;");
                canvas.Dedent();
            }
            canvas.Dedent();
            canvas.AppendToNewline("}");
        }
예제 #26
0
        public override void RenderText_Statement(ILTextCanvas canvas)
        {
            canvas.AppendNewline();

            canvas.AppendToLine("if(");
            condition.RenderText_ValueEX(canvas);
            canvas.AppendToLine(")");

            canvas.AppendToNewline("{");
            canvas.Indent();
            if_true_statement.RenderText_StatementEX(canvas);
            canvas.Dedent();
            canvas.AppendToNewline("}");

            if (HasElse())
            {
                canvas.AppendToNewline("else");
                canvas.AppendToNewline("{");
                canvas.Indent();
                if_false_statement.RenderText_StatementEX(canvas);
                canvas.Dedent();
                canvas.AppendToNewline("}");
            }
        }
예제 #27
0
        public override string ToString()
        {
            ILTextCanvas canvas = new ILTextCanvas(method);

            canvas.AppendToLine(method.ToStringEX());
            canvas.AppendToNewline("{");
            canvas.Indent();

            statement.RenderText_Statement(canvas);

            canvas.Dedent();
            canvas.AppendToNewline("}");

            canvas.AppendNewline();
            canvas.AppendNewline();
            Write(canvas);

            return(canvas.ToString());
        }
예제 #28
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine(parameter.Name.CoalesceBlank("parameter" + parameter.Position));
 }
예제 #29
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine(constant.StyleAsDoubleQuoteLiteral());
 }
예제 #30
0
 public override void RenderText_Value(ILTextCanvas canvas)
 {
     canvas.AppendToLine(constant.ToStringEX());
 }