summaryrefslogtreecommitdiff
path: root/cpp/include/Slice/Parser.h
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2002-07-22 06:09:13 +0000
committerMichi Henning <michi@zeroc.com>2002-07-22 06:09:13 +0000
commiteb36fd52b60448f30726e8d24710cb75587cc357 (patch)
tree90a9f76949f3ba6f4c85981a47186e328d2b56f6 /cpp/include/Slice/Parser.h
parentremove print statement in offer registration. (diff)
downloadice-eb36fd52b60448f30726e8d24710cb75587cc357.tar.bz2
ice-eb36fd52b60448f30726e8d24710cb75587cc357.tar.xz
ice-eb36fd52b60448f30726e8d24710cb75587cc357.zip
Added sanity checks for local types, so a non-local interface can't have an
operation with local parameters, etc.
Diffstat (limited to 'cpp/include/Slice/Parser.h')
-rw-r--r--cpp/include/Slice/Parser.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/include/Slice/Parser.h b/cpp/include/Slice/Parser.h
index a4ef6fbce6e..aec3c2e934b 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/include/Slice/Parser.h
@@ -213,6 +213,8 @@ class SLICE_API Type : virtual public SyntaxTreeBase
{
public:
+ virtual bool isLocal() const = 0;
+
protected:
Type(const UnitPtr&);
@@ -240,6 +242,9 @@ public:
KindObjectProxy,
KindLocalObject
};
+
+ virtual bool isLocal() const;
+
Kind kind() const;
std::string kindAsString() const;
@@ -420,7 +425,7 @@ public:
virtual std::string kindOf() const;
virtual void recDependencies(std::set<ConstructedPtr>&); // Internal operation, don't use directly.
- static void checkBasesAreLegal(const std::string&, const ClassList&, const UnitPtr&);
+ static void checkBasesAreLegal(const std::string&, bool, const ClassList&, const UnitPtr&);
protected:
@@ -496,6 +501,8 @@ class SLICE_API Proxy : virtual public Type
{
public:
+ virtual bool isLocal() const;
+
ClassDeclPtr _class() const;
Proxy(const ClassDeclPtr&);