Files
UnrealEngineUWP/Engine/Source/Programs/UnrealCodeAnalyzer/Private/ThreadSafety/TSVisitor.h
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

26 lines
787 B
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "clang/AST/RecursiveASTVisitor.h"
namespace UnrealCodeAnalyzer
{
class FTSVisitor : public clang::RecursiveASTVisitor<FTSVisitor>
{
public:
explicit FTSVisitor(clang::ASTContext* InContext, clang::StringRef InFile);
bool VisitCXXConstructorDecl(clang::CXXConstructorDecl* Decl);
bool TraverseCXXMethodDecl(clang::CXXMethodDecl* Decl);
bool VisitDeclRefExpr(clang::DeclRefExpr* Expr);
bool VisitCallExpr(clang::CallExpr* Expr);
private:
bool InheritsFromUObject(clang::CXXConstructorDecl* Decl);
bool IsGlobalVariable(clang::VarDecl* VarDecl);
clang::SourceManager& SourceManager;
TArray<clang::CXXMethodDecl*> FunctionDeclarationsStack;
TSet<clang::Decl*> VisitedDecls;
};
}