/** * Creates a new complete constructor {@code ASeqMultipleBindIR} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param seq_ the {@link SExpIR} node for the {@code seq} child of this {@link ASeqMultipleBindIR} node */ public ASeqMultipleBindIR(SourceNode sourceNode_, Object tag_, List<? extends ClonableString> metaData_, List<? extends SPatternIR> patterns_, SExpIR seq_) { super(sourceNode_,tag_,metaData_,patterns_); this.setSeq(seq_); }
/** * Creates a new tree field only constructor {@code ASeqMultipleBindIR TAG=seq} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param seq_ the {@link SExpIR} node for the {@code seq} child of this {@link ASeqMultipleBindIR} node */ public ASeqMultipleBindIR(List<? extends SPatternIR> patterns_, SExpIR seq_) { super(null,null,null,patterns_); this.setSeq(seq_); }
public void cleanUpBinding(SMultipleBindIR binding) { if (binding instanceof ASetMultipleBindIR) { ASetMultipleBindIR sb = (ASetMultipleBindIR) binding; sb.setSet(null); sb.getPatterns().clear(); } else if (binding instanceof ASeqMultipleBindIR) { ASeqMultipleBindIR sb = (ASeqMultipleBindIR) binding; sb.setSeq(null); sb.getPatterns().clear(); } else { log.error("Expected multiple set bind or multiple sequence bind. Got: " + binding); } }
multipleSeqBind.setSeq(seqCg);
multipleSeqBind.setSeq(seqBind.getSeq());