From e4f4f0bed9befbde2117af6f128d9323be3f1638 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 3 Mar 2010 19:21:50 +0200 Subject: Add union information to the semantics graph New test: union. --- xsd-frontend/traversal/union.cxx | 21 +++++++++++++++++---- xsd-frontend/traversal/union.hxx | 6 ++++++ 2 files changed, 23 insertions(+), 4 deletions(-) (limited to 'xsd-frontend/traversal') 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&) { } diff --git a/xsd-frontend/traversal/union.hxx b/xsd-frontend/traversal/union.hxx index 22201c9..e3d31bd 100644 --- a/xsd-frontend/traversal/union.hxx +++ b/xsd-frontend/traversal/union.hxx @@ -22,6 +22,12 @@ namespace XSDFrontend pre (Type&); virtual Void + argumented (Type&); + + virtual Void + argumented (Type&, EdgeDispatcherBase& d); + + virtual Void name (Type&); virtual Void -- cgit v1.1