c:\tmp>type CaseExample.scala
case class CaseExample(name: String, value: Int)

c:\tmp>scalac CaseExample.scala

c:\tmp>scalap CaseExample
case class CaseExample(name : scala.Predef.String, value : scala.Int) extends scala.AnyRef with scala.Product with scala.Serializable {
  val name : scala.Predef.String = { /* compiled code */ }
  val value : scala.Int = { /* compiled code */ }
  def copy(name : scala.Predef.String, value : scala.Int) : CaseExample = { /* compiled code */ }
  override def productPrefix : java.lang.String = { /* compiled code */ }
  def productArity : scala.Int = { /* compiled code */ }
  def productElement(x$1 : scala.Int) : scala.Any = { /* compiled code */ }
  override def productIterator : scala.collection.Iterator[scala.Any] = { /* compiled code */ }
  def canEqual(x$1 : scala.Any) : scala.Boolean = { /* compiled code */ }
  override def hashCode() : scala.Int = { /* compiled code */ }
  override def toString() : java.lang.String = { /* compiled code */ }
  override def equals(x$1 : scala.Any) : scala.Boolean = { /* compiled code */ }
}
object CaseExample extends scala.runtime.AbstractFunction2[scala.Predef.String, scala.Int, CaseExample] with scala.Serializable {
  def this() = { /* compiled code */ }
  final override def toString() : java.lang.String = { /* compiled code */ }
  def apply(name : scala.Predef.String, value : scala.Int) : CaseExample = { /* compiled code */ }
  def unapply(x$0 : CaseExample) : scala.Option[scala.Tuple2[scala.Predef.String, scala.Int]] = { /* compiled code */ }
}

c:\tmp>scalap CaseExample$
package CaseExample$;
final class CaseExample$ extends scala.runtime.AbstractFunction2 with scala.Serializable {
  def this(): scala.Unit;
  def apply(scala.Any, scala.Any): scala.Any;
  def readResolve(): scala.Any;
  def unapply(CaseExample): scala.Option;
  def apply(java.lang.String, scala.Int): CaseExample;
  def toString(): java.lang.String;
}
object CaseExample$ {
  final val MODULE$: CaseExample$;
}