public IfTrueIfFalseNode produce_ifTrue_(final Node _receiver, final Expression _aBlockNode) {
return this.produce_ifTrue_ifFalse_(_receiver, _aBlockNode, this.nilReturningBlockNode());
}
public IfTrueIfFalseNode produce_ifTrue_ifFalse_(final Node _receiver, final Expression _trueExpr, final Expression _falseExpr) {
final BlockNode _trueBlockNode;
final BlockNode _falseBlockNode;
if (!_trueExpr.isBlockNode()) {
return null;
}
if (!_falseExpr.isBlockNode()) {
return null;
}
_trueBlockNode = ((BlockNode) _trueExpr);
_falseBlockNode = ((BlockNode) _falseExpr);
return IfTrueIfFalseNode.factory.test_trueSequence_falseSequence_returnType_(((Expression) this.visit_(_receiver)), ((SequenceNode) this.visit_(_trueBlockNode.body())), ((SequenceNode) this.visit_(_falseBlockNode.body())), TypeOrNode.factory.left_right_(_trueBlockNode.returnType(), _falseBlockNode.returnType()));
}