Reviewers: dak, Description: Add ly_is_smob<T>(S) to check if S is a smob of type T.
Hide Smob_base<>::is_smob(S) to prevent the misleading situation of D::is_smob(S) returning true when S represents an ancestor of D rather than a D. This issue was previously worked around by overriding is_smob() in several derived smob classes; that is no longer needed. Hide Smob_base<>::smob_p() because there doesn't seem to be a need for it to be public. Please review this at https://codereview.appspot.com/236850043/ Affected files (+141, -161 lines): M lily/accidental-placement.cc M lily/ambitus-engraver.cc M lily/axis-group-engraver.cc M lily/axis-group-interface.cc M lily/bar-check-iterator.cc M lily/beam-collision-engraver.cc M lily/beam-quanting.cc M lily/book.cc M lily/break-alignment-interface.cc M lily/break-substitution.cc M lily/chord-name-engraver.cc M lily/context.cc M lily/context-property.cc M lily/dots-engraver.cc M lily/engraver.cc M lily/fingering-engraver.cc M lily/function-documentation.cc M lily/grob.cc M lily/grob-closure.cc M lily/grob-info.cc M lily/grob-property.cc M lily/grob-scheme.cc M lily/include/engraver.hh M lily/include/global-context.hh M lily/include/item.hh M lily/include/lily-guile-macros.hh M lily/include/music.hh M lily/include/paper-score.hh M lily/include/performance.hh M lily/include/performer.hh M lily/include/smobs.hh M lily/include/spanner.hh M lily/include/stream-event.hh M lily/lexer.ll M lily/lily-lexer.cc M lily/multi-measure-rest.cc M lily/music.cc M lily/music-scheme.cc M lily/new-fingering-engraver.cc M lily/note-column.cc M lily/note-heads-engraver.cc M lily/note-performer.cc M lily/note-spacing-engraver.cc M lily/page-layout-problem.cc M lily/paper-book.cc M lily/paper-column.cc M lily/paper-column-engraver.cc M lily/parser.yy M lily/pitched-trill-engraver.cc M lily/prob.cc M lily/pure-from-neighbor-interface.cc M lily/score.cc M lily/side-position-interface.cc M lily/simple-closure.cc M lily/slur.cc M lily/spaceable-grob.cc M lily/spacing-basic.cc M lily/spacing-determine-loose-columns.cc M lily/spacing-engraver.cc M lily/stem.cc M lily/stem-engraver.cc M lily/stream-event.cc M lily/stream-event-scheme.cc M lily/tempo-performer.cc M lily/tie.cc M lily/tie-engraver.cc M lily/tie-performer.cc M lily/timing-translator.cc M lily/translator-group.cc M lily/tuplet-bracket.cc M lily/vertical-align-engraver.cc M lily/volta-engraver.cc _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel