diff --git a/src/shared/cplusplus/Bind.cpp b/src/shared/cplusplus/Bind.cpp index d7ab4d38535679315992c96e54a3d2d9e8796f6e..3517b51b9dfa48b121e92d4403a13b1ae72287fe 100644 --- a/src/shared/cplusplus/Bind.cpp +++ b/src/shared/cplusplus/Bind.cpp @@ -626,7 +626,7 @@ bool Bind::visit(OperatorAST *ast) return false; } -int Bind::cppOperator(OperatorAST *ast) +OperatorNameId::Kind Bind::cppOperator(OperatorAST *ast) { OperatorNameId::Kind kind = OperatorNameId::InvalidOp; @@ -2423,7 +2423,7 @@ bool Bind::visit(QualifiedNameAST *ast) bool Bind::visit(OperatorFunctionIdAST *ast) { - const int op = this->cppOperator(ast->op); + const OperatorNameId::Kind op = this->cppOperator(ast->op); ast->name = _name = control()->operatorNameId(op); return false; } diff --git a/src/shared/cplusplus/Bind.h b/src/shared/cplusplus/Bind.h index 0bdd5c63e1fc054377efd0b616cc02aff55dd460..0a6e757b46244a710a4979a42c5e4d5f649e2029 100644 --- a/src/shared/cplusplus/Bind.h +++ b/src/shared/cplusplus/Bind.h @@ -51,6 +51,7 @@ #include "ASTVisitor.h" #include "FullySpecifiedType.h" +#include "Names.h" namespace CPlusPlus { @@ -117,7 +118,7 @@ protected: FullySpecifiedType newArrayDeclarator(NewArrayDeclaratorAST *ast, const FullySpecifiedType &init); void newInitializer(NewInitializerAST *ast); FullySpecifiedType newTypeId(NewTypeIdAST *ast); - int cppOperator(OperatorAST *ast); + OperatorNameId::Kind cppOperator(OperatorAST *ast); void parameterDeclarationClause(ParameterDeclarationClauseAST *ast, unsigned lparen_token, Function *fun); void translationUnit(TranslationUnitAST *ast); void objCProtocolRefs(ObjCProtocolRefsAST *ast, Symbol *objcClassOrProtocol); diff --git a/src/shared/cplusplus/Control.cpp b/src/shared/cplusplus/Control.cpp index 647b17ce3577a8b09740306148ee616d386418f5..1b42ead20612ce1634e27a1adff18182af3e97b5 100644 --- a/src/shared/cplusplus/Control.cpp +++ b/src/shared/cplusplus/Control.cpp @@ -259,7 +259,7 @@ public: return destructorNameIds.intern(DestructorNameId(id)); } - const OperatorNameId *findOrInsertOperatorNameId(int kind) + const OperatorNameId *findOrInsertOperatorNameId(OperatorNameId::Kind kind) { return operatorNameIds.intern(OperatorNameId(kind)); } @@ -609,7 +609,7 @@ const TemplateNameId *Control::templateNameId(const Identifier *id, const DestructorNameId *Control::destructorNameId(const Identifier *id) { return d->findOrInsertDestructorNameId(id); } -const OperatorNameId *Control::operatorNameId(int kind) +const OperatorNameId *Control::operatorNameId(OperatorNameId::Kind kind) { return d->findOrInsertOperatorNameId(kind); } const ConversionNameId *Control::conversionNameId(const FullySpecifiedType &type) diff --git a/src/shared/cplusplus/Control.h b/src/shared/cplusplus/Control.h index 69c6dceae6a2b4940383c3ac705005fc75d9d64f..930b1beacfc62aca264741be838a33229279b521 100644 --- a/src/shared/cplusplus/Control.h +++ b/src/shared/cplusplus/Control.h @@ -50,6 +50,7 @@ #define CPLUSPLUS_CONTROL_H #include "CPlusPlusForwardDeclarations.h" +#include "Names.h" namespace CPlusPlus { @@ -74,7 +75,7 @@ public: const DestructorNameId *destructorNameId(const Identifier *id); /// Returns the canonical operator name id. - const OperatorNameId *operatorNameId(int operatorId); + const OperatorNameId *operatorNameId(OperatorNameId::Kind operatorId); /// Returns the canonical conversion name id. const ConversionNameId *conversionNameId(const FullySpecifiedType &type); diff --git a/src/shared/cplusplus/Literals.cpp b/src/shared/cplusplus/Literals.cpp index 9d1bf652254b715b2cb4e7d12901cb597cf918c5..398821ccc7ddb1f8fcf52c9bdca72d7f2c132acc 100644 --- a/src/shared/cplusplus/Literals.cpp +++ b/src/shared/cplusplus/Literals.cpp @@ -56,7 +56,7 @@ using namespace CPlusPlus; //////////////////////////////////////////////////////////////////////////////// Literal::Literal(const char *chars, unsigned size) - : _index(0), _next(0) + : _next(0), _index(0) { _chars = new char[size + 1]; diff --git a/src/shared/cplusplus/Literals.h b/src/shared/cplusplus/Literals.h index 6c1e958b6ce7fa3502437dd65bd8eb2ad7c8e1e4..7e69efc59ff910713a78e3215f285bd21ba8b36c 100644 --- a/src/shared/cplusplus/Literals.h +++ b/src/shared/cplusplus/Literals.h @@ -80,15 +80,15 @@ public: bool equalTo(const Literal *other) const; + Literal *_next; // ## private + private: char *_chars; unsigned _size; unsigned _hashCode; public: - // ### private - unsigned _index; - Literal *_next; + unsigned _index; // ### private }; class CPLUSPLUS_EXPORT StringLiteral: public Literal diff --git a/src/shared/cplusplus/Names.cpp b/src/shared/cplusplus/Names.cpp index 63ff03f38cc378966f32a6341d3b3de3c750a628..56e15611664d3c37f164fc7d4161178a9afab6a3 100644 --- a/src/shared/cplusplus/Names.cpp +++ b/src/shared/cplusplus/Names.cpp @@ -153,7 +153,7 @@ bool TemplateNameId::isEqualTo(const Name *other) const return true; } -OperatorNameId::OperatorNameId(int kind) +OperatorNameId::OperatorNameId(Kind kind) : _kind(kind) { } @@ -163,7 +163,7 @@ OperatorNameId::~OperatorNameId() void OperatorNameId::accept0(NameVisitor *visitor) const { visitor->visit(this); } -int OperatorNameId::kind() const +OperatorNameId::Kind OperatorNameId::kind() const { return _kind; } const Identifier *OperatorNameId::identifier() const diff --git a/src/shared/cplusplus/Names.h b/src/shared/cplusplus/Names.h index 3a894a351e6627283751be8f4436d325df7ece21..62d290a91f28cfbdb1487e67f6a5682ca6e13e74 100644 --- a/src/shared/cplusplus/Names.h +++ b/src/shared/cplusplus/Names.h @@ -193,10 +193,10 @@ public: }; public: - OperatorNameId(int kind); + OperatorNameId(Kind kind); virtual ~OperatorNameId(); - int kind() const; + Kind kind() const; virtual const Identifier *identifier() const; virtual bool isEqualTo(const Name *other) const; @@ -208,7 +208,7 @@ protected: virtual void accept0(NameVisitor *visitor) const; private: - int _kind; + Kind _kind; }; class CPLUSPLUS_EXPORT ConversionNameId: public Name diff --git a/src/shared/cplusplus/Scope.cpp b/src/shared/cplusplus/Scope.cpp index b500f178cb82b25c94c2152470fcb8f0d14bb47a..87655be6c3465e91350734f1df5eb9ff8192eb80 100644 --- a/src/shared/cplusplus/Scope.cpp +++ b/src/shared/cplusplus/Scope.cpp @@ -95,7 +95,7 @@ public: iterator lastSymbol() const; Symbol *lookat(const Identifier *id) const; - Symbol *lookat(int operatorId) const; + Symbol *lookat(OperatorNameId::Kind operatorId) const; private: /// Returns the hash value for the given Symbol. @@ -186,7 +186,7 @@ Symbol *SymbolTable::lookat(const Identifier *id) const return symbol; } -Symbol *SymbolTable::lookat(int operatorId) const +Symbol *SymbolTable::lookat(OperatorNameId::Kind operatorId) const { if (! _hash) return 0; @@ -290,7 +290,7 @@ Scope::iterator Scope::lastMember() const Symbol *Scope::find(const Identifier *id) const { return _members ? _members->lookat(id) : 0; } -Symbol *Scope::find(int operatorId) const +Symbol *Scope::find(OperatorNameId::Kind operatorId) const { return _members ? _members->lookat(operatorId) : 0; } /// Set the start offset of the scope diff --git a/src/shared/cplusplus/Scope.h b/src/shared/cplusplus/Scope.h index 47114111ba0d675995265f3028cfb15bb192c82f..d2ae2f9c471d8e21d2fde2b06a80119ffd4f11cd 100644 --- a/src/shared/cplusplus/Scope.h +++ b/src/shared/cplusplus/Scope.h @@ -51,6 +51,7 @@ #include "CPlusPlusForwardDeclarations.h" #include "Symbol.h" +#include "Names.h" namespace CPlusPlus { @@ -81,7 +82,7 @@ public: iterator lastMember() const; Symbol *find(const Identifier *id) const; - Symbol *find(int operatorId) const; + Symbol *find(OperatorNameId::Kind operatorId) const; /// Set the start offset of the scope unsigned startOffset() const; diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp index 5d46bc774ad1d610fbb261b9c0d72d90d832ea4c..f373f7fd17b4da03a84b645303918a0b13289c02 100644 --- a/src/shared/cplusplus/Symbol.cpp +++ b/src/shared/cplusplus/Symbol.cpp @@ -112,12 +112,16 @@ private: Symbol::Symbol(TranslationUnit *translationUnit, unsigned sourceLocation, const Name *name) : _name(0), + _scope(0), + _next(0), + _fileId(0), + _sourceLocation(0), _hashCode(0), _storage(Symbol::NoStorage), _visibility(Symbol::Public), - _scope(0), _index(0), - _next(0), + _line(0), + _column(0), _isGenerated(false), _isDeprecated(false), _isUnavailable(false) diff --git a/src/shared/cplusplus/Symbol.h b/src/shared/cplusplus/Symbol.h index 96d8707cdb92d727cb8f785bee7f24fe3e6e941c..3f9411b46486b9ae76b310747bcb49efe8e86a00 100644 --- a/src/shared/cplusplus/Symbol.h +++ b/src/shared/cplusplus/Symbol.h @@ -319,15 +319,15 @@ protected: virtual void visitSymbol0(SymbolVisitor *visitor) = 0; private: - unsigned _sourceLocation; const Name *_name; + Scope *_scope; + Symbol *_next; + const StringLiteral *_fileId; + unsigned _sourceLocation; unsigned _hashCode; int _storage; int _visibility; - Scope *_scope; unsigned _index; - Symbol *_next; - const StringLiteral *_fileId; unsigned _line; unsigned _column; diff --git a/src/shared/cplusplus/Symbols.cpp b/src/shared/cplusplus/Symbols.cpp index 7dae77921796c37d1284c962fe6b2c1c684a232b..dd39b066549a56643236983782efe8db178ffd38 100644 --- a/src/shared/cplusplus/Symbols.cpp +++ b/src/shared/cplusplus/Symbols.cpp @@ -681,10 +681,10 @@ void ObjCBaseProtocol::visitSymbol0(SymbolVisitor *visitor) { visitor->visit(this); } ObjCClass::ObjCClass(TranslationUnit *translationUnit, unsigned sourceLocation, const Name *name): - Scope(translationUnit, sourceLocation, name), - _isInterface(false), - _categoryName(0), - _baseClass(0) + Scope(translationUnit, sourceLocation, name), + _categoryName(0), + _baseClass(0), + _isInterface(false) { } @@ -992,9 +992,9 @@ ObjCPropertyDeclaration::ObjCPropertyDeclaration(TranslationUnit *translationUni unsigned sourceLocation, const Name *name): Symbol(translationUnit, sourceLocation, name), - _propertyAttributes(None), _getterName(0), - _setterName(0) + _setterName(0), + _propertyAttributes(None) {} ObjCPropertyDeclaration::~ObjCPropertyDeclaration() diff --git a/src/shared/cplusplus/Symbols.h b/src/shared/cplusplus/Symbols.h index dd7fe67a1a4e084b885566f772234ab18beb6f28..cd618a9c876cee6f54b9e71854b002b1ae79a58c 100644 --- a/src/shared/cplusplus/Symbols.h +++ b/src/shared/cplusplus/Symbols.h @@ -171,8 +171,8 @@ protected: virtual void visitSymbol0(SymbolVisitor *visitor); private: - FullySpecifiedType _type; const StringLiteral *_initializer; + FullySpecifiedType _type; }; class CPLUSPLUS_EXPORT TypenameArgument: public Symbol @@ -531,8 +531,6 @@ public: protected: virtual void visitSymbol0(SymbolVisitor *visitor); - -private: }; class CPLUSPLUS_EXPORT ObjCBaseProtocol: public Symbol @@ -552,8 +550,6 @@ public: protected: virtual void visitSymbol0(SymbolVisitor *visitor); - -private: }; class CPLUSPLUS_EXPORT ObjCForwardProtocolDeclaration: public Symbol, public Type @@ -647,8 +643,6 @@ protected: virtual void visitSymbol0(SymbolVisitor *visitor); virtual void accept0(TypeVisitor *visitor); virtual bool matchType0(const Type *otherType, TypeMatcher *matcher) const; - -private: }; class CPLUSPLUS_EXPORT ObjCClass: public Scope, public Type @@ -695,10 +689,10 @@ protected: virtual bool matchType0(const Type *otherType, TypeMatcher *matcher) const; private: - bool _isInterface; const Name *_categoryName; ObjCBaseClass * _baseClass; std::vector<ObjCBaseProtocol *> _protocols; + bool _isInterface; }; class CPLUSPLUS_EXPORT ObjCMethod: public Scope, public Type @@ -808,10 +802,10 @@ protected: virtual void visitSymbol0(SymbolVisitor *visitor); private: - FullySpecifiedType _type; - int _propertyAttributes; const Name *_getterName; const Name *_setterName; + FullySpecifiedType _type; + int _propertyAttributes; }; } // end of namespace CPlusPlus