public Block (Block parent, Flags flags, Location start, Location end)
{
if (parent != null) {
// the appropriate constructors will fixup these fields
ParametersBlock = parent.ParametersBlock;
Explicit = parent.Explicit;
}
this.Parent = parent;
this.flags = flags;
this.StartLocation = start;
this.EndLocation = end;
this.loc = start;
statements = new List<Statement> (4);
this.original = this;
}