File: implicit-inheritance-override.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (41 lines) | stat: -rw-r--r-- 1,121 bytes parent folder | download | duplicates (4)
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 overridden type parameter comment
   */
  override def function[T](arg1: T, arg2: String): Double = 3.0d
}