Rewrite slice error removed for LEAKING_THIS #KT-13371 Fixed

Also EA-86478 fixed
(cherry picked from commit 5ac3126)
This commit is contained in:
Mikhail Glukhikh
2016-08-08 14:32:59 +03:00
committed by Mikhail Glukhikh
parent 13e64c18d9
commit 729de536de
5 changed files with 38 additions and 6 deletions
@@ -33,14 +33,16 @@ import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.BindingTrace
import org.jetbrains.kotlin.types.expressions.OperatorConventions
sealed class LeakingThisDescriptor(val classOrObject: KtClassOrObject) {
class PropertyIsNull(val property: PropertyDescriptor, classOrObject: KtClassOrObject) : LeakingThisDescriptor(classOrObject)
interface LeakingThisDescriptor {
val classOrObject: KtClassOrObject
class NonFinalClass(val klass: ClassDescriptor, classOrObject: KtClassOrObject): LeakingThisDescriptor(classOrObject)
data class PropertyIsNull(val property: PropertyDescriptor, override val classOrObject: KtClassOrObject) : LeakingThisDescriptor
class NonFinalProperty(val property: PropertyDescriptor, classOrObject: KtClassOrObject): LeakingThisDescriptor(classOrObject)
data class NonFinalClass(val klass: ClassDescriptor, override val classOrObject: KtClassOrObject): LeakingThisDescriptor
class NonFinalFunction(val function: FunctionDescriptor, classOrObject: KtClassOrObject): LeakingThisDescriptor(classOrObject)
data class NonFinalProperty(val property: PropertyDescriptor, override val classOrObject: KtClassOrObject): LeakingThisDescriptor
data class NonFinalFunction(val function: FunctionDescriptor, override val classOrObject: KtClassOrObject): LeakingThisDescriptor
}
class ConstructorConsistencyChecker private constructor(