ARCMTActions.cpp revision f7f8188fac71e34e09ee457ff6f039f5d14ad117
1//===--- ARCMTActions.cpp - ARC Migrate Tool Frontend Actions ---*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include "clang/ARCMigrate/ARCMTActions.h" 11#include "clang/ARCMigrate/ARCMT.h" 12#include "clang/Frontend/CompilerInstance.h" 13 14using namespace clang; 15using namespace arcmt; 16 17void CheckAction::ExecuteAction() { 18 CompilerInstance &CI = getCompilerInstance(); 19 if (arcmt::checkForManualIssues(CI.getInvocation(), getCurrentFile(), 20 getCurrentFileKind(), 21 CI.getDiagnostics().getClient())) 22 return; 23 24 // We only want to see warnings reported from arcmt::checkForManualIssues. 25 CI.getDiagnostics().setIgnoreAllWarnings(true); 26 WrapperFrontendAction::ExecuteAction(); 27} 28 29CheckAction::CheckAction(FrontendAction *WrappedAction) 30 : WrapperFrontendAction(WrappedAction) {} 31 32void TransformationAction::ExecuteAction() { 33 CompilerInstance &CI = getCompilerInstance(); 34 if (arcmt::applyTransformations(CI.getInvocation(), getCurrentFile(), 35 getCurrentFileKind(), 36 CI.getDiagnostics().getClient())) 37 return; 38 39 WrapperFrontendAction::ExecuteAction(); 40} 41 42TransformationAction::TransformationAction(FrontendAction *WrappedAction) 43 : WrapperFrontendAction(WrappedAction) {} 44 45void InMemoryTransformationAction::ExecuteAction() { 46 CompilerInstance &CI = getCompilerInstance(); 47 if (arcmt::applyTransformationsInMemory(CI.getInvocation(), getCurrentFile(), 48 getCurrentFileKind(), 49 CI.getDiagnostics().getClient())) 50 return; 51 52 WrapperFrontendAction::ExecuteAction(); 53} 54 55InMemoryTransformationAction::InMemoryTransformationAction( 56 FrontendAction *WrappedAction) 57 : WrapperFrontendAction(WrappedAction) {} 58 59