public override Parse.TypeDeclaration BuildDOM()
{
return
new Parse.TupleType
{
Attributes =
(
from a in Attributes
select new Parse.TupleAttribute { Name = a.Key.ToID(), Type = a.Value.BuildDOM() }
).ToList(),
Keys =
(
from k in Keys
select new Parse.TupleKey { AttributeNames = (from n in k.AttributeNames select n.ToID()).ToList() }
).ToList(),
References =
(
from r in References
select new Parse.TupleReference
{
Name = r.Key.ToID(),
SourceAttributeNames = (from n in r.Value.SourceAttributeNames select n.ToID()).ToList(),
Target = r.Value.Target.ToID(),
TargetAttributeNames = (from n in r.Value.TargetAttributeNames select n.ToID()).ToList()
}
).ToList()
};
}