Minor. Invert and extract condition for checkAssignmentBeforeDeclaration

This commit is contained in:
Denis Zharkov
2017-09-22 15:26:14 +03:00
parent 527daced46
commit 8eb36947ca
@@ -486,18 +486,23 @@ class ControlFlowInformationProvider private constructor(
}
private fun checkAssignmentBeforeDeclaration(ctxt: VariableInitContext, expression: KtExpression) =
if (ctxt.enterInitState?.isDeclared == true
|| ctxt.exitInitState?.isDeclared == true
|| ctxt.enterInitState?.mayBeInitialized() == true
|| ctxt.exitInitState?.mayBeInitialized() != true) {
false
}
else {
if (ctxt.isInitializationBeforeDeclaration()) {
if (ctxt.variableDescriptor != null) {
report(Errors.INITIALIZATION_BEFORE_DECLARATION.on(expression, ctxt.variableDescriptor), ctxt)
}
true
}
else {
false
}
private fun VariableInitContext.isInitializationBeforeDeclaration(): Boolean =
// is not declared
enterInitState?.isDeclared != true && exitInitState?.isDeclared != true &&
// wasn't initialized before current instruction
enterInitState?.mayBeInitialized() != true &&
// became initialized after current instruction
exitInitState?.mayBeInitialized() == true
private fun checkInitializationForCustomSetter(ctxt: VariableInitContext, expression: KtExpression): Boolean {
val variableDescriptor = ctxt.variableDescriptor