Files
UnrealEngineUWP/Engine/Source/Programs/UnrealCodeAnalyzer/Private/Action.h
Mikolaj Sieluzycki 13819dc17d Make UnrealCodeAnalyzer public.
- Move UnrealCodeAnalyzer to Programs/UnrealCodeAnalyzer
- Move clang/llvm binaries and includes to ThirdParty/llvm
#codereview Robert.Manuszewski

[CL 2613304 by Mikolaj Sieluzycki in Main branch]
2015-07-08 05:11:51 -04:00

28 lines
854 B
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "clang/Frontend/FrontendAction.h"
namespace UnrealCodeAnalyzer
{
class FMacroCallback;
class FIncludeDirectiveCallback;
class FConsumer;
class FAction : public clang::ASTFrontendAction
{
public:
virtual clang::ASTConsumer* CreateASTConsumer(clang::CompilerInstance& Compiler, clang::StringRef InFile) override;
virtual bool BeginSourceFileAction(clang::CompilerInstance &CI, clang::StringRef Filename) override;
virtual void EndSourceFileAction() override;
friend class FIncludeDirectiveCallback;
private:
FIncludeDirectiveCallback* IncludeDirectiveCallback;
FMacroCallback* MacroCallback;
FConsumer* ASTConsumer;
clang::StringRef Filename;
clang::SourceManager* SourceManager;
TMap<FString, TDoubleLinkedList<FString>> IncludeChains;
};
}