public void handleClass(ADefaultClassDeclIR node) throws AnalysisException { // We want only to treat fields and methods specified by the user. // This case helps us avoiding visiting invariant methods for (AFieldDeclIR f : node.getFields()) { f.apply(decorator); } for (AMethodDeclIR m : node.getMethods()) { m.apply(decorator); } }
/** * Called by the {@link AAnonymousClassExpIR} node from {@link AAnonymousClassExpIR#apply(IAnalysis)}. * @param node the calling {@link AAnonymousClassExpIR} node */ public void caseAAnonymousClassExpIR(AAnonymousClassExpIR node) throws AnalysisException { _visitedNodes.add(node); inAAnonymousClassExpIR(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } { List<AMethodDeclIR> copy = new ArrayList<AMethodDeclIR>(node.getMethods()); for( AMethodDeclIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAAnonymousClassExpIR(node); }
/** * Called by the {@link AAnonymousClassExpIR} node from {@link AAnonymousClassExpIR#apply(IIsaAnalysis)}. * @param node the calling {@link AAnonymousClassExpIR} node */ public void caseAAnonymousClassExpIR(AAnonymousClassExpIR node) throws AnalysisException { _visitedNodes.add(node); inAAnonymousClassExpIR(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } { List<AMethodDeclIR> copy = new ArrayList<AMethodDeclIR>(node.getMethods()); for( AMethodDeclIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAAnonymousClassExpIR(node); }
/** * Called by the {@link AAnonymousClassExpIR} node from {@link AAnonymousClassExpIR#apply(IAnalysis)}. * @param node the calling {@link AAnonymousClassExpIR} node */ public void caseAAnonymousClassExpIR(AAnonymousClassExpIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inAAnonymousClassExpIR(node, question); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this, question); } { List<AMethodDeclIR> copy = new ArrayList<AMethodDeclIR>(node.getMethods()); for( AMethodDeclIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outAAnonymousClassExpIR(node, question); }
e.apply(this);
e.apply(this, question);
e.apply(this);
e.apply(this);
e.apply(this, question);
e.apply(this);
/** * Called by the {@link AAnonymousClassExpIR} node from {@link AAnonymousClassExpIR#apply(IAnalysis)}. * @param node the calling {@link AAnonymousClassExpIR} node */ public A caseAAnonymousClassExpIR(AAnonymousClassExpIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inAAnonymousClassExpIR(node)); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { mergeReturns(retVal,node.getType().apply(this)); } { List<AMethodDeclIR> copy = new ArrayList<AMethodDeclIR>(node.getMethods()); for( AMethodDeclIR e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this)); } } } mergeReturns(retVal,outAAnonymousClassExpIR(node)); return retVal; }
mergeReturns(retVal,e.apply(this));
/** * Called by the {@link AAnonymousClassExpIR} node from {@link AAnonymousClassExpIR#apply(IAnalysis)}. * @param node the calling {@link AAnonymousClassExpIR} node */ public A caseAAnonymousClassExpIR(AAnonymousClassExpIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inAAnonymousClassExpIR(node, question)); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { mergeReturns(retVal,node.getType().apply(this, question)); } { List<AMethodDeclIR> copy = new ArrayList<AMethodDeclIR>(node.getMethods()); for( AMethodDeclIR e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this, question)); } } } mergeReturns(retVal,outAAnonymousClassExpIR(node, question)); return retVal; }
mergeReturns(retVal,e.apply(this, question));
mergeReturns(retVal,e.apply(this, question));
mergeReturns(retVal,e.apply(this));
e.apply(this);
mergeReturns(retVal,e.apply(this, question));
mergeReturns(retVal,e.apply(this));
objInitializer.apply(this);