"annotation" is now parsed as an identifier. It is no longer a soft keyword.
Sometimes it's allowed to parse "annotation" unescaped even if other annotations must be escaped. A set of annotations and their options tests. A swarm of existing tests fixed (mostly kotlin.annotation.annotation() added to txt-files). STUB_VERSION increased. Some quick fixes slightly changed.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
// Annotations used for annotations :)
|
||||
enum class Target {
|
||||
CLASSIFIER,
|
||||
FUNCTION
|
||||
}
|
||||
|
||||
target(Target.CLASSIFIER)
|
||||
public annotation class target(vararg val allowedTargets: Target)
|
||||
|
||||
target(Target.CLASSIFIER)
|
||||
public annotation(AnnotationRetention.SOURCE) class annotation(
|
||||
val retention: AnnotationRetention = AnnotationRetention.RUNTIME,
|
||||
val repeatable: Boolean = false
|
||||
)
|
||||
|
||||
annotation class some
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package
|
||||
|
||||
internal final enum class Target : kotlin.Enum<Target> {
|
||||
public enum entry CLASSIFIER : Target {
|
||||
private constructor CLASSIFIER()
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Target): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public enum entry FUNCTION : Target {
|
||||
private constructor FUNCTION()
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Target): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
private constructor Target()
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Target): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Target
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<Target>
|
||||
}
|
||||
|
||||
target(allowedTargets = {Target.CLASSIFIER}) annotation(retention = AnnotationRetention.SOURCE) public final annotation class annotation : kotlin.Annotation {
|
||||
public constructor annotation(/*0*/ retention: kotlin.annotation.AnnotationRetention = ..., /*1*/ repeatable: kotlin.Boolean = ...)
|
||||
internal final val repeatable: kotlin.Boolean
|
||||
internal final val retention: kotlin.annotation.AnnotationRetention
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
annotation() internal final annotation class some : kotlin.Annotation {
|
||||
public constructor some()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
target(allowedTargets = {Target.CLASSIFIER}) annotation() public final annotation class target : kotlin.Annotation {
|
||||
public constructor target(/*0*/ vararg allowedTargets: Target /*kotlin.Array<out Target>*/)
|
||||
internal final val allowedTargets: kotlin.Array<out Target>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
class Annotation(val x: Int) {
|
||||
fun baz() {}
|
||||
fun bar() = x
|
||||
}
|
||||
|
||||
fun foo(annotation: Annotation): Int {
|
||||
if (annotation.bar() == 0) {
|
||||
annotation.baz()
|
||||
return 0
|
||||
}
|
||||
else {
|
||||
return -1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package
|
||||
|
||||
internal fun foo(/*0*/ annotation: Annotation): kotlin.Int
|
||||
|
||||
internal final class Annotation {
|
||||
public constructor Annotation(/*0*/ x: kotlin.Int)
|
||||
internal final val x: kotlin.Int
|
||||
internal final fun bar(): kotlin.Int
|
||||
internal final fun baz(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
class Annotation {
|
||||
fun setProblemGroup() {}
|
||||
fun getQuickFixes() = 0
|
||||
}
|
||||
|
||||
fun registerQuickFix(annotation: Annotation) {
|
||||
annotation.setProblemGroup()
|
||||
val fixes = annotation.getQuickFixes()
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package
|
||||
|
||||
internal fun registerQuickFix(/*0*/ annotation: Annotation): kotlin.Unit
|
||||
|
||||
internal final class Annotation {
|
||||
public constructor Annotation()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
internal final fun getQuickFixes(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal final fun setProblemGroup(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
annotation() class emptyBrackets
|
||||
|
||||
emptyBrackets class base
|
||||
@@ -0,0 +1,15 @@
|
||||
package
|
||||
|
||||
emptyBrackets() internal final class base {
|
||||
public constructor base()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
kotlin.annotation.annotation() internal final annotation class emptyBrackets : kotlin.Annotation {
|
||||
public constructor emptyBrackets()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
annotation(repeatable = true) class repann
|
||||
|
||||
repann repann class DoubleAnnotated
|
||||
@@ -0,0 +1,15 @@
|
||||
package
|
||||
|
||||
repann() repann() internal final class DoubleAnnotated {
|
||||
public constructor DoubleAnnotated()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
kotlin.annotation.annotation(repeatable = true) internal final annotation class repann : kotlin.Annotation {
|
||||
public constructor repann()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
annotation(AnnotationRetention.SOURCE) class sourceann
|
||||
|
||||
sourceann class AnnotatedAtSource
|
||||
@@ -0,0 +1,15 @@
|
||||
package
|
||||
|
||||
sourceann() internal final class AnnotatedAtSource {
|
||||
public constructor AnnotatedAtSource()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
kotlin.annotation.annotation(retention = AnnotationRetention.SOURCE) internal final annotation class sourceann : kotlin.Annotation {
|
||||
public constructor sourceann()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
target(AnnotationTarget.CLASSIFIER)
|
||||
annotation class base
|
||||
|
||||
base data class My
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package
|
||||
|
||||
base() kotlin.data() internal final class My {
|
||||
public constructor My()
|
||||
public final /*synthesized*/ fun copy(): My
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
kotlin.annotation.target(allowedTargets = {AnnotationTarget.CLASSIFIER}) kotlin.annotation.annotation() internal final annotation class base : kotlin.Annotation {
|
||||
public constructor base()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user