summaryrefslogtreecommitdiff
path: root/cpp/include/Slice/Parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Slice/Parser.h')
-rw-r--r--cpp/include/Slice/Parser.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/cpp/include/Slice/Parser.h b/cpp/include/Slice/Parser.h
index c4320331fda..ef15b8ff1b3 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/include/Slice/Parser.h
@@ -392,11 +392,13 @@ public:
ClassDeclPtr createClassDecl(const std::string&, bool, bool);
ExceptionPtr createException(const std::string&, const ExceptionPtr&, bool);
StructPtr createStruct(const std::string&, bool);
- SequencePtr createSequence(const std::string&, const TypePtr&, bool);
- DictionaryPtr createDictionary(const std::string&, const TypePtr&, const TypePtr&, bool);
+ SequencePtr createSequence(const std::string&, const TypePtr&, const StringList&, bool);
+ DictionaryPtr createDictionary(const std::string&, const TypePtr&, const StringList&, const TypePtr&,
+ const StringList&, bool);
EnumPtr createEnum(const std::string&, bool);
EnumeratorPtr createEnumerator(const std::string&);
- ConstPtr createConst(const std::string, const TypePtr&, const SyntaxTreeBasePtr&, const std::string&);
+ ConstPtr createConst(const std::string, const TypePtr&, const StringList&, const SyntaxTreeBasePtr&,
+ const std::string&);
TypeList lookupType(const std::string&, bool = true);
TypeList lookupTypeNoBuiltin(const std::string&, bool = true);
ContainedList lookupContained(const std::string&, bool = true);
@@ -711,6 +713,7 @@ class SLICE_API Sequence : virtual public Constructed
public:
TypePtr type() const;
+ StringList typeMetaData() const;
virtual ContainedType containedType() const;
virtual bool uses(const ContainedPtr&) const;
virtual bool usesClasses() const;
@@ -722,10 +725,11 @@ public:
protected:
- Sequence(const ContainerPtr&, const std::string&, const TypePtr&, bool);
+ Sequence(const ContainerPtr&, const std::string&, const TypePtr&, const StringList&, bool);
friend class Container;
TypePtr _type;
+ StringList _typeMetaData;
};
// ----------------------------------------------------------------------
@@ -738,6 +742,8 @@ public:
TypePtr keyType() const;
TypePtr valueType() const;
+ StringList keyMetaData() const;
+ StringList valueMetaData() const;
virtual ContainedType containedType() const;
virtual bool uses(const ContainedPtr&) const;
virtual bool usesClasses() const;
@@ -751,11 +757,14 @@ public:
protected:
- Dictionary(const ContainerPtr&, const std::string&, const TypePtr&, const TypePtr&, bool);
+ Dictionary(const ContainerPtr&, const std::string&, const TypePtr&, const StringList&, const TypePtr&,
+ const StringList&, bool);
friend class Container;
TypePtr _keyType;
TypePtr _valueType;
+ StringList _keyMetaData;
+ StringList _valueMetaData;
};
// ----------------------------------------------------------------------
@@ -817,6 +826,7 @@ class SLICE_API Const : virtual public Contained
public:
TypePtr type() const;
+ StringList typeMetaData() const;
std::string value() const;
virtual bool uses(const ContainedPtr&) const;
virtual ContainedType containedType() const;
@@ -830,10 +840,11 @@ public:
protected:
- Const(const ContainerPtr&, const std::string&, const TypePtr&, const std::string&);
+ Const(const ContainerPtr&, const std::string&, const TypePtr&, const StringList&, const std::string&);
friend class Container;
TypePtr _type;
+ StringList _typeMetaData;
std::string _value;
};