Revert "[FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor"

This reverts commit 0e6762acc3.
This commit is contained in:
Nikolay Krasko
2021-12-10 14:17:00 +03:00
committed by TeamCityServer
parent 965bab2d2d
commit faeb5d21ab
13 changed files with 17 additions and 56 deletions
@@ -410,8 +410,6 @@ class TypeResolver(
override fun getCompileTimeInitializer() = null
override fun cleanCompileTimeInitializerCache() {}
override fun <R : Any?, D : Any?> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D): R {
return visitor.visitVariableDescriptor(this, data)
}
@@ -114,9 +114,9 @@ class VariableTypeAndInitializerResolver(
trace: BindingTrace
) {
if (!variable.hasInitializer() || variable.isVar) return
variableDescriptor.setCompileTimeInitializerFactory {
variableDescriptor.setCompileTimeInitializer(
storageManager.createRecursionTolerantNullableLazyValue(
computeInitializer@{
computeInitializer@ {
if (!DescriptorUtils.shouldRecordInitializerForProperty(
variableDescriptor,
variableType
@@ -133,17 +133,18 @@ class VariableTypeAndInitializerResolver(
constantExpressionEvaluator.module
)
val constant = constantExpressionEvaluator.evaluateExpression(initializer, trace, initializerType)
?: return@computeInitializer null
?: return@computeInitializer null
if (constant.usesNonConstValAsConstant && variableDescriptor.isConst) {
trace.report(Errors.NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION.on(initializer))
}
constant.toConstantValue(initializerType)
val qqq = constant.toConstantValue(initializerType)
qqq
},
null
)
}
)
}
private fun resolveDelegatedPropertyType(