protected void setJoinerCode() { joiner_code = CodeStoreHelper.findHelperForSliceNode(inputNode); if (joiner_code == null) { joiner_code = getJoinerCode(inputNode, backEndBits); } }
/** * Get code for a joiner. If code not yet made then makes it. * * @param joiner * @param backEndBits * @return */ public static CodeStoreHelper getJoinerCode(InputSliceNode joiner, BackEndFactory backEndBits) { CodeStoreHelper joiner_code = CodeStoreHelper.findHelperForSliceNode(joiner); if (joiner_code == null) { joiner_code = backEndBits.getCodeStoreHelper(joiner); if (backEndBits.sliceNeedsJoinerCode(joiner.getParent())) { makeJoinerCode(joiner, backEndBits, joiner_code); } if (backEndBits.sliceNeedsJoinerWorkFunction(joiner.getParent())) { makeJoinerWork(joiner, backEndBits, joiner_code); } CodeStoreHelper.addHelperForSliceNode(joiner, joiner_code); } return joiner_code; }