1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
package scala.test.scaladoc {
// testing inherited <documented> templates (Enum.Value is included in the source, thus is documented in scaladoc)
package test1 {
class Enum {
abstract class Value
class Val extends Value
def Value(): Value = new Val
}
object Constants extends Enum {
def a = Value
}
}
// testing inherited <not documented> templates (scala.Enumeration.Value is taken from the library, thus is not
// documented in the scaladoc pages -- but should be inherited to make things clear!)
package test2 {
trait WeekDayTrait extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
class WeekDayClass extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
object WeekDayObject extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
object UserObject {
def isWorkingDay1(d: scala.test.scaladoc.test2.WeekDayClass#Value) = false
def isWorkingDay2(d: scala.test.scaladoc.test2.WeekDayClass#WeekDay) = false
def isWorkingDay3(d: scala.test.scaladoc.test2.WeekDayTrait#Value) = false
def isWorkingDay4(d: scala.test.scaladoc.test2.WeekDayTrait#WeekDay) = false
def isWorkingDay5(d: scala.test.scaladoc.test2.WeekDayObject.Value) = false
def isWorkingDay6(d: scala.test.scaladoc.test2.WeekDayObject.WeekDay) = false
import WeekDayObject._
def isWorkingDay7(d: Value) = ! (d == Sat || d == Sun)
def isWorkingDay8(d: WeekDay) = ! (d == Sat || d == Sun)
def isWorkingDay9(d: WeekDayObject.Value) = ! (d == Sat || d == Sun)
}
class UserClass {
def isWorkingDay1(d: scala.test.scaladoc.test2.WeekDayClass#Value) = false
def isWorkingDay2(d: scala.test.scaladoc.test2.WeekDayClass#WeekDay) = false
def isWorkingDay3(d: scala.test.scaladoc.test2.WeekDayTrait#Value) = false
def isWorkingDay4(d: scala.test.scaladoc.test2.WeekDayTrait#WeekDay) = false
def isWorkingDay5(d: scala.test.scaladoc.test2.WeekDayObject.Value) = false
def isWorkingDay6(d: scala.test.scaladoc.test2.WeekDayObject.WeekDay) = false
import WeekDayObject._
def isWorkingDay7(d: Value) = ! (d == Sat || d == Sun)
def isWorkingDay8(d: WeekDay) = ! (d == Sat || d == Sun)
def isWorkingDay9(d: WeekDayObject.Value) = ! (d == Sat || d == Sun)
}
trait UserTrait {
def isWorkingDay1(d: scala.test.scaladoc.test2.WeekDayClass#Value) = false
def isWorkingDay2(d: scala.test.scaladoc.test2.WeekDayClass#WeekDay) = false
def isWorkingDay3(d: scala.test.scaladoc.test2.WeekDayTrait#Value) = false
def isWorkingDay4(d: scala.test.scaladoc.test2.WeekDayTrait#WeekDay) = false
def isWorkingDay5(d: scala.test.scaladoc.test2.WeekDayObject.Value) = false
def isWorkingDay6(d: scala.test.scaladoc.test2.WeekDayObject.WeekDay) = false
import WeekDayObject._
def isWorkingDay7(d: Value) = ! (d == Sat || d == Sun)
def isWorkingDay8(d: WeekDay) = ! (d == Sat || d == Sun)
def isWorkingDay9(d: WeekDayObject.Value) = ! (d == Sat || d == Sun)
}
}
// testing type lambdas and useless prefixes (should be referenced as T instead of foo.T in the first example)
package test3 {
import language.higherKinds
object `package` {
trait T
trait A
trait X
def foo[T](x: T) = 7
def bar[A](x: ({type Lambda[X] <: Either[A, X]})#Lambda[String]) = 5
}
}
}
|