public static AValueDefinition newAValueDefinition(PPattern p,
NameScope scope, PType type, PExp readExpression)
{
AValueDefinition result = new AValueDefinition();
initDefinition(result, Pass.VALUES, p.getLocation(), null, scope);
result.setPattern(p);
result.setType(type);
result.setExpression(readExpression);
List<PDefinition> defs = new Vector<PDefinition>();
for (ILexNameToken var : af.createPPatternAssistant().getVariableNames(p))
{
defs.add(AstFactory.newAUntypedDefinition(result.getLocation(), var, scope));
}
result.setDefs(defs);
return result;
}