forked from scala/scala
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimplicit-inheritance-usecase.scala
57 lines (56 loc) · 2.11 KB
/
implicit-inheritance-usecase.scala
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
// This tests the implicit comment inheritance capabilities of scaladoc for usecases (no $super, no @inheritdoc)
/** Testing use case inheritance */
class UseCaseInheritance {
/**
* The base comment. And another sentence...
*
* @param arg1 The T term comment
* @param arg2 The string comment
* @tparam T The type parameter
* @return The return comment
*
* @usecase def missing_arg[T](arg1: T): Double
*
* @usecase def missing_targ(arg1: Int, arg2: String): Double
*
* @usecase def overridden_arg1[T](implicit arg1: T, arg2: String): Double
* @param arg1 The overridden T term comment
*
* @usecase def overridden_targ[T](implicit arg1: T, arg2: String): Double
* @tparam T The overridden type parameter comment
*
* @usecase def overridden_return[T](implicit arg1: T, arg2: String): Double
* @return The overridden return comment
*
* @usecase def added_arg[T](implicit arg1: T, arg2: String, arg3: Float): Double
* @param arg3 The added float comment
*
* @usecase def overridden_comment[T](implicit arg1: T, arg2: String): Double
* The overridden comment.
*/
def function[T](implicit arg1: T, arg2: String): Double = 0.0d
}
/** Testing the override-use case interaction */
class UseCaseOverrideInheritance extends UseCaseInheritance {
/**
* @usecase def missing_arg[T](arg1: T): Double
*
* @usecase def missing_targ(arg1: Int, arg2: String): Double
*
* @usecase def overridden_arg1[T](implicit arg1: T, arg2: String): Double
* @param arg1 The overridden T term comment
*
* @usecase def overridden_targ[T](implicit arg1: T, arg2: String): Double
* @tparam T The overridden type parameter comment
*
* @usecase def overridden_return[T](implicit arg1: T, arg2: String): Double
* @return The overridden return comment
*
* @usecase def added_arg[T](implicit arg1: T, arg2: String, arg3: Float): Double
* @param arg3 The added float comment
*
* @usecase def overridden_comment[T](implicit arg1: T, arg2: String): Double
* The overridden comment.
*/
override def function[T](implicit arg1: T, arg2: String): Double = 0.0d
}