Browse Source

[ast] Visit methods, properties and fields when they're added as declarations.

pull/828/head
Joao Matos 8 years ago
parent
commit
bd86afa9a2
  1. 17
      src/AST/ASTVisitor.cs

17
src/AST/ASTVisitor.cs

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace CppSharp.AST
{
@ -321,18 +322,34 @@ namespace CppSharp.AST @@ -321,18 +322,34 @@ namespace CppSharp.AST
baseClass.Class.Visit(this);
if (VisitOptions.VisitClassFields)
{
foreach (var field in @class.Fields)
VisitFieldDecl(field);
var fields = @class.Declarations.OfType<Field>().ToArray();
foreach (var field in fields)
VisitFieldDecl(field);
}
if (VisitOptions.VisitClassProperties)
{
foreach (var property in @class.Properties)
VisitProperty(property);
var properties = @class.Declarations.OfType<Property>().ToArray();
foreach (var property in properties)
VisitProperty(property);
}
if (VisitOptions.VisitClassMethods)
{
var methods = @class.Methods.ToArray();
foreach (var method in methods)
VisitMethodDecl(method);
methods = @class.Declarations.OfType<Method>().ToArray();
foreach (var method in methods)
VisitMethodDecl(method);
}
if (@class.IsDependent && VisitOptions.VisitClassTemplateSpecializations)

Loading…
Cancel
Save