@Override public PType caseAConcatenationPattern(AConcatenationPattern pattern) throws AnalysisException { PTypeSet set = new PTypeSet(af); set.add(af.createPPatternAssistant().getPossibleType(pattern.getLeft())); set.add(af.createPPatternAssistant().getPossibleType(pattern.getRight())); PType s = set.getType(pattern.getLocation()); return af.createPTypeAssistant().isUnknown(s) ? AstFactory.newASeqSeqType(pattern.getLocation(), AstFactory.newAUnknownType(pattern.getLocation())) : s; }
} catch (ValueException e) VdmRuntimeError.patternFail(e, pattern.getLocation()); && size != llen + rlen) VdmRuntimeError.patternFail(4108, "Sequence concatenation pattern does not match expression", pattern.getLocation()); VdmRuntimeError.patternFail(4109, "Values do not match concatenation pattern", pattern.getLocation()); VdmRuntimeError.patternFail(4109, "Values do not match concatenation pattern", pattern.getLocation());