inAPerSyncDefinition(node, question); if(node.getName() != null ) node.getName().apply(this, question); if(node.getClassDefinition() != null && !_visitedNodes.contains(node.getClassDefinition())) node.getClassDefinition().apply(this, question); if(node.getAccess() != null && !_visitedNodes.contains(node.getAccess())) node.getAccess().apply(this, question); if(node.getType() != null && !_visitedNodes.contains(node.getType())) node.getType().apply(this, question); if(node.getOpname() != null ) node.getOpname().apply(this, question); if(node.getGuard() != null && !_visitedNodes.contains(node.getGuard())) node.getGuard().apply(this, question);
@Override public PType caseAPerSyncDefinition(APerSyncDefinition node) throws AnalysisException { return AstFactory.newABooleanBasicType(node.getLocation()); }
&& def.getName().matches(node.getOpname())) TypeCheckerErrors.report(3042, node.getOpname() + " is not an explicit operation", node.getOpname().getLocation(), node.getOpname()); && isStatic != question.assistantFactory.createPDefinitionAssistant().isStatic(def)) TypeCheckerErrors.report(3323, "Overloaded operation cannot mix static and non-static", node.getLocation(), node.getOpname()); node.getOpname().getLocation(), node.getOpname()); if (psd.getOpname().equals(node.getOpname())) ILexNameToken opname = node.getOpname(); PType rt = node.getGuard().apply(THIS, new TypeCheckInfo(question.assistantFactory, local, NameScope.NAMESANDSTATE)); TypeCheckerErrors.report(3046, "Guard is not a boolean expression", node.getGuard().getLocation(), node.getGuard()); node.setType(rt); return node.getType();
@Override public IProofObligationList caseAPerSyncDefinition(APerSyncDefinition node, IPOContextStack question) throws AnalysisException { try { question.push(new PONameContext(new LexNameList(node.getOpname()))); IProofObligationList list = node.getGuard().apply(rootVisitor, question); question.pop(); return list; } catch (Exception e) { throw new POException(node, e.getMessage()); } }
if (pdef.getOpname().getName().equals(opname) || pdef.getLocation().getStartLine() == line || octxt.assistantFactory.createPExpAssistant().findExpression(pdef.getGuard(), line) != null) for (PExp sub : octxt.assistantFactory.createPExpAssistant().getSubExpressions(pdef.getGuard()))
@Override public PExp caseAPerSyncDefinition(APerSyncDefinition def, Integer lineno) throws AnalysisException { return af.createPExpAssistant().findExpression(def.getGuard(), lineno); }
@Override public SDeclIR caseAPerSyncDefinition(APerSyncDefinition node, IRInfo question) throws AnalysisException { PExp guard = node.getGuard(); ILexNameToken opname = node.getOpname(); APersyncDeclIR predicate = new APersyncDeclIR(); predicate.setPred(guard.apply(question.getExpVisitor(), question)); predicate.setOpname(opname.getName()); return predicate; }
if (pdef.getOpname().getName().equals(opname) || pdef.getLocation().getStartLine() == line || octxt.assistantFactory.createPExpAssistant().findExpression(pdef.getGuard(), line) != null) for (PExp sub : octxt.assistantFactory.createPExpAssistant().getSubExpressions(pdef.getGuard()))
inAPerSyncDefinition(node); if(node.getName() != null ) node.getName().apply(this); if(node.getClassDefinition() != null && !_visitedNodes.contains(node.getClassDefinition())) node.getClassDefinition().apply(this); if(node.getAccess() != null && !_visitedNodes.contains(node.getAccess())) node.getAccess().apply(this); if(node.getType() != null && !_visitedNodes.contains(node.getType())) node.getType().apply(this); if(node.getOpname() != null ) node.getOpname().apply(this); if(node.getGuard() != null && !_visitedNodes.contains(node.getGuard())) node.getGuard().apply(this);
inAPerSyncDefinition(node); if(node.getName() != null ) node.getName().apply(this); if(node.getClassDefinition() != null && !_visitedNodes.contains(node.getClassDefinition())) node.getClassDefinition().apply(this); if(node.getAccess() != null && !_visitedNodes.contains(node.getAccess())) node.getAccess().apply(this); if(node.getType() != null && !_visitedNodes.contains(node.getType())) node.getType().apply(this); if(node.getOpname() != null ) node.getOpname().apply(this); if(node.getGuard() != null && !_visitedNodes.contains(node.getGuard())) node.getGuard().apply(this);
mergeReturns(retVal,inAPerSyncDefinition(node, question)); if(node.getName() != null ) mergeReturns(retVal,node.getName().apply(this, question)); if(node.getClassDefinition() != null && !_visitedNodes.contains(node.getClassDefinition())) mergeReturns(retVal,node.getClassDefinition().apply(this, question)); if(node.getAccess() != null && !_visitedNodes.contains(node.getAccess())) mergeReturns(retVal,node.getAccess().apply(this, question)); if(node.getType() != null && !_visitedNodes.contains(node.getType())) mergeReturns(retVal,node.getType().apply(this, question)); if(node.getOpname() != null ) mergeReturns(retVal,node.getOpname().apply(this, question)); if(node.getGuard() != null && !_visitedNodes.contains(node.getGuard())) mergeReturns(retVal,node.getGuard().apply(this, question));
mergeReturns(retVal,inAPerSyncDefinition(node)); if(node.getName() != null ) mergeReturns(retVal,node.getName().apply(this)); if(node.getClassDefinition() != null && !_visitedNodes.contains(node.getClassDefinition())) mergeReturns(retVal,node.getClassDefinition().apply(this)); if(node.getAccess() != null && !_visitedNodes.contains(node.getAccess())) mergeReturns(retVal,node.getAccess().apply(this)); if(node.getType() != null && !_visitedNodes.contains(node.getType())) mergeReturns(retVal,node.getType().apply(this)); if(node.getOpname() != null ) mergeReturns(retVal,node.getOpname().apply(this)); if(node.getGuard() != null && !_visitedNodes.contains(node.getGuard())) mergeReturns(retVal,node.getGuard().apply(this));