// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "CollectVisitor.h" #include "Config.h" using namespace clang; CollectVisitor::CollectVisitor() { } CollectVisitor::RecordVector& CollectVisitor::record_decls() { return record_decls_; } CollectVisitor::MethodVector& CollectVisitor::trace_decls() { return trace_decls_; } bool CollectVisitor::VisitCXXRecordDecl(CXXRecordDecl* record) { if (record->hasDefinition() && record->isCompleteDefinition()) record_decls_.push_back(record); return true; } bool CollectVisitor::VisitCXXMethodDecl(CXXMethodDecl* method) { if (method->isThisDeclarationADefinition() && Config::IsTraceMethod(method)) trace_decls_.push_back(method); return true; }