summaryrefslogtreecommitdiff
path: root/cpp/include/Slice/Parser.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2010-07-23 16:02:04 -0700
committerMark Spruiell <mes@zeroc.com>2010-07-23 16:02:04 -0700
commit2414545a397baa35e90fbc04c807b2b96ed7cc93 (patch)
tree271b74750e65d3eb64ef39299b14658b420eb6d9 /cpp/include/Slice/Parser.h
parentBug-fix for 4793. As well as some refactoring. (diff)
downloadice-2414545a397baa35e90fbc04c807b2b96ed7cc93.tar.bz2
ice-2414545a397baa35e90fbc04c807b2b96ed7cc93.tar.xz
ice-2414545a397baa35e90fbc04c807b2b96ed7cc93.zip
bug 4794 - allow default values to refer to constants
Diffstat (limited to 'cpp/include/Slice/Parser.h')
-rw-r--r--cpp/include/Slice/Parser.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/cpp/include/Slice/Parser.h b/cpp/include/Slice/Parser.h
index ad390b12b4e..df5a7dca024 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/include/Slice/Parser.h
@@ -857,6 +857,7 @@ public:
TypePtr type() const;
StringList typeMetaData() const;
+ SyntaxTreeBasePtr valueType() const;
std::string value() const;
std::string literal() const;
virtual bool uses(const ContainedPtr&) const;
@@ -866,12 +867,13 @@ public:
protected:
- Const(const ContainerPtr&, const std::string&, const TypePtr&, const StringList&, const std::string&,
- const std::string&);
+ Const(const ContainerPtr&, const std::string&, const TypePtr&, const StringList&, const SyntaxTreeBasePtr&,
+ const std::string&, const std::string&);
friend class Container;
TypePtr _type;
StringList _typeMetaData;
+ SyntaxTreeBasePtr _valueType;
std::string _value;
std::string _literal;
};
@@ -909,9 +911,9 @@ class SLICE_API DataMember : virtual public Contained
public:
TypePtr type() const;
- bool hasDefaultValue() const;
std::string defaultValue() const;
std::string defaultLiteral() const;
+ SyntaxTreeBasePtr defaultValueType() const;
virtual ContainedType containedType() const;
virtual bool uses(const ContainedPtr&) const;
virtual std::string kindOf() const;
@@ -919,13 +921,14 @@ public:
protected:
- DataMember(const ContainerPtr&, const std::string&, const TypePtr&, bool, const std::string&, const std::string&);
+ DataMember(const ContainerPtr&, const std::string&, const TypePtr&, const SyntaxTreeBasePtr&, const std::string&,
+ const std::string&);
friend class ClassDef;
friend class Struct;
friend class Exception;
TypePtr _type;
- bool _hasDefaultValue;
+ SyntaxTreeBasePtr _defaultValueType;
std::string _defaultValue;
std::string _defaultLiteral;
};