Resolve lateinit variables

Do not report UNINITIALIZED_VARIABLE on lateinit variables
Provide delegating constructors for descriptors for compatibility.
This commit is contained in:
Dmitry Petrov
2017-05-31 13:52:07 +03:00
parent f88cd5ed3d
commit 3bae430d49
19 changed files with 86 additions and 13 deletions
@@ -136,6 +136,7 @@ class IrLocalDelegatedPropertyDelegateDescriptorImpl(
override fun getCompileTimeInitializer(): ConstantValue<*>? = null
override fun isVar(): Boolean = false
override fun isLateInit(): Boolean = false
override fun substitute(substitutor: TypeSubstitutor): VariableDescriptor? = throw UnsupportedOperationException()
override fun getVisibility(): Visibility = Visibilities.LOCAL
@@ -44,6 +44,8 @@ class IrTemporaryVariableDescriptorImpl(
override fun isVar(): Boolean = isMutable
override fun isLateInit(): Boolean = false
override fun <R, D> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D): R =
visitor.visitVariableDescriptor(this, data)
}