/** * Called by the {@link AApplyExpTraceCoreDeclIR} node from {@link AApplyExpTraceCoreDeclIR#apply(IAnalysis)}. * @param node the calling {@link AApplyExpTraceCoreDeclIR} node */ public void caseAApplyExpTraceCoreDeclIR(AApplyExpTraceCoreDeclIR node) throws AnalysisException { _visitedNodes.add(node); inAApplyExpTraceCoreDeclIR(node); if(node.getCallStm() != null && !_visitedNodes.contains(node.getCallStm())) { node.getCallStm().apply(this); } outAApplyExpTraceCoreDeclIR(node); }
/** * Called by the {@link AApplyExpTraceCoreDeclIR} node from {@link AApplyExpTraceCoreDeclIR#apply(IIsaAnalysis)}. * @param node the calling {@link AApplyExpTraceCoreDeclIR} node */ public void caseAApplyExpTraceCoreDeclIR(AApplyExpTraceCoreDeclIR node) throws AnalysisException { _visitedNodes.add(node); inAApplyExpTraceCoreDeclIR(node); if(node.getCallStm() != null && !_visitedNodes.contains(node.getCallStm())) { node.getCallStm().apply(this); } outAApplyExpTraceCoreDeclIR(node); }
/** * Called by the {@link AApplyExpTraceCoreDeclIR} node from {@link AApplyExpTraceCoreDeclIR#apply(IAnalysis)}. * @param node the calling {@link AApplyExpTraceCoreDeclIR} node */ public void caseAApplyExpTraceCoreDeclIR(AApplyExpTraceCoreDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inAApplyExpTraceCoreDeclIR(node, question); if(node.getCallStm() != null && !_visitedNodes.contains(node.getCallStm())) { node.getCallStm().apply(this, question); } outAApplyExpTraceCoreDeclIR(node, question); }
@Override public void caseAAtomicStmIR(AAtomicStmIR node) throws AnalysisException { recVarChecks = new LinkedList<AMetaStmIR>(); for (SStmIR stm : node.getStatements()) { stm.apply(this); } ADefaultClassDeclIR encClass = node.getAncestor(ADefaultClassDeclIR.class); node.getStatements().addFirst(consInvChecksStm(false, encClass)); node.getStatements().add(consInvChecksStm(true, encClass)); for (AMetaStmIR as : recVarChecks) { node.getStatements().add(as); } recVarChecks = null; }
/** * Called by the {@link ACyclesStmIR} node from {@link ACyclesStmIR#apply(IIsaAnalysis)}. * @param node the calling {@link ACyclesStmIR} node */ public void caseACyclesStmIR(ACyclesStmIR node) throws AnalysisException { _visitedNodes.add(node); inACyclesStmIR(node); if(node.getCycles() != null && !_visitedNodes.contains(node.getCycles())) { node.getCycles().apply(this); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this); } outACyclesStmIR(node); }
/** * Called by the {@link AElseIfStmIR} node from {@link AElseIfStmIR#apply(IAnalysis)}. * @param node the calling {@link AElseIfStmIR} node */ public void caseAElseIfStmIR(AElseIfStmIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inAElseIfStmIR(node, question); if(node.getElseIf() != null && !_visitedNodes.contains(node.getElseIf())) { node.getElseIf().apply(this, question); } if(node.getThenStm() != null && !_visitedNodes.contains(node.getThenStm())) { node.getThenStm().apply(this, question); } outAElseIfStmIR(node, question); }
/** * Called by the {@link ACatchClauseDeclIR} node from {@link ACatchClauseDeclIR#apply(IIsaAnalysis)}. * @param node the calling {@link ACatchClauseDeclIR} node */ public void caseACatchClauseDeclIR(ACatchClauseDeclIR node) throws AnalysisException { _visitedNodes.add(node); inACatchClauseDeclIR(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this); } outACatchClauseDeclIR(node); }
/** * Called by the {@link AWhileStmIR} node from {@link AWhileStmIR#apply(IIsaAnalysis)}. * @param node the calling {@link AWhileStmIR} node */ public void caseAWhileStmIR(AWhileStmIR node) throws AnalysisException { _visitedNodes.add(node); inAWhileStmIR(node); if(node.getExp() != null && !_visitedNodes.contains(node.getExp())) { node.getExp().apply(this); } if(node.getBody() != null && !_visitedNodes.contains(node.getBody())) { node.getBody().apply(this); } outAWhileStmIR(node); }
/** * Called by the {@link ALetBeStStmIR} node from {@link ALetBeStStmIR#apply(IIsaAnalysis)}. * @param node the calling {@link ALetBeStStmIR} node */ public void caseALetBeStStmIR(ALetBeStStmIR node) throws AnalysisException { _visitedNodes.add(node); inALetBeStStmIR(node); if(node.getHeader() != null && !_visitedNodes.contains(node.getHeader())) { node.getHeader().apply(this); } if(node.getStatement() != null && !_visitedNodes.contains(node.getStatement())) { node.getStatement().apply(this); } outALetBeStStmIR(node); }
/** * Called by the {@link ACatchClauseDeclIR} node from {@link ACatchClauseDeclIR#apply(IAnalysis)}. * @param node the calling {@link ACatchClauseDeclIR} node */ public void caseACatchClauseDeclIR(ACatchClauseDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inACatchClauseDeclIR(node, question); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this, question); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this, question); } outACatchClauseDeclIR(node, question); }
/** * Called by the {@link AElseIfStmIR} node from {@link AElseIfStmIR#apply(IAnalysis)}. * @param node the calling {@link AElseIfStmIR} node */ public void caseAElseIfStmIR(AElseIfStmIR node) throws AnalysisException { _visitedNodes.add(node); inAElseIfStmIR(node); if(node.getElseIf() != null && !_visitedNodes.contains(node.getElseIf())) { node.getElseIf().apply(this); } if(node.getThenStm() != null && !_visitedNodes.contains(node.getThenStm())) { node.getThenStm().apply(this); } outAElseIfStmIR(node); }
/** * Called by the {@link AWhileStmIR} node from {@link AWhileStmIR#apply(IAnalysis)}. * @param node the calling {@link AWhileStmIR} node */ public void caseAWhileStmIR(AWhileStmIR node) throws AnalysisException { _visitedNodes.add(node); inAWhileStmIR(node); if(node.getExp() != null && !_visitedNodes.contains(node.getExp())) { node.getExp().apply(this); } if(node.getBody() != null && !_visitedNodes.contains(node.getBody())) { node.getBody().apply(this); } outAWhileStmIR(node); }
/** * Called by the {@link ACyclesStmIR} node from {@link ACyclesStmIR#apply(IAnalysis)}. * @param node the calling {@link ACyclesStmIR} node */ public void caseACyclesStmIR(ACyclesStmIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inACyclesStmIR(node, question); if(node.getCycles() != null && !_visitedNodes.contains(node.getCycles())) { node.getCycles().apply(this, question); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this, question); } outACyclesStmIR(node, question); }
/** * Called by the {@link ACatchClauseDeclIR} node from {@link ACatchClauseDeclIR#apply(IAnalysis)}. * @param node the calling {@link ACatchClauseDeclIR} node */ public void caseACatchClauseDeclIR(ACatchClauseDeclIR node) throws AnalysisException { _visitedNodes.add(node); inACatchClauseDeclIR(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this); } outACatchClauseDeclIR(node); }
/** * Called by the {@link ACyclesStmIR} node from {@link ACyclesStmIR#apply(IAnalysis)}. * @param node the calling {@link ACyclesStmIR} node */ public void caseACyclesStmIR(ACyclesStmIR node) throws AnalysisException { _visitedNodes.add(node); inACyclesStmIR(node); if(node.getCycles() != null && !_visitedNodes.contains(node.getCycles())) { node.getCycles().apply(this); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this); } outACyclesStmIR(node); }
/** * Called by the {@link ADurationStmIR} node from {@link ADurationStmIR#apply(IIsaAnalysis)}. * @param node the calling {@link ADurationStmIR} node */ public void caseADurationStmIR(ADurationStmIR node) throws AnalysisException { _visitedNodes.add(node); inADurationStmIR(node); if(node.getDuration() != null && !_visitedNodes.contains(node.getDuration())) { node.getDuration().apply(this); } if(node.getStm() != null && !_visitedNodes.contains(node.getStm())) { node.getStm().apply(this); } outADurationStmIR(node); }
/** * Called by the {@link ALetBeStStmIR} node from {@link ALetBeStStmIR#apply(IAnalysis)}. * @param node the calling {@link ALetBeStStmIR} node */ public void caseALetBeStStmIR(ALetBeStStmIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inALetBeStStmIR(node, question); if(node.getHeader() != null && !_visitedNodes.contains(node.getHeader())) { node.getHeader().apply(this, question); } if(node.getStatement() != null && !_visitedNodes.contains(node.getStatement())) { node.getStatement().apply(this, question); } outALetBeStStmIR(node, question); }
/** * Called by the {@link AApplyExpTraceCoreDeclIR} node from {@link AApplyExpTraceCoreDeclIR#apply(IAnalysis)}. * @param node the calling {@link AApplyExpTraceCoreDeclIR} node */ public A caseAApplyExpTraceCoreDeclIR(AApplyExpTraceCoreDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inAApplyExpTraceCoreDeclIR(node, question)); if(node.getCallStm() != null && !_visitedNodes.contains(node.getCallStm())) { mergeReturns(retVal,node.getCallStm().apply(this, question)); } mergeReturns(retVal,outAApplyExpTraceCoreDeclIR(node, question)); return retVal; }
/** * Called by the {@link AApplyExpTraceCoreDeclIR} node from {@link AApplyExpTraceCoreDeclIR#apply(IAnalysis)}. * @param node the calling {@link AApplyExpTraceCoreDeclIR} node */ public A caseAApplyExpTraceCoreDeclIR(AApplyExpTraceCoreDeclIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inAApplyExpTraceCoreDeclIR(node)); if(node.getCallStm() != null && !_visitedNodes.contains(node.getCallStm())) { mergeReturns(retVal,node.getCallStm().apply(this)); } mergeReturns(retVal,outAApplyExpTraceCoreDeclIR(node)); return retVal; }
@Override public void caseAForAllStmIR(AForAllStmIR node) throws AnalysisException { if (node.getExp().getType() instanceof AStringTypeIR) { ASeqSeqTypeIR seqType = new ASeqSeqTypeIR(); seqType.setEmpty(false); seqType.setSeq1(false); seqType.setOptional(false); seqType.setSeqOf(new ACharBasicTypeIR()); correctExpToSeq(node.getExp(), seqType); } node.getBody().apply(this); }