Add AND (&) token

This commit is contained in:
Denis.Zharkov
2021-08-04 17:52:52 +03:00
committed by teamcityserver
parent f265cd49ea
commit cdd8d1c163
6 changed files with 222 additions and 213 deletions
@@ -22,7 +22,8 @@ import com.intellij.psi.util.PsiTreeUtil
import com.intellij.util.SmartFMap
import com.intellij.util.containers.ContainerUtil
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.cfg.ControlFlowBuilder.PredefinedOperation.*
import org.jetbrains.kotlin.cfg.ControlFlowBuilder.PredefinedOperation.NOT_NULL_ASSERTION
import org.jetbrains.kotlin.cfg.ControlFlowBuilder.PredefinedOperation.OR
import org.jetbrains.kotlin.cfg.pseudocode.ControlFlowInstructionsGenerator
import org.jetbrains.kotlin.cfg.pseudocode.PseudoValue
import org.jetbrains.kotlin.cfg.pseudocode.Pseudocode
@@ -367,7 +368,7 @@ class ControlFlowProcessor(
}
generateInstructions(right)
builder.bindLabel(resultLabel)
val operation = if (operationType === ANDAND) AND else OR
val operation = if (operationType === ANDAND) ControlFlowBuilder.PredefinedOperation.AND else OR
builder.predefinedOperation(expression, operation, elementsToValues(listOf(left, right).filterNotNull()))
}