+
+ if (Spanner *spanner = dynamic_cast<Spanner *> (tie))
+ position_ = Tie::get_position (spanner);
+ else if (Item *item = dynamic_cast<Item *> (tie))
+ position_ = Semi_tie::get_position (item);
+ else
+ {
+ programming_error ("grob is neither a tie nor a semi-tie");
+ position_ = 0;
+ }
+