blob: 7a12de373ec30befb4d3d9d4ebf066f89681e87e (
plain) (
tree)
|
|
object desugar {
// variables
var x: Int = 2
var y = x * x
{ var z: Int = y }
def foo0(first: Int, second: Int = 2, third: Int = 3) = first + second
def foo1(first: Int, second: Int = 2)(third: Int = 3) = first + second
def foo2(first: Int)(second: Int = 2)(third: Int = 3) = first + second
object caseClasses { self =>
trait List[+T] {
def head: T
def tail: List[T]
}
case class Cons[+T](val head: T, val tail: List[T]) extends List[T]
object Cons {
def apply[T](head: T): Cons[T] = apply(head, Nil)
}
case object Nil extends List[Nothing]
}
import caseClasses._
object patDefs {
val xs: List[Int] = Cons(1, Cons(2, Nil))
val Cons(y, ys) = xs
val Cons(z, _) = xs
val Cons(_, _) = xs
val (cons: Cons[Int]) = xs
val x, y, z: Int = 1
}
}
|