/** * Returns a deep clone of this {@link ARenamedDeclIR} node. * @return a deep clone of this {@link ARenamedDeclIR} node */ public ARenamedDeclIR clone() { return new ARenamedDeclIR( _sourceNode, _tag, _metaData, cloneNode(_def) ); }
/** * Creates a new complete constructor {@code ARenamedDeclIR} 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 def_ the {@link SDeclIR} node for the {@code def} child of this {@link ARenamedDeclIR} node */ public ARenamedDeclIR(SourceNode sourceNode_, Object tag_, List<? extends ClonableString> metaData_, SDeclIR def_) { super(sourceNode_,tag_,metaData_); this.setDef(def_); }
/** * Essentially this.toString().equals(o.toString()). **/ @Override public boolean equals(Object o) { if (o != null && o instanceof ARenamedDeclIR) { return toString().equals(o.toString()); } return false; }
@Override public SDeclIR caseARenamedDefinition(ARenamedDefinition node, IRInfo question) throws AnalysisException { PDefinition def = node.getDef(); SDeclIR defCg = def.apply(question.getDeclVisitor(), question); ARenamedDeclIR renamedCg = new ARenamedDeclIR(); renamedCg.setDef(defCg); return defCg; } }
/** * Called by the {@link ARenamedDeclIR} node from {@link ARenamedDeclIR#apply(IAnalysis)}. * @param node the calling {@link ARenamedDeclIR} node */ public void caseARenamedDeclIR(ARenamedDeclIR node) throws AnalysisException { _visitedNodes.add(node); inARenamedDeclIR(node); if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { node.getDef().apply(this); } outARenamedDeclIR(node); }
/** * Called by the {@link ARenamedDeclIR} node from {@link ARenamedDeclIR#apply(IAnalysis)}. * @param node the calling {@link ARenamedDeclIR} node */ public void caseARenamedDeclIR(ARenamedDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inARenamedDeclIR(node, question); if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { node.getDef().apply(this, question); } outARenamedDeclIR(node, question); }
/** * Called by the {@link ARenamedDeclIR} node from {@link ARenamedDeclIR#apply(IIsaAnalysis)}. * @param node the calling {@link ARenamedDeclIR} node */ public void caseARenamedDeclIR(ARenamedDeclIR node) throws AnalysisException { _visitedNodes.add(node); inARenamedDeclIR(node); if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { node.getDef().apply(this); } outARenamedDeclIR(node); }
/** * Creates a deep clone of this {@link ARenamedDeclIR} 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 ARenamedDeclIR} node */ public ARenamedDeclIR clone(Map<INode,INode> oldToNewMap) { ARenamedDeclIR node = new ARenamedDeclIR( _sourceNode, _tag, _metaData, cloneNode(_def, oldToNewMap) ); oldToNewMap.put(this, node); return node; }
/** * Creates a new tree field only constructor {@code ARenamedDeclIR TAG=renamed} 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 def_ the {@link SDeclIR} node for the {@code def} child of this {@link ARenamedDeclIR} node */ public ARenamedDeclIR(SDeclIR def_) { super(null,null,null); this.setDef(def_); }
/** * Called by the {@link ARenamedDeclIR} node from {@link ARenamedDeclIR#apply(IAnalysis)}. * @param node the calling {@link ARenamedDeclIR} node */ public A caseARenamedDeclIR(ARenamedDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inARenamedDeclIR(node, question)); if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { mergeReturns(retVal,node.getDef().apply(this, question)); } mergeReturns(retVal,outARenamedDeclIR(node, question)); return retVal; }
/** * Called by the {@link ARenamedDeclIR} node from {@link ARenamedDeclIR#apply(IAnalysis)}. * @param node the calling {@link ARenamedDeclIR} node */ public A caseARenamedDeclIR(ARenamedDeclIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inARenamedDeclIR(node)); if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { mergeReturns(retVal,node.getDef().apply(this)); } mergeReturns(retVal,outARenamedDeclIR(node)); return retVal; }