@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()); } }
@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; }
&& 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();
ValueList overloads = members.getOverloads(sync.getOpname()); PExp exp = sync.getGuard();
if (pdef.getOpname().getName().equals(opname) || pdef.getLocation().getStartLine() == line || octxt.assistantFactory.createPExpAssistant().findExpression(pdef.getGuard(), line) != null)
if (pdef.getOpname().getName().equals(opname) || pdef.getLocation().getStartLine() == line || octxt.assistantFactory.createPExpAssistant().findExpression(pdef.getGuard(), line) != null)