case POSTEXENODE: return buildPostExe((PostExeNode) node, s);
case RATIONALNODE: return buildRational((RationalNode) node);
case REDONODE: return buildRedo(s);
case REGEXPNODE: return buildRegexp((RegexpNode) node, s);
case RESCUEBODYNODE:
throw new NotCompilableException("rescue body is handled by rescue compilation at: " + node.getPosition());
case RESCUENODE: return buildRescue((RescueNode) node, s);
case RETRYNODE: return buildRetry(s);
case RETURNNODE: return buildReturn((ReturnNode) node, s);
case ROOTNODE:
throw new NotCompilableException("Use buildRoot(); Root node at: " + node.getPosition());
case SCLASSNODE: return buildSClass((SClassNode) node, s);
case SELFNODE: return buildSelf(s);
case SPLATNODE: return buildSplat((SplatNode) node, s);
case STRNODE: return buildStr((StrNode) node, s);
case SUPERNODE: return buildSuper((SuperNode) node, s);
case SVALUENODE: return buildSValue((SValueNode) node, s);
case SYMBOLNODE: return buildSymbol((SymbolNode) node);
case TRUENODE: return buildTrue();
case UNDEFNODE: return buildUndef(node, s);
case UNTILNODE: return buildUntil((UntilNode) node, s);
case VALIASNODE: return buildVAlias((VAliasNode) node, s);
case VCALLNODE: return buildVCall((VCallNode) node, s);
case WHILENODE: return buildWhile((WhileNode) node, s);
case WHENNODE: assert false : "When nodes are handled by case node compilation."; return null;
case XSTRNODE: return buildXStr((XStrNode) node, s);
case YIELDNODE: return buildYield((YieldNode) node, s);
case ZARRAYNODE: return buildZArray(s);
case ZSUPERNODE: return buildZSuper((ZSuperNode) node, s);
default: throw new NotCompilableException("Unknown node encountered in builder: " + node.getClass());
}
}