@Override public PType caseALetBeStStm(ALetBeStStm node, TypeCheckInfo question) throws AnalysisException { Entry<PType, AMultiBindListDefinition> res = typecheckLetBeSt(node, node.getLocation(), node.getBind(), node.getSuchThat(), node.getStatement(), question); node.setDef(res.getValue()); node.setType(res.getKey()); return node.getType(); }
/** * Called by the {@link ALetBeStStm} node from {@link ALetBeStStm#apply(IAnalysis)}. * @param node the calling {@link ALetBeStStm} node */ public void caseALetBeStStm(ALetBeStStm node, Q question) throws AnalysisException { _visitedNodes.add(node); inALetBeStStm(node, question); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this, question); } if(node.getBind() != null && !_visitedNodes.contains(node.getBind())) { node.getBind().apply(this, question); } if(node.getSuchThat() != null && !_visitedNodes.contains(node.getSuchThat())) { node.getSuchThat().apply(this, question); } if(node.getStatement() != null && !_visitedNodes.contains(node.getStatement())) { node.getStatement().apply(this, question); } if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { node.getDef().apply(this, question); } outALetBeStStm(node, question); }
/** * Called by the {@link ALetBeStStm} node from {@link ALetBeStStm#apply(IPOFAnalysis)}. * @param node the calling {@link ALetBeStStm} node */ public void caseALetBeStStm(ALetBeStStm node) throws AnalysisException { _visitedNodes.add(node); inALetBeStStm(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getBind() != null && !_visitedNodes.contains(node.getBind())) { node.getBind().apply(this); } if(node.getSuchThat() != null && !_visitedNodes.contains(node.getSuchThat())) { node.getSuchThat().apply(this); } if(node.getStatement() != null && !_visitedNodes.contains(node.getStatement())) { node.getStatement().apply(this); } if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { node.getDef().apply(this); } outALetBeStStm(node); }
/** * Called by the {@link ALetBeStStm} node from {@link ALetBeStStm#apply(IAnalysis)}. * @param node the calling {@link ALetBeStStm} node */ public void caseALetBeStStm(ALetBeStStm node) throws AnalysisException { _visitedNodes.add(node); inALetBeStStm(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getBind() != null && !_visitedNodes.contains(node.getBind())) { node.getBind().apply(this); } if(node.getSuchThat() != null && !_visitedNodes.contains(node.getSuchThat())) { node.getSuchThat().apply(this); } if(node.getStatement() != null && !_visitedNodes.contains(node.getStatement())) { node.getStatement().apply(this); } if(node.getDef() != null && !_visitedNodes.contains(node.getDef())) { node.getDef().apply(this); } outALetBeStStm(node); }