CollectVisitor.cpp 860 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2015 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "CollectVisitor.h"
  5. #include "Config.h"
  6. using namespace clang;
  7. CollectVisitor::CollectVisitor() {
  8. }
  9. CollectVisitor::RecordVector& CollectVisitor::record_decls() {
  10. return record_decls_;
  11. }
  12. CollectVisitor::MethodVector& CollectVisitor::trace_decls() {
  13. return trace_decls_;
  14. }
  15. bool CollectVisitor::VisitCXXRecordDecl(CXXRecordDecl* record) {
  16. if (record->hasDefinition() && record->isCompleteDefinition())
  17. record_decls_.push_back(record);
  18. return true;
  19. }
  20. bool CollectVisitor::VisitCXXMethodDecl(CXXMethodDecl* method) {
  21. if (method->isThisDeclarationADefinition()) {
  22. if (Config::IsTraceMethod(method)) {
  23. trace_decls_.push_back(method);
  24. }
  25. }
  26. return true;
  27. }