Minor
This commit is contained in:
@@ -587,21 +587,18 @@ public class JetPsiFactory(private val project: Project) {
|
||||
return comment
|
||||
}
|
||||
|
||||
public fun wrapInABlock(expression: JetExpression): JetBlockExpression {
|
||||
// special hack used in ControlStructureTypingVisitor
|
||||
// TODO: get rid of it
|
||||
public fun wrapInABlockWrapper(expression: JetExpression): JetBlockExpression {
|
||||
if (expression is JetBlockExpression) {
|
||||
return expression
|
||||
}
|
||||
return BlockWrapper(expression)
|
||||
}
|
||||
|
||||
public fun BlockWrapper(expressionToWrap: JetExpression): BlockWrapper {
|
||||
val function = createFunction("fun f() { ${expressionToWrap.getText()} }")
|
||||
val function = createFunction("fun f() { ${expression.getText()} }")
|
||||
val block = function.getBodyExpression() as JetBlockExpression
|
||||
return BlockWrapper(block, expressionToWrap)
|
||||
return BlockWrapper(block, expression)
|
||||
}
|
||||
|
||||
private inner class BlockWrapper(fakeBlockExpression: JetBlockExpression, private val expression: JetExpression) : JetBlockExpression(fakeBlockExpression.getNode()), JetPsiUtil.JetExpressionWrapper {
|
||||
|
||||
private class BlockWrapper(fakeBlockExpression: JetBlockExpression, private val expression: JetExpression) : JetBlockExpression(fakeBlockExpression.getNode()), JetPsiUtil.JetExpressionWrapper {
|
||||
override fun getStatements(): List<JetElement> {
|
||||
return listOf(expression)
|
||||
}
|
||||
|
||||
+2
-2
@@ -126,8 +126,8 @@ public class ControlStructureTypingVisitor extends ExpressionTypingVisitor {
|
||||
elseBranch, elseScope, elseInfo, thenInfo, contextWithExpectedType, ifExpression, isStatement);
|
||||
}
|
||||
JetPsiFactory psiFactory = JetPsiFactory(ifExpression);
|
||||
JetBlockExpression thenBlock = psiFactory.wrapInABlock(thenBranch);
|
||||
JetBlockExpression elseBlock = psiFactory.wrapInABlock(elseBranch);
|
||||
JetBlockExpression thenBlock = psiFactory.wrapInABlockWrapper(thenBranch);
|
||||
JetBlockExpression elseBlock = psiFactory.wrapInABlockWrapper(elseBranch);
|
||||
Call callForIf = createCallForSpecialConstruction(ifExpression, ifExpression, Lists.newArrayList(thenBlock, elseBlock));
|
||||
MutableDataFlowInfoForArguments dataFlowInfoForArguments =
|
||||
createDataFlowInfoForArgumentsForIfCall(callForIf, thenInfo, elseInfo);
|
||||
|
||||
Reference in New Issue
Block a user