/** * Creates a deep clone of this {@link ATypeBindIR} node while putting all * old node-new node relations in the map {@code oldToNewMap}. * @param oldToNewMap the map filled with the old node-new node relation * @return a deep clone of this {@link ATypeBindIR} node */ public ATypeBindIR clone(Map<INode,INode> oldToNewMap) { ATypeBindIR node = new ATypeBindIR( _sourceNode, _tag, _metaData, cloneNode(_pattern, oldToNewMap), cloneNode(_type, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Returns a deep clone of this {@link ATypeBindIR} node. * @return a deep clone of this {@link ATypeBindIR} node */ public ATypeBindIR clone() { return new ATypeBindIR( _sourceNode, _tag, _metaData, cloneNode(_pattern), cloneNode(_type) ); }
@Override public SBindIR caseATypeBind(ATypeBind node, IRInfo question) throws AnalysisException { PPattern pattern = node.getPattern(); SPatternIR patternCg = pattern.apply(question.getPatternVisitor(), question); PType boundType = node.getType(); STypeIR boundTypeCg = boundType.apply(question.getTypeVisitor(), question); ATypeBindIR setBind = new ATypeBindIR(); setBind.setPattern(patternCg); setBind.setType(boundTypeCg); return setBind; }