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
|
// TEST1: Inherit from multiple classes
trait A {
/**
* Hello 1 comment
*/
def hello1 = 0
}
trait B {
/**
* Hello 2 comment
*/
def hello2 = 1
}
trait C extends B
class D extends A with C {
/**
* Inherited: @inheritdoc
*/
override def hello1 = super.hello2
/**
* Inherited: @inheritdoc
*/
override def hello2 = super.hello1
}
// TEST2: Invalid inherit: no parents
trait E {
/**
* @inheritdoc
*/
def whereDidThisComeFrom
}
// TEST3: Invalid inherit, but other parents present
trait F extends E {
/**
* @inheritdoc
*/
def howAboutThis
}
// TEST4: Inherit from something that inherits: inherit should propagate
trait G extends D {
/**
* @inheritdoc
*/
override def hello1 = 13
/**
* @inheritdoc
*/
override def hello2 = 14
}
// TEST5: Inherit missing parameters
trait H extends G {
/**
* Missing params
* @throws HelloException @inheritdoc
* @todo @inheritdoc
*/
override def hello1 = 15
}
// TEST6: Inherit from something that inherits in the usecase
trait I extends G {
/**
* @inheritdoc
* @usecase def hello1(i: Int)
* @inheritdoc
*/
override def hello1 = 13
}
|