コード例 #1
0
 public override void Write(JsWriter writer)
 {
     writer.WriteValue(_condition);
     writer.Write(" ? ");
     writer.WriteValue(_left);
     writer.Write(" : ");
     writer.WriteValue(_right);
 }
コード例 #2
0
        public override void Write(JsWriter writer)
        {
            writer.Write("{");

            if (NewLine)
            {
                writer.WriteLine();
                writer.Indent();
            }

            bool sep = false;

            foreach (var pair in _properties)
            {
                if (sep)
                {
                    writer.Write(",");
                    if (NewLine)
                    {
                        writer.WriteLine();
                    }
                }
                var key = pair.Key;

                var name = key as string;
                if (name != null)
                {
                    if (name.IsJsid())
                    {
                        writer.Write("{0}:", name);
                    }
                    else
                    {
                        writer.Write("'{0}':", name.JsEscape());
                    }
                }
                else
                {
                    writer.WriteValue(key);
                    writer.Write(":");
                }

                writer.WriteValue(pair.Value);
                sep = true;
            }

            if (NewLine)
            {
                writer.WriteLine();
                writer.Unindent();
            }

            writer.Write("}");
        }
コード例 #3
0
 public override void Write(JsWriter writer)
 {
     writer.Write(_name);
     writer.Write(" = ");
     writer.WriteValue(_value);
     writer.Write(";");
 }
コード例 #4
0
        public static string ToJsString(this object value)
        {
            var writer = new JsWriter();

            writer.WriteValue(value);
            writer.Flush();
            return(writer.ToString());
        }
コード例 #5
0
        public override void Write(JsWriter writer)
        {
            var obj = Field.IsStatic ? Field.DeclaringType.JsFullName().Id() : "this".Id();

            obj.Get(Name).Write(writer);
            writer.Write(" = ");
            writer.WriteValue(Field.Type.InitialValue());
            writer.Write(";");
        }
コード例 #6
0
 public override void Write(JsWriter writer)
 {
     writer.Write("(");
     _left.Write(writer);
     writer.Write(" ");
     writer.Write(_op);
     writer.Write(" ");
     writer.WriteValue(_value);
     writer.Write(")");
 }
コード例 #7
0
        public override void Write(JsWriter writer)
        {
            writer.Write("/* {0} */", _instruction.ToString("I: N", CultureInfo.InvariantCulture));
            writer.Write("[");
            writer.Write((int)_instruction.Code);

            var value = _value;

            if (value != null && !Ignore(_instruction.Code))
            {
                writer.Write(", ");

                switch (Type.GetTypeCode(value.GetType()))
                {
                case TypeCode.Boolean:
                case TypeCode.Char:
                case TypeCode.SByte:
                case TypeCode.Byte:
                case TypeCode.Int16:
                case TypeCode.UInt16:
                case TypeCode.Int32:
                case TypeCode.UInt32:
                case TypeCode.Single:
                case TypeCode.Double:
                case TypeCode.String:
                    writer.WriteValue(value);
                    break;

                case TypeCode.Object:
                    var var = value as JsVar;
                    writer.WriteValue(var != null ? var.Id() : value);
                    break;

                default:
                    throw new NotSupportedException();
                }
            }

            writer.Write("]");
        }
コード例 #8
0
        public override void Write(JsWriter writer)
        {
            _obj.Write(writer);

            var s = _name as String;

            if (s != null && s.IsJsid())
            {
                writer.Write(".");
                writer.Write(s);
            }
            else
            {
                writer.Write("[");
                writer.WriteValue(_name);
                writer.Write("]");
            }
        }
コード例 #9
0
        public static void WriteValues(this JsWriter writer, IEnumerable seq, string sep)
        {
            if (seq == null)
            {
                return;
            }
            bool f = false;

            foreach (var value in seq)
            {
                if (f)
                {
                    writer.Write(sep);
                }
                writer.WriteValue(value);
                f = true;
            }
        }
コード例 #10
0
 public override void Write(JsWriter writer)
 {
     writer.Write("return ");
     writer.WriteValue(_value);
     writer.Write(";");
 }