src/Pure/General/properties.scala
changeset 62433 2436a02f28c4
parent 57909 0fb331032f02
child 63805 c272680df665
equal deleted inserted replaced
62432:183c319b26dc 62433:2436a02f28c4
    21         s match {
    21         s match {
    22           case "true" => Some(true)
    22           case "true" => Some(true)
    23           case "false" => Some(false)
    23           case "false" => Some(false)
    24           case _ => None
    24           case _ => None
    25         }
    25         }
       
    26       def parse(s: java.lang.String): scala.Boolean =
       
    27         unapply(s) getOrElse error("Bad boolean: " + quote(s))
    26     }
    28     }
    27 
    29 
    28     object Int
    30     object Int
    29     {
    31     {
    30       def apply(x: scala.Int): java.lang.String = Library.signed_string_of_int(x)
    32       def apply(x: scala.Int): java.lang.String = Library.signed_string_of_int(x)
    31       def unapply(s: java.lang.String): Option[scala.Int] =
    33       def unapply(s: java.lang.String): Option[scala.Int] =
    32         try { Some(Integer.parseInt(s)) }
    34         try { Some(Integer.parseInt(s)) }
    33         catch { case _: NumberFormatException => None }
    35         catch { case _: NumberFormatException => None }
       
    36       def parse(s: java.lang.String): scala.Int =
       
    37         unapply(s) getOrElse error("Bad integer: " + quote(s))
    34     }
    38     }
    35 
    39 
    36     object Long
    40     object Long
    37     {
    41     {
    38       def apply(x: scala.Long): java.lang.String = Library.signed_string_of_long(x)
    42       def apply(x: scala.Long): java.lang.String = Library.signed_string_of_long(x)
    39       def unapply(s: java.lang.String): Option[scala.Long] =
    43       def unapply(s: java.lang.String): Option[scala.Long] =
    40         try { Some(java.lang.Long.parseLong(s)) }
    44         try { Some(java.lang.Long.parseLong(s)) }
    41         catch { case _: NumberFormatException => None }
    45         catch { case _: NumberFormatException => None }
       
    46       def parse(s: java.lang.String): scala.Long =
       
    47         unapply(s) getOrElse error("Bad integer: " + quote(s))
    42     }
    48     }
    43 
    49 
    44     object Double
    50     object Double
    45     {
    51     {
    46       def apply(x: scala.Double): java.lang.String = x.toString
    52       def apply(x: scala.Double): java.lang.String = x.toString
    47       def unapply(s: java.lang.String): Option[scala.Double] =
    53       def unapply(s: java.lang.String): Option[scala.Double] =
    48         try { Some(java.lang.Double.parseDouble(s)) }
    54         try { Some(java.lang.Double.parseDouble(s)) }
    49         catch { case _: NumberFormatException => None }
    55         catch { case _: NumberFormatException => None }
       
    56       def parse(s: java.lang.String): scala.Double =
       
    57         unapply(s) getOrElse error("Bad real: " + quote(s))
    50     }
    58     }
    51   }
    59   }
    52 
    60 
    53 
    61 
    54   /* named entries */
    62   /* named entries */