8000 Feature/inheritdoc and proper usecase comment inheritance/override by VladUreche · Pull Request #70 · scala/scala · GitHub
[go: up one dir, main page]

Skip to content

Feature/inheritdoc and proper usecase comment inheritance/override #70

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Forgot the testcases
  • Loading branch information
Vlad Ureche authored and VladUreche committed Dec 21, 2011
commit c3d218b73f9fd1299bd59c64849110159be08393
41 changes: 41 additions & 0 deletions test/scaladoc/resources/implicit-inheritance-override.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,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
}
57 changes: 57 additions & 0 deletions test/scaladoc/resources/implicit-inheritance-usecase.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,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
}
0