diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-03-03 19:21:50 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-03-03 19:21:50 +0200 |
commit | e4f4f0bed9befbde2117af6f128d9323be3f1638 (patch) | |
tree | 6c41709cdc5fa51b0354b68897a8cc1651b8eb9c /xsd-frontend/traversal/union.cxx | |
parent | ca2bc859cf0001848224ff00a92fcc5d60a16e7f (diff) |
Add union information to the semantics graph
New test: union.
Diffstat (limited to 'xsd-frontend/traversal/union.cxx')
-rw-r--r-- | xsd-frontend/traversal/union.cxx | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/xsd-frontend/traversal/union.cxx b/xsd-frontend/traversal/union.cxx index f1c979d..acf419a 100644 --- a/xsd-frontend/traversal/union.cxx +++ b/xsd-frontend/traversal/union.cxx @@ -10,11 +10,12 @@ namespace XSDFrontend namespace Traversal { Void Union:: - traverse (Type& l) + traverse (Type& u) { - pre (l); - name (l); - post (l); + pre (u); + argumented (u); + name (u); + post (u); } Void Union:: @@ -23,6 +24,18 @@ namespace XSDFrontend } Void Union:: + argumented (Type& u) + { + argumented (u, *this); + } + + Void Union:: + argumented (Type& u, EdgeDispatcherBase& d) + { + iterate_and_dispatch (u.argumented_begin (), u.argumented_end (), d); + } + + Void Union:: name (Type&) { } |