public List<PatternInfo> extractFromCases(List<ACaseAltStmStmIR> cases, SExpIR exp) { List<PatternInfo> patternInfo = new LinkedList<PatternInfo>(); for (ACaseAltStmStmIR alt : cases) { patternInfo.add(new PatternInfo(alt.getPatternType(), alt.getPattern(), exp)); } return patternInfo; }
/** * Called by the {@link ACaseAltStmStmIR} node from {@link ACaseAltStmStmIR#apply(IAnalysis)}. * @param node the calling {@link ACaseAltStmStmIR} node */ public void caseACaseAltStmStmIR(ACaseAltStmStmIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inACaseAltStmStmIR(node, question); if(node.getPattern() != null && !_visitedNodes.contains(node.getPattern())) { node.getPattern().apply(this, question); } if(node.getResult() != null && !_visitedNodes.contains(node.getResult())) { node.getResult().apply(this, question); } if(node.getPatternType() != null && !_visitedNodes.contains(node.getPatternType())) { node.getPatternType().apply(this, question); } outACaseAltStmStmIR(node, question); }
/** * Called by the {@link ACaseAltStmStmIR} node from {@link ACaseAltStmStmIR#apply(IAnalysis)}. * @param node the calling {@link ACaseAltStmStmIR} node */ public void caseACaseAltStmStmIR(ACaseAltStmStmIR node) throws AnalysisException { _visitedNodes.add(node); inACaseAltStmStmIR(node); if(node.getPattern() != null && !_visitedNodes.contains(node.getPattern())) { node.getPattern().apply(this); } if(node.getResult() != null && !_visitedNodes.contains(node.getResult())) { node.getResult().apply(this); } if(node.getPatternType() != null && !_visitedNodes.contains(node.getPatternType())) { node.getPatternType().apply(this); } outACaseAltStmStmIR(node); }
/** * Called by the {@link ACaseAltStmStmIR} node from {@link ACaseAltStmStmIR#apply(IIsaAnalysis)}. * @param node the calling {@link ACaseAltStmStmIR} node */ public void caseACaseAltStmStmIR(ACaseAltStmStmIR node) throws AnalysisException { _visitedNodes.add(node); inACaseAltStmStmIR(node); if(node.getPattern() != null && !_visitedNodes.contains(node.getPattern())) { node.getPattern().apply(this); } if(node.getResult() != null && !_visitedNodes.contains(node.getResult())) { node.getResult().apply(this); } if(node.getPatternType() != null && !_visitedNodes.contains(node.getPatternType())) { node.getPatternType().apply(this); } outACaseAltStmStmIR(node); }
/** * Called by the {@link ACaseAltStmStmIR} node from {@link ACaseAltStmStmIR#apply(IAnalysis)}. * @param node the calling {@link ACaseAltStmStmIR} node */ public A caseACaseAltStmStmIR(ACaseAltStmStmIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inACaseAltStmStmIR(node, question)); if(node.getPattern() != null && !_visitedNodes.contains(node.getPattern())) { mergeReturns(retVal,node.getPattern().apply(this, question)); } if(node.getResult() != null && !_visitedNodes.contains(node.getResult())) { mergeReturns(retVal,node.getResult().apply(this, question)); } if(node.getPatternType() != null && !_visitedNodes.contains(node.getPatternType())) { mergeReturns(retVal,node.getPatternType().apply(this, question)); } mergeReturns(retVal,outACaseAltStmStmIR(node, question)); return retVal; }
/** * Called by the {@link ACaseAltStmStmIR} node from {@link ACaseAltStmStmIR#apply(IAnalysis)}. * @param node the calling {@link ACaseAltStmStmIR} node */ public A caseACaseAltStmStmIR(ACaseAltStmStmIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inACaseAltStmStmIR(node)); if(node.getPattern() != null && !_visitedNodes.contains(node.getPattern())) { mergeReturns(retVal,node.getPattern().apply(this)); } if(node.getResult() != null && !_visitedNodes.contains(node.getResult())) { mergeReturns(retVal,node.getResult().apply(this)); } if(node.getPatternType() != null && !_visitedNodes.contains(node.getPatternType())) { mergeReturns(retVal,node.getPatternType().apply(this)); } mergeReturns(retVal,outACaseAltStmStmIR(node)); return retVal; }