public static Literal /*!*/ Create(Text.Span position, object value, AccessType access) { Literal result; if (value == null) { result = new NullLiteral(position); } else if (value.GetType() == typeof(int)) { result = new IntLiteral(position, (int)value); } else if (value.GetType() == typeof(string)) { result = new StringLiteral(position, (string)value); } else if (value.GetType() == typeof(bool)) { result = new BoolLiteral(position, (bool)value); } else if (value.GetType() == typeof(double)) { result = new DoubleLiteral(position, (double)value); } else if (value.GetType() == typeof(long)) { result = new LongIntLiteral(position, (long)value); } else if (value.GetType() == typeof(PhpBytes)) { result = new BinaryStringLiteral(position, ((PhpBytes)value).ReadonlyData); } else { throw new ArgumentException("value"); } // Debug.Assert(result != null); result.NodeCompiler <IExpressionCompiler>().Access = access; // return(result); }
public override void VisitBinaryStringLiteral(BinaryStringLiteral x) { _composer.ConsumeLiteral(x); }
virtual public void VisitBinaryStringLiteral(BinaryStringLiteral x) { // nothing }
override public void VisitBinaryStringLiteral(BinaryStringLiteral x) { _serializer.Serialize(typeof(BinaryStringLiteral).Name, SerializeSpan(x.Span), new NodeObj("Value", x.Value.ToString())); }
/// <inheritdoc /> public override void VisitBinaryStringLiteral(BinaryStringLiteral x) { RValueResult(x); }
/// <inheritdoc /> public override void VisitBinaryStringLiteral(BinaryStringLiteral x) { throw new NotSupportedException(); }
public override void VisitBinaryStringLiteral(BinaryStringLiteral x) { VisitSpecificElementProlog(); SerializeToken(nameof(x.Value), x.Value.ToString(), x.Span); }