aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/cplusplus/Names.h
diff options
context:
space:
mode:
authorErik Verbruggen <[email protected]>2009-07-31 16:03:48 +0200
committerErik Verbruggen <[email protected]>2009-07-31 16:03:48 +0200
commit4a0da2c6f2663d9469bfd929fa682b6df7d42ab7 (patch)
treed8fb1fbbeacaadad06024ecd5ce8e84c8f30d547 /src/shared/cplusplus/Names.h
parentb713f1772a4de8330bcdd96a00b9cf103541e008 (diff)
Added Semantic checks for ObjC methods.
Diffstat (limited to 'src/shared/cplusplus/Names.h')
-rw-r--r--src/shared/cplusplus/Names.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Names.h b/src/shared/cplusplus/Names.h
index c5758ba7384..b0dc3956301 100644
--- a/src/shared/cplusplus/Names.h
+++ b/src/shared/cplusplus/Names.h
@@ -271,6 +271,39 @@ private:
FullySpecifiedType _type;
};
+class CPLUSPLUS_EXPORT SelectorNameId: public Name
+{
+public:
+ SelectorNameId(Name *const names[],
+ unsigned nameCount,
+ bool hasArguments);
+ virtual ~SelectorNameId();
+
+ virtual Identifier *identifier() const;
+
+ unsigned nameCount() const;
+ Name *nameAt(unsigned index) const;
+ Name *const *names() const;
+
+ bool hasArguments() const;
+
+ virtual bool isEqualTo(const Name *other) const;
+
+ virtual const SelectorNameId *asSelectorNameId() const
+ { return this; }
+
+ virtual SelectorNameId *asSelectorNameId()
+ { return this; }
+
+protected:
+ virtual void accept0(NameVisitor *visitor);
+
+private:
+ Name **_names;
+ unsigned _nameCount;
+ bool _hasArguments;
+};
+
CPLUSPLUS_END_NAMESPACE
CPLUSPLUS_END_HEADER