if(node.getRecordType() != null && !_visitedNodes.contains(node.getRecordType())) node.getRecordType().apply(this, question);
if(node.getRecordType() != null && !_visitedNodes.contains(node.getRecordType())) node.getRecordType().apply(this);
if(node.getRecordType() != null && !_visitedNodes.contains(node.getRecordType())) node.getRecordType().apply(this);
if(node.getRecordType() != null && !_visitedNodes.contains(node.getRecordType())) mergeReturns(retVal,node.getRecordType().apply(this, question));
if(node.getRecordType() != null && !_visitedNodes.contains(node.getRecordType())) mergeReturns(retVal,node.getRecordType().apply(this));
throws AnalysisException ARecordInvariantType recType = node.getRecordType();
@Override public Value caseAMkTypeExp(AMkTypeExp node, Context ctxt) throws AnalysisException { BreakpointManager.getBreakpoint(node).check(node.getLocation(), ctxt); ValueList argvals = new ValueList(); for (PExp e : node.getArgs()) { argvals.add(e.apply(VdmRuntime.getExpressionEvaluator(), ctxt)); } try { return new RecordValue(node.getRecordType(), argvals, ctxt); } catch (ValueException e) { return VdmRuntimeError.abort(node.getLocation(), e); } }
if (node.getRecordType().getOpaque()) ARecordInvariantType recordType = node.getRecordType(); AExplicitFunctionDefinition eq = recordType.getEqDef(); AExplicitFunctionDefinition ord = recordType.getOrdDef(); if (node.getRecordType().getFields().size() != node.getArgs().size()) Iterator<AFieldField> fiter = node.getRecordType().getFields().iterator(); node.setArgTypes(new LinkedList<PType>()); List<PType> argTypes = node.getArgTypes(); node.setType(node.getRecordType().clone()); return question.assistantFactory.createPTypeAssistant().checkConstraint(question.constraint, node.getRecordType(), node.getLocation());
Queue<PType> argTypes = (Queue<PType>) node.getArgTypes().clone(); ARecordInvariantType recordType = node.getRecordType(); for (AFieldField f : recordType.getFields())