diff options
Diffstat (limited to 'libxsd-frontend/xsd-frontend/semantic-graph/any.cxx')
| -rw-r--r-- | libxsd-frontend/xsd-frontend/semantic-graph/any.cxx | 122 | 
1 files changed, 0 insertions, 122 deletions
diff --git a/libxsd-frontend/xsd-frontend/semantic-graph/any.cxx b/libxsd-frontend/xsd-frontend/semantic-graph/any.cxx deleted file mode 100644 index c8ebc93..0000000 --- a/libxsd-frontend/xsd-frontend/semantic-graph/any.cxx +++ /dev/null @@ -1,122 +0,0 @@ -// file      : xsd-frontend/semantic-graph/any.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license   : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <cutl/compiler/type-info.hxx> - -#include <xsd-frontend/semantic-graph/any.hxx> -#include <xsd-frontend/semantic-graph/compositors.hxx> - -namespace XSDFrontend -{ -  namespace SemanticGraph -  { -    Any:: -    Any (Path const& file, -         unsigned long line, -         unsigned long column, -         String const& namespaces) -        : Node (file, line, column), -          prototype_ (0) -    { -      // Not sure if the separator is just space or any white-space -      // chararcter. -      // - -      for (size_t i (0), j (namespaces.find (L' '));;) -      { -        if (j != String::npos) -        { -          namespaces_.push_back (String (namespaces, i, j - i)); - -          i = j + 1; -          j = namespaces.find (L' ', i); -        } -        else -        { -          // Last element. -          // -          namespaces_.push_back (String (namespaces, i)); -          break; -        } -      } -    } - -    Any:: -    Any (Path const& file, -         unsigned long line, -         unsigned long column, -         NamespaceIterator begin, -         NamespaceIterator end) -        : Node (file, line, column), -          prototype_ (0) -    { -      for (; begin != end; ++begin) -        namespaces_.push_back (*begin); -    } - -    namespace -    { -      Namespace& -      namespace_ (Nameable& n) -      { -        // The basic idea goes like this: go up Names edges until you -        // reach Namespace. There are, however, anonymous types which -        // need special handling. In the case of an anonymous type we -        // will go up the first Belongs edge (because the first edge -        // is where the type was defined. -        // - -        if (n.named_p ()) -        { -          Scope& s (n.scope ()); -          Namespace* ns (dynamic_cast<Namespace*> (&n)); - -          return ns ? *ns : namespace_ (s); -        } -        else -        { -          Type& t (dynamic_cast<Type&> (n)); -          Belongs& b (*t.classifies_begin ()); - -          return namespace_ (b.instance ()); -        } -      } -    } - -    Namespace& Any:: -    definition_namespace () -    { -      if (prototype_p ()) -        return prototype ().definition_namespace (); - -      // Get to our scope. -      // -      Compositor* c (&contained_particle ().compositor ()); - -      while(!c->contained_compositor_p ()) -        c = &c->contained_particle ().compositor (); - -      Scope& scope ( -        dynamic_cast<Scope&> (c->contained_compositor ().container ())); - -      return namespace_ (scope); -    } - -    namespace -    { -      using compiler::type_info; - -      struct AnyInit -      { -        AnyInit () -        { -          type_info ti (typeid (Any)); -          ti.add_base (typeid (Nameable)); -          ti.add_base (typeid (Particle)); -          insert (ti); -        } -      } any_init_; -    } -  } -}  | 
