summaryrefslogtreecommitdiff
path: root/TAO/CIAO/CCF/CCF/IDL2
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/CCF/CCF/IDL2')
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp1
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction/TypeId.hpp2
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp4
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp2
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp2
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp2
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp2
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp2
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp4
11 files changed, 37 insertions, 16 deletions
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp
index a87d87470b2..5e846d90211 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/Impl/Enum.cpp
@@ -55,6 +55,7 @@ namespace CCF
{
Enumerator& e (ctx.tu ().new_node<Enumerator> ());
ctx.tu ().new_edge<Belongs> (e, *type_);
+ ctx.tu ().new_edge<Defines> (ctx.scope (), e, name);
}
}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/TypeId.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/TypeId.hpp
index 1c8d7bdadae..a716961bbf0 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/TypeId.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction/TypeId.hpp
@@ -22,7 +22,7 @@ namespace CCF
end () = 0;
};
-
+
struct TypePrefix
{
virtual void
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp
index 8399fecc6b0..6e3d2ee723d 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Enum.hpp
@@ -5,7 +5,7 @@
#ifndef CCF_IDL2_SEMANTIC_GRAPH_ENUM_HPP
#define CCF_IDL2_SEMANTIC_GRAPH_ENUM_HPP
-#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/IntExpression.hpp"
namespace CCF
{
@@ -35,7 +35,7 @@ namespace CCF
};
- class Enumerator : public virtual Nameable, public virtual Instance
+ class Enumerator : public virtual Nameable, public virtual IntConst
{
public:
static Introspection::TypeInfo const&
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp
index 84ca130cafa..9ed3a7e494b 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Exception.cpp
@@ -12,7 +12,7 @@ namespace CCF
{
using Introspection::TypeInfo;
using Introspection::Access;
-
+
namespace
{
TypeInfo
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp
index b57bb0fe764..597be660772 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Member.cpp
@@ -12,7 +12,7 @@ namespace CCF
{
using Introspection::TypeInfo;
using Introspection::Access;
-
+
namespace
{
TypeInfo
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp
index 46e24ae9c76..b2c29fe2881 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Native.cpp
@@ -12,7 +12,7 @@ namespace CCF
{
using Introspection::TypeInfo;
using Introspection::Access;
-
+
namespace
{
TypeInfo
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp
index 697751f14cd..83ed23ffe40 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Operation.cpp
@@ -12,7 +12,7 @@ namespace CCF
{
using Introspection::TypeInfo;
using Introspection::Access;
-
+
// Receives
//
//
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp
index 463dec37f23..46fd9b9ef3a 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Struct.cpp
@@ -36,18 +36,28 @@ namespace CCF
{
if (defined ())
{
+ CompilerElements::Context& ctx (
+ const_cast<CompilerElements::Context&> (context ()));
+
+ if (ctx.count ("struct-complete-test"))
+ return true;
+
+ ctx.set ("struct-complete-test", true);
+ bool c (true);
+
for (Scope::NamesIterator i (names_begin ());
- i != names_end ();
+ c && i != names_end ();
++i)
{
Member const& m (dynamic_cast<Member&> ((*i)->named ()));
Type const& t (m.belongs ().type ());
if (!t.complete ())
- return false;
+ c = false;
}
- return true;
+ ctx.remove ("struct-complete-test");
+ return c;
}
return false;
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp
index a1d32705644..28c673a94f3 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/Union.cpp
@@ -142,18 +142,28 @@ namespace CCF
{
if (defined ())
{
+ CompilerElements::Context& ctx (
+ const_cast<CompilerElements::Context&> (context ()));
+
+ if (ctx.count ("union-complete-test"))
+ return true;
+
+ ctx.set ("union-complete-test", true);
+ bool c (true);
+
for (Scope::NamesIterator i (names_begin ());
- i != names_end ();
+ c && i != names_end ();
++i)
{
Member const& m (dynamic_cast<Member&> ((*i)->named ()));
Type const& t (m.belongs ().type ());
if (!t.complete ())
- return false;
+ c = false;
}
- return true;
+ ctx.remove ("union-complete-test");
+ return c;
}
return false;
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp
index d440907ed4c..b14f518983e 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.cpp
@@ -49,7 +49,7 @@ namespace CCF
{
}
-
+
// Union
//
//
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp
index 0237be5016d..2bcad1eb4ea 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/Union.hpp
@@ -38,7 +38,7 @@ namespace CCF
post (Type&);
};
-
+
//
//
//
@@ -52,7 +52,7 @@ namespace CCF
virtual void
name (Type&);
-
+
virtual void
post (Type&);
};