From ef51f7e2466e28db0943d528b6b489aefd098c0d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 16:34:08 +0100 Subject: annotations work in progress --- test/data/classes/annotatedClass.kt | 1 + test/data/format/annotations.kt | 4 ++++ test/data/format/annotations.md | 0 test/data/functions/annotatedFunction.kt | 2 ++ test/data/functions/functionWithAnnotatedParam.kt | 2 ++ test/data/properties/annotatedProperty.kt | 1 + 6 files changed, 10 insertions(+) create mode 100644 test/data/classes/annotatedClass.kt create mode 100644 test/data/format/annotations.kt create mode 100644 test/data/format/annotations.md create mode 100644 test/data/functions/annotatedFunction.kt create mode 100644 test/data/functions/functionWithAnnotatedParam.kt create mode 100644 test/data/properties/annotatedProperty.kt (limited to 'test/data') diff --git a/test/data/classes/annotatedClass.kt b/test/data/classes/annotatedClass.kt new file mode 100644 index 00000000..62c6f0ec --- /dev/null +++ b/test/data/classes/annotatedClass.kt @@ -0,0 +1 @@ +data class Foo() {} diff --git a/test/data/format/annotations.kt b/test/data/format/annotations.kt new file mode 100644 index 00000000..445ec969 --- /dev/null +++ b/test/data/format/annotations.kt @@ -0,0 +1,4 @@ +data class Foo { + inline fun bar() { + } +} diff --git a/test/data/format/annotations.md b/test/data/format/annotations.md new file mode 100644 index 00000000..e69de29b diff --git a/test/data/functions/annotatedFunction.kt b/test/data/functions/annotatedFunction.kt new file mode 100644 index 00000000..11c19672 --- /dev/null +++ b/test/data/functions/annotatedFunction.kt @@ -0,0 +1,2 @@ +inline fun f() { +} diff --git a/test/data/functions/functionWithAnnotatedParam.kt b/test/data/functions/functionWithAnnotatedParam.kt new file mode 100644 index 00000000..8922f765 --- /dev/null +++ b/test/data/functions/functionWithAnnotatedParam.kt @@ -0,0 +1,2 @@ +fun function([noinline] notInlined: () -> Unit) { +} diff --git a/test/data/properties/annotatedProperty.kt b/test/data/properties/annotatedProperty.kt new file mode 100644 index 00000000..f70c28b4 --- /dev/null +++ b/test/data/properties/annotatedProperty.kt @@ -0,0 +1 @@ +inline val property = "test" \ No newline at end of file -- cgit From 0e70fa4ca021bff09e7d9ce64269a4e698512af5 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 16:59:34 +0100 Subject: render annotations --- test/data/format/annotations.kt | 4 +++- test/data/format/annotations.md | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) (limited to 'test/data') diff --git a/test/data/format/annotations.kt b/test/data/format/annotations.kt index 445ec969..9356d4ca 100644 --- a/test/data/format/annotations.kt +++ b/test/data/format/annotations.kt @@ -1,4 +1,6 @@ data class Foo { - inline fun bar() { + inline fun bar([noinline] notInlined: () -> Unit) { } + + inline val x: Int } diff --git a/test/data/format/annotations.md b/test/data/format/annotations.md index e69de29b..83f79397 100644 --- a/test/data/format/annotations.md +++ b/test/data/format/annotations.md @@ -0,0 +1,30 @@ +[test](out.md) / [](out.md) / [Foo](out.md) + + +# Foo + + +``` +data class Foo +``` + + + + +### Constructors + + +| [<init>](out.md) | `public Foo()` | + + +### Properties + + +| [x](out.md) | `inline val x: Int` | + + +### Functions + + +| [bar](out.md) | `inline fun bar(noinline notInlined: () -> Unit): Unit` | + -- cgit From 716483c2f20e4af1951342f2acc9a231fcbeab3b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 17:41:14 +0100 Subject: render annotation classes correctly --- test/data/format/annotationClass.kt | 1 + test/data/format/annotationClass.md | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 test/data/format/annotationClass.kt create mode 100644 test/data/format/annotationClass.md (limited to 'test/data') diff --git a/test/data/format/annotationClass.kt b/test/data/format/annotationClass.kt new file mode 100644 index 00000000..89d494fb --- /dev/null +++ b/test/data/format/annotationClass.kt @@ -0,0 +1 @@ +annotation class fancy diff --git a/test/data/format/annotationClass.md b/test/data/format/annotationClass.md new file mode 100644 index 00000000..bfaa8581 --- /dev/null +++ b/test/data/format/annotationClass.md @@ -0,0 +1,18 @@ +[test](out.md) / [](out.md) / [fancy](out.md) + + +# fancy + + +``` +annotation class fancy +``` + + + + +### Constructors + + +| [<init>](out.md) | `public fancy()` | + -- cgit From 69dd2988ec98a9fa027fcc805f28efbe8758d476 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 18:47:03 +0100 Subject: support and render annotation parameters --- test/data/classes/annotatedClassWithAnnotationParameters.kt | 1 + test/data/classes/javaAnnotationClass.kt | 5 +++++ test/data/format/annotationParams.kt | 1 + test/data/format/annotationParams.md | 12 ++++++++++++ .../functions/annotatedFunctionWithAnnotationParameters.kt | 1 + 5 files changed, 20 insertions(+) create mode 100644 test/data/classes/annotatedClassWithAnnotationParameters.kt create mode 100644 test/data/classes/javaAnnotationClass.kt create mode 100644 test/data/format/annotationParams.kt create mode 100644 test/data/format/annotationParams.md create mode 100644 test/data/functions/annotatedFunctionWithAnnotationParameters.kt (limited to 'test/data') diff --git a/test/data/classes/annotatedClassWithAnnotationParameters.kt b/test/data/classes/annotatedClassWithAnnotationParameters.kt new file mode 100644 index 00000000..1af97e75 --- /dev/null +++ b/test/data/classes/annotatedClassWithAnnotationParameters.kt @@ -0,0 +1 @@ +deprecated("should no longer be used") class Foo() {} diff --git a/test/data/classes/javaAnnotationClass.kt b/test/data/classes/javaAnnotationClass.kt new file mode 100644 index 00000000..c5f5cac4 --- /dev/null +++ b/test/data/classes/javaAnnotationClass.kt @@ -0,0 +1,5 @@ +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy + +Retention(RetentionPolicy.SOURCE) +public annotation class throws() diff --git a/test/data/format/annotationParams.kt b/test/data/format/annotationParams.kt new file mode 100644 index 00000000..ee5b524a --- /dev/null +++ b/test/data/format/annotationParams.kt @@ -0,0 +1 @@ +inlineOptions(InlineOption.LOCAL_CONTINUE_AND_BREAK) fun f() {} diff --git a/test/data/format/annotationParams.md b/test/data/format/annotationParams.md new file mode 100644 index 00000000..6bbdc0e5 --- /dev/null +++ b/test/data/format/annotationParams.md @@ -0,0 +1,12 @@ +[test](out.md) / [](out.md) / [f](out.md) + + +# f + + +``` +inlineOptions([InlineOption.LOCAL_CONTINUE_AND_BREAK]) fun f(): Unit +``` + + + diff --git a/test/data/functions/annotatedFunctionWithAnnotationParameters.kt b/test/data/functions/annotatedFunctionWithAnnotationParameters.kt new file mode 100644 index 00000000..ee5b524a --- /dev/null +++ b/test/data/functions/annotatedFunctionWithAnnotationParameters.kt @@ -0,0 +1 @@ +inlineOptions(InlineOption.LOCAL_CONTINUE_AND_BREAK) fun f() {} -- cgit From 7fbff24a81a7bcc453e1c4e30acdcf7b38c68265 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 9 Jan 2015 18:54:06 +0100 Subject: use JUnit for compares; avoid generating trailing whitespace in markdown --- test/data/format/annotationClass.md | 2 +- test/data/format/annotations.md | 6 +++--- test/data/format/classWithClassObject.md | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'test/data') diff --git a/test/data/format/annotationClass.md b/test/data/format/annotationClass.md index bfaa8581..301eff08 100644 --- a/test/data/format/annotationClass.md +++ b/test/data/format/annotationClass.md @@ -14,5 +14,5 @@ annotation class fancy ### Constructors -| [<init>](out.md) | `public fancy()` | +| [<init>](out.md) | `public fancy()` | diff --git a/test/data/format/annotations.md b/test/data/format/annotations.md index 83f79397..e745213e 100644 --- a/test/data/format/annotations.md +++ b/test/data/format/annotations.md @@ -14,17 +14,17 @@ data class Foo ### Constructors -| [<init>](out.md) | `public Foo()` | +| [<init>](out.md) | `public Foo()` | ### Properties -| [x](out.md) | `inline val x: Int` | +| [x](out.md) | `inline val x: Int` | ### Functions -| [bar](out.md) | `inline fun bar(noinline notInlined: () -> Unit): Unit` | +| [bar](out.md) | `inline fun bar(noinline notInlined: () -> Unit): Unit` | diff --git a/test/data/format/classWithClassObject.md b/test/data/format/classWithClassObject.md index f694a76f..796ecce2 100644 --- a/test/data/format/classWithClassObject.md +++ b/test/data/format/classWithClassObject.md @@ -14,17 +14,17 @@ class Klass ### Constructors -| [<init>](out.md) | `public Klass()` | +| [<init>](out.md) | `public Klass()` | ### Class Object Properties -| [x](out.md) | `val x: Int` | +| [x](out.md) | `val x: Int` | ### Class Object Functions -| [foo](out.md) | `fun foo(): Unit` | +| [foo](out.md) | `fun foo(): Unit` | -- cgit From 4b0dcee83efbdb77ae5e389ee04c309c52446153 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 9 Jan 2015 19:48:44 +0100 Subject: generate ExternalClass nodes to hold extension functions and properties for classes from other packages --- test/data/format/extensions.class.md | 16 ++++++++++++++++ test/data/format/extensions.kt | 19 +++++++++++++++++++ test/data/format/extensions.package.md | 18 ++++++++++++++++++ test/data/functions/functionWithReceiver.kt | 8 +++++++- test/data/properties/propertyWithReceiver.kt | 2 ++ 5 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 test/data/format/extensions.class.md create mode 100644 test/data/format/extensions.kt create mode 100644 test/data/format/extensions.package.md create mode 100644 test/data/properties/propertyWithReceiver.kt (limited to 'test/data') diff --git a/test/data/format/extensions.class.md b/test/data/format/extensions.class.md new file mode 100644 index 00000000..a9747756 --- /dev/null +++ b/test/data/format/extensions.class.md @@ -0,0 +1,16 @@ +[test](out.md) / [foo](out.md) / [String](out.md) + + +### Extensions for String + + +| [fn](out.md) | `fun String.fn(): Unit` +`fun String.fn(x: Int): Unit` +Function with receiver + + | +| [foobar](out.md) | `val String.foobar: Int` +Property with receiver. + + | + diff --git a/test/data/format/extensions.kt b/test/data/format/extensions.kt new file mode 100644 index 00000000..6f2eff9d --- /dev/null +++ b/test/data/format/extensions.kt @@ -0,0 +1,19 @@ +package foo + +/** + * Function with receiver + */ +fun String.fn() { +} + +/** + * Function with receiver + */ +fun String.fn(x: Int) { +} + +/** + * Property with receiver. + */ +val String.foobar: Int + get() = size() * 2 diff --git a/test/data/format/extensions.package.md b/test/data/format/extensions.package.md new file mode 100644 index 00000000..13f40457 --- /dev/null +++ b/test/data/format/extensions.package.md @@ -0,0 +1,18 @@ +[test](out.md) / [foo](out.md) + + +# foo + + +``` +package foo +``` + + + + +### Extensions for External Classes + + +| [String](out.md) | `` | + diff --git a/test/data/functions/functionWithReceiver.kt b/test/data/functions/functionWithReceiver.kt index 663c3e56..c8473251 100644 --- a/test/data/functions/functionWithReceiver.kt +++ b/test/data/functions/functionWithReceiver.kt @@ -2,4 +2,10 @@ * Function with receiver */ fun String.fn() { -} \ No newline at end of file +} + +/** + * Function with receiver + */ +fun String.fn(x: Int) { +} diff --git a/test/data/properties/propertyWithReceiver.kt b/test/data/properties/propertyWithReceiver.kt new file mode 100644 index 00000000..e282f6bd --- /dev/null +++ b/test/data/properties/propertyWithReceiver.kt @@ -0,0 +1,2 @@ +val String.foobar: Int + get() = size() * 2 -- cgit From e17eaa5fbc296bab0f32e8169d50fea06a6de581 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 9 Jan 2015 20:59:58 +0100 Subject: nice rendering for deprecated members --- test/data/format/deprecated.class.html | 46 ++++++++++++++++++++++++++++++++ test/data/format/deprecated.kt | 5 ++++ test/data/format/deprecated.package.html | 44 ++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 test/data/format/deprecated.class.html create mode 100644 test/data/format/deprecated.kt create mode 100644 test/data/format/deprecated.package.html (limited to 'test/data') diff --git a/test/data/format/deprecated.class.html b/test/data/format/deprecated.class.html new file mode 100644 index 00000000..87599082 --- /dev/null +++ b/test/data/format/deprecated.class.html @@ -0,0 +1,46 @@ + + + + +test /  / C
+
+

C

+
class C
Deprecated: This class sucks
+
+
+test /  / f
+
+

f

+
fun f(): Unit
Deprecated: This function sucks
+
+
+test /  / p
+
+

p

+
val p: Int
Deprecated: This property sucks
+
+
+

Constructors

+ + + + + + + +
+<init> +public C()
+

Accessors

+ + + + + + + +
+get +
+ + diff --git a/test/data/format/deprecated.kt b/test/data/format/deprecated.kt new file mode 100644 index 00000000..9ee2c1d6 --- /dev/null +++ b/test/data/format/deprecated.kt @@ -0,0 +1,5 @@ +deprecated("This class sucks") class C() { } + +deprecated("This function sucks") fun f() { } + +deprecated("This property sucks") val p: Int get() = 0 diff --git a/test/data/format/deprecated.package.html b/test/data/format/deprecated.package.html new file mode 100644 index 00000000..cf563a8b --- /dev/null +++ b/test/data/format/deprecated.package.html @@ -0,0 +1,44 @@ + + + + +test / 
+
+

+
package 

+
+

Types

+ + + + + + + +
+C +class C
+

Properties

+ + + + + + + +
+p +val p: Int
+

Functions

+ + + + + + + +
+f +fun f(): Unit
+ + -- cgit