_stream.append('}');
return true;
}
public SourcePrinter printMessage_(final MessageNode _message) {
Expression _prev;
Expression _arg;
int _indent;
String _thisKey;
final String[] _keywords;
if (st.gravel.support.jvm.IntegerExtensions.equals_(_message.arguments().length, 0)) {
_stream.append(' ');
_stream.append(_message.selector());
return SourcePrinter.this;
}
_keywords = _message.keywords();
_prev = _message.receiver();
for (int _part = 1; _part <= _message.arguments().length; _part++) {
_arg = _message.arguments()[_part - 1];
_thisKey = _keywords[_part - 1];
if (_prev.isBlockNode() || ((_prev.isMessageNode() && (_prev.precedence() >= 3)) || ((_arg.isBlockNode() && (((BlockNode) _arg).isComplex() && (!st.gravel.support.jvm.StringExtensions.equals_(_thisKey, "do:")))) || ((_message.arguments().length > 2) || st.gravel.support.jvm.ArrayExtensions.includes_(new String[] { "ifTrue:ifFalse:", "ifFalse:ifTrue:" }, _message.selector()))))) {
SourcePrinter.this.crtab_((_indentation + 1));
_indent = 1;
} else {
_stream.append(' ');
_indent = 0;