Browse Source

Added copy constructors to Enumeration::Item and Declaration.

pull/226/merge
triton 12 years ago
parent
commit
ea171cde97
  1. 19
      src/CppParser/AST.cpp
  2. 3
      src/CppParser/AST.h

19
src/CppParser/AST.cpp

@ -116,6 +116,22 @@ Declaration::Declaration(DeclarationKind kind)
{ {
} }
Declaration::Declaration(const Declaration& rhs)
: Kind(rhs.Kind)
, Access(rhs.Access)
, _Namespace(rhs._Namespace)
, Name(rhs.Name)
, Comment(rhs.Comment)
, DebugText(rhs.DebugText)
, IsIncomplete(rhs.IsIncomplete)
, IsDependent(rhs.IsDependent)
, CompleteDeclaration(rhs.CompleteDeclaration)
, DefinitionOrder(rhs.DefinitionOrder)
, PreprocessedEntities(rhs.PreprocessedEntities)
, OriginalPtr(rhs.OriginalPtr)
{
}
DEF_STRING(Declaration, Name) DEF_STRING(Declaration, Name)
DEF_STRING(Declaration, DebugText) DEF_STRING(Declaration, DebugText)
DEF_VECTOR(Declaration, PreprocessedEntity*, PreprocessedEntities) DEF_VECTOR(Declaration, PreprocessedEntity*, PreprocessedEntities)
@ -374,6 +390,9 @@ DEF_VECTOR(Enumeration, Enumeration::Item, Items)
Enumeration::Item::Item() : Declaration(DeclarationKind::EnumerationItem) {} Enumeration::Item::Item() : Declaration(DeclarationKind::EnumerationItem) {}
Enumeration::Item::Item(const Item& rhs) : Declaration(rhs),
Expression(rhs.Expression), Value(rhs.Value) {}
DEF_STRING(Enumeration::Item, Expression) DEF_STRING(Enumeration::Item, Expression)
Variable::Variable() : Declaration(DeclarationKind::Variable) {} Variable::Variable() : Declaration(DeclarationKind::Variable) {}

3
src/CppParser/AST.h

@ -358,6 +358,7 @@ struct PreprocessedEntity;
struct CS_API Declaration struct CS_API Declaration
{ {
Declaration(DeclarationKind kind); Declaration(DeclarationKind kind);
Declaration(const Declaration&);
DeclarationKind Kind; DeclarationKind Kind;
AccessSpecifier Access; AccessSpecifier Access;
@ -540,6 +541,8 @@ struct CS_API Enumeration : public Declaration
struct CS_API Item : public Declaration struct CS_API Item : public Declaration
{ {
DECLARE_DECL_KIND(Item, EnumerationItem) DECLARE_DECL_KIND(Item, EnumerationItem)
Item(const Item&);
STRING(Expression) STRING(Expression)
uint64_t Value; uint64_t Value;
}; };

Loading…
Cancel
Save