Distinguish PARTIAL_WITH_CFA resolve mode from just PARTIAL

So #KT-23182 Fixed
This commit is contained in:
Mikhail Glukhikh
2018-03-27 10:43:14 +02:00
parent 5d57341ee4
commit 9170aa0674
20 changed files with 39 additions and 30 deletions
@@ -409,12 +409,15 @@ class ResolveElementCache(
}
}
val controlFlowTrace =
DelegatingBindingTrace(trace.bindingContext, "Element control flow resolve", resolveElement, allowSliceRewrite = true)
ControlFlowInformationProvider(
resolveElement, controlFlowTrace, resolveElement.languageVersionSettings, resolveSession.platformDiagnosticSuppressor
).checkDeclaration()
controlFlowTrace.addOwnDataTo(trace, null, false)
if (bodyResolveMode.doControlFlowAnalysis) {
val controlFlowTrace = DelegatingBindingTrace(
trace.bindingContext, "Element control flow resolve", resolveElement, allowSliceRewrite = true
)
ControlFlowInformationProvider(
resolveElement, controlFlowTrace, resolveElement.languageVersionSettings, resolveSession.platformDiagnosticSuppressor
).checkDeclaration()
controlFlowTrace.addOwnDataTo(trace, null, false)
}
return Pair(trace.bindingContext, statementFilterUsed)
}