Do not apply constant folding for non built-in functions

#KT-15872 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2017-02-07 20:22:21 +03:00
parent 935f7b1cc1
commit e7ea076093
9 changed files with 68 additions and 0 deletions
@@ -449,6 +449,8 @@ private class ConstantExpressionEvaluatorVisitor(
private fun evaluateCall(callExpression: KtExpression, receiverExpression: KtExpression, expectedType: KotlinType?): CompileTimeConstant<*>? {
val resolvedCall = callExpression.getResolvedCall(trace.bindingContext) ?: return null
if (!KotlinBuiltIns.isBuiltIn(resolvedCall.resultingDescriptor)) return null
val resultingDescriptorName = resolvedCall.resultingDescriptor.name
val argumentForReceiver = createOperationArgumentForReceiver(resolvedCall, receiverExpression) ?: return null