]> git.donarmstrong.com Git - lilypond.git/commit
Issue 1375/2: Create Translator_creator class
authorDavid Kastrup <dak@gnu.org>
Tue, 16 Jun 2015 12:14:27 +0000 (14:14 +0200)
committerDavid Kastrup <dak@gnu.org>
Thu, 2 Feb 2017 20:32:27 +0000 (21:32 +0100)
commit6887546c5caf87cdc94252c020f39b43a57bf057
tree01af688c70d07791d53fce3d671a50d280989eb1
parent6d1c5d25389afa6dbbfb4722df3732e764cbbf2e
Issue 1375/2: Create Translator_creator class

Previously, translators were created by copying from a context-less
instantiation of the translator containing its documentation.  This had
several unpleasant consequences, the most problematic likely being the
inability to register Scheme engravers because their documentation would
be identical to all other Scheme engravers.

A new Translator_creator class takes over the task of creating
Translator instances when called with a context argument.

As a result of joining the mechanisms for Scheme engravers and C++
engravers, ly:translator-name and ly:translator-description are
reimplemented in a manner resembling object properties.
lily/context-def.cc
lily/include/lily-proto.hh
lily/include/scheme-engraver.hh
lily/include/translator.hh
lily/include/translator.icc
lily/scheme-engraver.cc
lily/translator-ctors.cc
lily/translator-group.cc
lily/translator-scheme.cc
lily/translator.cc