lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5309 find_sco


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5309 find_score_context () and find_global_context ()
Date: Fri, 03 Jan 2020 16:03:05 -0000

Diff:

--- old
+++ new
@@ -1,8 +1,23 @@
-Global_context::get_score_context () returns the first child, as
-before, but it is no longer a virtual method of Context.
+1: find_score_context ()

 Translator::find_score_context () finds the Score context enclosing
 the Translator in a way similar to (but slightly more direct than)
 \set Score.whatever = ... rather than depending on the global context.

-http://codereview.appspot.com/346750043
+Global_context::get_score_context () returns the first child, as
+before, but it is no longer a virtual method of Context, and it is used
+in fewer places.
+
+2: find_global_context ()
+
+Replace c->get_global_context () with find_global_context (c).  This
+function does not need to access any private information of Context, so
+pulling it out simplifies the interface of Context.  Calling it "find"
+rather than "get" is supposed to imply more work (walking the tree).
+
+Implement find_global_context (c) as find_top_context (c) plus a type
+check.  This increases code reuse and requires fewer dynamic casts.
+Abort the program if the top context is not a Global context, otherwise
+most callers would dereference null pointers.
+
+https://codereview.appspot.com/561290043/

This patch won't apply cleanly to master until after [#5650] (use of override) is merged.


[issues:#5309] find_score_context () and find_global_context ()

Status: Started
Created: Sat Apr 21, 2018 06:37 PM UTC by Dan Eble
Last Updated: Fri Jan 03, 2020 04:00 PM UTC
Owner: Dan Eble

1: find_score_context ()

Translator::find_score_context () finds the Score context enclosing
the Translator in a way similar to (but slightly more direct than)
\set Score.whatever = ... rather than depending on the global context.

Global_context::get_score_context () returns the first child, as
before, but it is no longer a virtual method of Context, and it is used
in fewer places.

2: find_global_context ()

Replace c->get_global_context () with find_global_context (c). This
function does not need to access any private information of Context, so
pulling it out simplifies the interface of Context. Calling it "find"
rather than "get" is supposed to imply more work (walking the tree).

Implement find_global_context (c) as find_top_context (c) plus a type
check. This increases code reuse and requires fewer dynamic casts.
Abort the program if the top context is not a Global context, otherwise
most callers would dereference null pointers.

https://codereview.appspot.com/561290043/


Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.

_______________________________________________
Testlilyissues-auto mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto

reply via email to

[Prev in Thread] Current Thread [Next in Thread]