diff options
author | Mike Gerwitz <gerwitm@lovullo.com> | 2016-07-05 23:57:59 -0400 |
---|---|---|
committer | Mike Gerwitz <gerwitm@lovullo.com> | 2016-07-06 00:16:12 -0400 |
commit | b2d87c531837c04df5501d65ad67a56a689f3eb5 (patch) | |
tree | b3b9714ef2f8ffcc9ffe3e3fc501fac46e083024 | |
parent | e5da6f8ce10f9b7cd5e11ffe7a3ba4302ba6c216 (diff) | |
download | tame-b2d87c531837c04df5501d65ad67a56a689f3eb5.tar.gz tame-b2d87c531837c04df5501d65ad67a56a689f3eb5.tar.bz2 tame-b2d87c531837c04df5501d65ad67a56a689f3eb5.zip |
Re-order graph:dep-lookup arguments to favor partial application
* src/graph.xsl (graph:dep-lookup): Re-order arguments
* test/graph.xspec: Updated accordingly
-rw-r--r-- | src/graph.xsl | 10 | ||||
-rw-r--r-- | test/graph.xspec | 39 |
2 files changed, 28 insertions, 21 deletions
diff --git a/src/graph.xsl b/src/graph.xsl index 25fdad6..7351cd7 100644 --- a/src/graph.xsl +++ b/src/graph.xsl @@ -223,11 +223,13 @@ From a graph perspective, the dependencies are edges on the @var{$symbol} vertex. + + Parameters are organized for partial application. --> <function name="graph:dep-lookup" as="element( preproc:sym-dep )?"> - <param name="symbol" as="element( preproc:sym )" /> - <param name="graph" as="element( preproc:sym-deps )" /> <param name="lookup" /> + <param name="graph" as="element( preproc:sym-deps )" /> + <param name="symbol" as="element( preproc:sym )" /> <variable name="deps" as="element( preproc:sym-dep )?" select="$graph/preproc:sym-dep @@ -236,9 +238,9 @@ <sequence select="if ( exists( $deps ) ) then $deps else if ( $lookup ) then - graph:dep-lookup( $symbol, + graph:dep-lookup( $lookup, f:apply( $lookup, $symbol ), - $lookup ) + $symbol ) else ()" /> </function> diff --git a/test/graph.xspec b/test/graph.xspec index 209f965..2b44b44 100644 --- a/test/graph.xspec +++ b/test/graph.xspec @@ -192,13 +192,14 @@ <scenario label="in the same package"> <scenario label="where dependencies exist"> <call function="graph:dep-lookup"> - <param name="symbol" - select="$foo:document/preproc:symtable - /preproc:sym[ @name='local' ]" /> + <param name="lookup" select="()" /> + <param name="graph" select="$foo:document/preproc:sym-deps" /> - <param name="lookup" select="()" /> + <param name="symbol" + select="$foo:document/preproc:symtable + /preproc:sym[ @name='local' ]" /> </call> <expect label="returns local dependencies" @@ -210,13 +211,14 @@ <scenario label="with external @src but local deps"> <call function="graph:dep-lookup"> - <param name="symbol" - select="$foo:document/preproc:symtable - /preproc:sym[ @name='external-but-not' ]" /> + <param name="lookup" select="()" /> + <param name="graph" select="$foo:document/preproc:sym-deps" /> - <param name="lookup" select="()" /> + <param name="symbol" + select="$foo:document/preproc:symtable + /preproc:sym[ @name='external-but-not' ]" /> </call> <expect label="returns local dependencies" @@ -228,13 +230,15 @@ <scenario label="where dependencies are missing"> <call function="graph:dep-lookup"> - <param name="symbol" - select="$foo:document/preproc:symtable - /preproc:sym[ @name='missing-deps' ]" /> + <param name="lookup" select="()" /> + <param name="graph" select="$foo:document/preproc:sym-deps" /> - <param name="lookup" select="()" /> + + <param name="symbol" + select="$foo:document/preproc:symtable + /preproc:sym[ @name='missing-deps' ]" /> </call> <expect label="return empty sequence" @@ -250,14 +254,15 @@ <scenario label="where dependencies exist"> <call function="graph:dep-lookup"> - <param name="symbol" - select="$foo:document/preproc:symtable - /preproc:sym[ @name='external' ]" /> + <param name="lookup" + select="foo:lookup( $foo:expected-lookup )" /> + <param name="graph" select="$foo:document/preproc:sym-deps" /> - <param name="lookup" - select="foo:lookup( $foo:expected-lookup )" /> + <param name="symbol" + select="$foo:document/preproc:symtable + /preproc:sym[ @name='external' ]" /> </call> <expect label="returns external dependenices" |