示例#1
0
 /**
  * Sets node's value
  * 
  * @param mixed $value Value
  * 
  * @return $this
  */
 public function setValue($value)
 {
     $this->value = $value;
     $this->rawValue = Utils::quoteLiteralString($value, "`");
     return $this;
 }
示例#2
0
文件: Literal.php 项目: mck89/peast
 /**
  * Sets node's value
  * 
  * @param mixed $value Value
  * 
  * @return $this
  */
 public function setValue($value)
 {
     $this->value = $value;
     $kind = $this->getKind();
     if ($kind === self::KIND_SINGLE_QUOTE_STRING || $kind === self::KIND_DOUBLE_QUOTE_STRING) {
         $quote = $kind === self::KIND_SINGLE_QUOTE_STRING ? "'" : '"';
         $raw = Utils::quoteLiteralString($value, $quote);
     } elseif ($kind === self::KIND_NULL) {
         $raw = "null";
     } elseif ($kind === self::KIND_BOOLEAN) {
         $raw = $value ? "true" : "false";
     } elseif ($kind === self::KIND_HEXADECIMAL_NUMBER) {
         $raw = "0x" . dechex($value);
     } elseif ($kind === self::KIND_BINARY_NUMBER) {
         $raw = "0b" . decbin($value);
     } elseif ($kind === self::KIND_OCTAL_NUMBER) {
         $raw = "0o" . decoct($value);
     } else {
         $raw = "{$value}";
     }
     $this->raw = $raw;
     return $this;
 }