Remove use-site targeted annotations from LazyAnnotations

LazyAnnotations are only used for classes and files, and in the latter
case it will now contain file annotations as normal annotations, without
the target "file:"
This commit is contained in:
Alexander Udalov
2018-08-22 19:54:23 +02:00
parent 98232265d7
commit f9b9b6908a
10 changed files with 12 additions and 27 deletions
@@ -56,27 +56,12 @@ class LazyAnnotations(
override fun isEmpty() = annotationEntries.isEmpty() override fun isEmpty() = annotationEntries.isEmpty()
private val annotation = c.storageManager.createMemoizedFunction { entry: KtAnnotationEntry -> private val annotation = c.storageManager.createMemoizedFunction { entry: KtAnnotationEntry ->
val descriptor = LazyAnnotationDescriptor(c, entry) LazyAnnotationDescriptor(c, entry)
val target = entry.useSiteTarget?.getAnnotationUseSiteTarget()
AnnotationWithTarget(descriptor, target)
} }
override fun getUseSiteTargetedAnnotations(): List<AnnotationWithTarget> { override fun getUseSiteTargetedAnnotations(): List<AnnotationWithTarget> = emptyList()
return annotationEntries
.mapNotNull {
val (descriptor, target) = annotation(it)
if (target == null) null else AnnotationWithTarget(descriptor, target)
}
}
override fun iterator(): Iterator<AnnotationDescriptor> { override fun iterator(): Iterator<AnnotationDescriptor> = annotationEntries.asSequence().map(annotation).iterator()
return annotationEntries
.asSequence()
.mapNotNull {
val (descriptor, target) = annotation(it)
if (target == null) descriptor else null // Filter out annotations with target
}.iterator()
}
override fun forceResolveAllContents() { override fun forceResolveAllContents() {
// To resolve all entries // To resolve all entries
@@ -24,7 +24,7 @@ public final class CustomDelegate {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Field public final class SomeClass {
public constructor SomeClass() public constructor SomeClass()
@delegate:Field @delegate:Prop protected final val delegatedProperty: kotlin.String @delegate:Field @delegate:Prop protected final val delegatedProperty: kotlin.String
public final val propertyWithCustomGetter: kotlin.Int public final val propertyWithCustomGetter: kotlin.Int
@@ -15,7 +15,7 @@ public final class CustomDelegate {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass() public constructor SomeClass()
protected final val delegatedProperty: kotlin.String protected final val delegatedProperty: kotlin.String
public final val propertyWithCustomGetter: kotlin.Int public final val propertyWithCustomGetter: kotlin.Int
@@ -15,7 +15,7 @@ public final class CustomDelegate {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass() public constructor SomeClass()
protected final val delegatedProperty: kotlin.String protected final val delegatedProperty: kotlin.String
protected final var mutableProperty: kotlin.String protected final var mutableProperty: kotlin.String
@@ -22,7 +22,7 @@ public final annotation class Second : kotlin.Annotation {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass(/*0*/ a: kotlin.String) public constructor SomeClass(/*0*/ a: kotlin.String)
protected final val simpleProperty: kotlin.String = "text" protected final val simpleProperty: kotlin.String = "text"
public final fun anotherFun(): kotlin.Unit public final fun anotherFun(): kotlin.Unit
@@ -22,7 +22,7 @@ public final annotation class Second : kotlin.Annotation {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass(/*0*/ s: kotlin.String) public constructor SomeClass(/*0*/ s: kotlin.String)
@Ann protected final val p1: kotlin.String = "" @Ann protected final val p1: kotlin.String = ""
@Ann @Second protected final val p2: kotlin.String = "" @Ann @Second protected final val p2: kotlin.String = ""
@@ -10,7 +10,7 @@ public final annotation class Ann : kotlin.Annotation {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass(/*0*/ a: kotlin.String) public constructor SomeClass(/*0*/ a: kotlin.String)
protected final val simpleProperty: kotlin.String = "text" protected final val simpleProperty: kotlin.String = "text"
public final val @receiver:Ann kotlin.String.extensionProperty2: kotlin.String public final val @receiver:Ann kotlin.String.extensionProperty2: kotlin.String
@@ -16,7 +16,7 @@ public final class CustomDelegate {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass() public constructor SomeClass()
protected final var delegatedProperty: kotlin.String protected final var delegatedProperty: kotlin.String
protected final var mutableProperty: kotlin.String protected final var mutableProperty: kotlin.String
@@ -16,7 +16,7 @@ public final class CustomDelegate {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public final class SomeClass { @Ann public final class SomeClass {
public constructor SomeClass() public constructor SomeClass()
@setparam:Ann protected final var delegatedProperty: kotlin.String @setparam:Ann protected final var delegatedProperty: kotlin.String
@setparam:Ann protected final var mutableProperty: kotlin.String @setparam:Ann protected final var mutableProperty: kotlin.String
@@ -4,7 +4,7 @@ package bar {
public val prop: [ERROR : No type, no body] public val prop: [ERROR : No type, no body]
public fun func(): kotlin.Unit public fun func(): kotlin.Unit
public final class C { @bar.baz public final class C {
public constructor C() public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int