summaryrefslogtreecommitdiff
path: root/test/scaladoc/resources/implicit-inheritance-override.scala
blob: 5d692f59adaef85c036b3b5fdb0bfd046b9522c9 (plain) (blame)
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
// This tests the implicit comment inheritance capabilities of scaladoc for class inheritance (no $super, no @inheritdoc)
class Base {
  /**
   * The base comment. And another sentence...
   *
   * @param  arg1 The T term comment
   * @param  arg2 The string comment
   * @tparam T the type of the first argument
   * @return The return comment
   */
  def function[T](arg1: T, arg2: String): Double = 0.0d
}

class DerivedA extends Base {
  /**
   * Overriding the comment, the params and returns comments should stay the same.
   */
  override def function[T](arg1: T, arg2: String): Double = 1.0d
}

class DerivedB extends Base {
  /**
   * @param arg1 The overridden T term comment
   * @param arg2 The overridden string comment
   */
  override def function[T](arg1: T, arg2: String): Double = 2.0d
}

class DerivedC extends Base {
  /**
   * @return The overridden return comment
   */
  override def function[T](arg1: T, arg2: String): Double = 3.0d
}

class DerivedD extends Base {
  /**
   * @tparam T The overriden type parameter comment
   */
  override def function[T](arg1: T, arg2: String): Double = 3.0d
}