public static ATypeDefinition newATypeDefinition(ILexNameToken name,
SInvariantType type, PPattern invPattern, PExp invExpression,
AEqRelation eqRelation, AOrdRelation ordRelation)
{
ATypeDefinition result = new ATypeDefinition();
initDefinition(result, Pass.TYPES, name.getLocation(), name, NameScope.TYPENAME);
result.getAccess().setStatic(new TStatic());
result.setInvType(type);
result.setInvPattern(invPattern);
result.setInvExpression(invExpression);
result.setEqRelation(eqRelation);
result.setOrdRelation(ordRelation);
result.setType(type);
if (type != null)
{
if (type.getDefinitions() == null)
{
type.setDefinitions(new LinkedList<PDefinition>());
}
type.getDefinitions().add(result);
}
return result;
}