Commit 3dc7950
committed
Propagate dependencies into AF output args
Per issue Qucs#67, the e:dependency template in adms.implicit.xml will
propagate probe and variable dependencies from analog function
arguments into the top-level expression in which the function is
called (generally the RHS of an assignment), but does NOT do the same
thing for any output arguments that might exist in the analog
function.
Some new CMC standard models (e.g. the MVSG-HV model) use analog
functions in this manner, and it would be good to fix it.
This commit augments the e:dependency template so that it completely
propagates all dependencies from function arguments into any output
variables that might exist. It is a no-op if there are no such
function output arguments.
This commit also obsoletes pull request Qucs#68.
Unlike that PR, this one makes sure to perform dependency checking on
the input arguments before copying their probe dependencies, and
unlike that PR, it also copies their variable dependencies. Also
unlike that code, it will correctly handle output arguments that are
not at the beginning of the argument list, because it selects all
arguments in the function definition in order and uses their position
in the global list rather than selecting only the output arguments and
using their position in the truncated list.
Issue Qucs#67
PR Qucs#681 parent 05c979a commit 3dc7950
1 file changed
+36
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
| |||
71 | 73 | | |
72 | 74 | | |
73 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
74 | 79 | | |
75 | 80 | | |
76 | 81 | | |
| |||
81 | 86 | | |
82 | 87 | | |
83 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
84 | 95 | | |
85 | 96 | | |
86 | 97 | | |
| |||
160 | 171 | | |
161 | 172 | | |
162 | 173 | | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
163 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
164 | 200 | | |
165 | 201 | | |
166 | 202 | | |
| |||
0 commit comments