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) @@ -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, DebugText)
DEF_VECTOR(Declaration, PreprocessedEntity*, PreprocessedEntities)
@ -374,6 +390,9 @@ DEF_VECTOR(Enumeration, Enumeration::Item, Items) @@ -374,6 +390,9 @@ DEF_VECTOR(Enumeration, Enumeration::Item, Items)
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)
Variable::Variable() : Declaration(DeclarationKind::Variable) {}

3
src/CppParser/AST.h

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

Loading…
Cancel
Save