예제 #1
0
  protected void setJoinerCode() {
    joiner_code = CodeStoreHelper.findHelperForSliceNode(inputNode);

    if (joiner_code == null) {
      joiner_code = getJoinerCode(inputNode, backEndBits);
    }
  }
예제 #2
0
 /**
  * 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;
 }