use of st.gravel.support.compiler.ast.Statement in project gravel by gravel-st.
the class ParserTest method testParseUnaryBlockNoTemps.
@Test
public void testParseUnaryBlockNoTemps() {
final Statement _node;
_node = Parser.factory.source_("[:a | a foo. 2 bar]").parseExpression();
assertTrue(st.gravel.support.jvm.ObjectExtensions.equals_(_node.factory(), BlockNode.factory));
assertEquals((String) "\n[:a | \na foo.\n2 bar]", (String) _node.prettySourceString());
}
use of st.gravel.support.compiler.ast.Statement in project gravel by gravel-st.
the class MessageSendRewriter method visitBinaryMessageNode_.
@Override
public Statement visitBinaryMessageNode_(final BinaryMessageNode _anObject) {
final st.gravel.core.Symbol _selector;
final st.gravel.support.jvm.Block1<Statement, MessageNode> _res;
_selector = st.gravel.core.Symbol.value(_anObject.selector());
st.gravel.support.jvm.Block1<Statement, MessageNode> _temp1 = _specialSelectors.get(_selector);
_res = ((st.gravel.support.jvm.Block1<Statement, MessageNode>) _temp1);
if (_res != null) {
final Statement _trans;
_trans = _res.value_(_anObject);
if (_trans != null) {
return _trans;
}
}
return super.visitBinaryMessageNode_(_anObject);
}
use of st.gravel.support.compiler.ast.Statement in project gravel by gravel-st.
the class MessageSendRewriter method visitUnaryMessageNode_.
@Override
public Statement visitUnaryMessageNode_(final UnaryMessageNode _anObject) {
final st.gravel.core.Symbol _selector;
final st.gravel.support.jvm.Block1<Statement, MessageNode> _res;
_selector = st.gravel.core.Symbol.value(_anObject.selector());
st.gravel.support.jvm.Block1<Statement, MessageNode> _temp1 = _specialSelectors.get(_selector);
_res = ((st.gravel.support.jvm.Block1<Statement, MessageNode>) _temp1);
if (_res != null) {
final Statement _trans;
_trans = _res.value_(_anObject);
if (_trans != null) {
return _trans;
}
}
return super.visitUnaryMessageNode_(_anObject);
}
use of st.gravel.support.compiler.ast.Statement in project gravel by gravel-st.
the class LiteralSendInliner method visitNonLocalReturnNode_.
@Override
public Statement visitNonLocalReturnNode_(final NonLocalReturnNode _anObject) {
Statement _value;
_value = ((Statement) this.visit_(_anObject.value()));
if (_value.isNonLocalReturnNode()) {
return _value;
}
if (_value.isReturnNode()) {
_value = _value.returnValue();
}
if ((_localNlrMarker != null) && st.gravel.support.jvm.StringExtensions.equals_(_localNlrMarker, _anObject.marker())) {
return ReturnNode.factory.value_(((Expression) _value));
}
return NonLocalReturnNode.factory.marker_value_(_anObject.marker(), ((Expression) _value));
}
Aggregations