From c4a1dea2dc56bd1357ec91b829a0b9e68229a13e Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 11 Aug 2008 05:35:13 +0000 Subject: [PATCH] More #include cleaning - Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54629 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/Expr.h | 10 ++++------ include/clang/AST/ExprCXX.h | 1 + include/clang/AST/ExprObjC.h | 2 +- lib/AST/Expr.cpp | 2 ++ lib/Analysis/BasicObjCFoundationChecks.cpp | 1 + lib/Analysis/CFRefCount.cpp | 1 + lib/Analysis/RValues.cpp | 1 + lib/CodeGen/CGBuiltin.cpp | 1 + lib/CodeGen/CGDecl.cpp | 1 + lib/CodeGen/CGExpr.cpp | 2 ++ lib/CodeGen/CGObjC.cpp | 2 ++ lib/CodeGen/CodeGenFunction.cpp | 2 ++ lib/CodeGen/CodeGenFunction.h | 6 +++++- lib/CodeGen/CodeGenModule.cpp | 1 + lib/CodeGen/CodeGenTypes.cpp | 2 ++ lib/Sema/Sema.cpp | 5 +++++ lib/Sema/Sema.h | 4 +--- lib/Sema/SemaChecking.cpp | 1 + lib/Sema/SemaDecl.cpp | 1 + lib/Sema/SemaExpr.cpp | 1 + lib/Sema/SemaStmt.cpp | 1 + 21 files changed, 37 insertions(+), 11 deletions(-) diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index 5a3e8f78e2..9b6ce2fc8f 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -16,20 +16,18 @@ #include "clang/AST/Stmt.h" #include "clang/AST/Type.h" -#include "clang/AST/Decl.h" -#include "clang/AST/DeclObjC.h" -#include "clang/Basic/IdentifierTable.h" #include "llvm/ADT/APSInt.h" #include "llvm/ADT/APFloat.h" #include "llvm/ADT/SmallVector.h" #include namespace clang { - class IdentifierInfo; - class Selector; - class Decl; class ASTContext; class APValue; + class Decl; + class IdentifierInfo; + class ParmVarDecl; + class ValueDecl; /// Expr - This represents one expression. Note that Expr's are subclasses of /// Stmt. This allows an expression to be transparently used any place a Stmt diff --git a/include/clang/AST/ExprCXX.h b/include/clang/AST/ExprCXX.h index 9a351aec68..3b15f36277 100644 --- a/include/clang/AST/ExprCXX.h +++ b/include/clang/AST/ExprCXX.h @@ -15,6 +15,7 @@ #define LLVM_CLANG_AST_EXPRCXX_H #include "clang/AST/Expr.h" +#include "clang/AST/Decl.h" namespace clang { diff --git a/include/clang/AST/ExprObjC.h b/include/clang/AST/ExprObjC.h index 889b7c86b2..c572f5b56b 100644 --- a/include/clang/AST/ExprObjC.h +++ b/include/clang/AST/ExprObjC.h @@ -15,10 +15,10 @@ #define LLVM_CLANG_AST_EXPROBJC_H #include "clang/AST/Expr.h" +#include "clang/Basic/IdentifierTable.h" namespace clang { class IdentifierInfo; - class Selector; class ASTContext; /// ObjCStringLiteral, used for Objective-C string literals diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index b66ec08b9b..bd4c55f40f 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -11,6 +11,8 @@ // //===----------------------------------------------------------------------===// +#include "clang/AST/Expr.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/ExprObjC.h" #include "clang/AST/ASTContext.h" #include "clang/AST/APValue.h" diff --git a/lib/Analysis/BasicObjCFoundationChecks.cpp b/lib/Analysis/BasicObjCFoundationChecks.cpp index 678e190ea5..29c0b92432 100644 --- a/lib/Analysis/BasicObjCFoundationChecks.cpp +++ b/lib/Analysis/BasicObjCFoundationChecks.cpp @@ -23,6 +23,7 @@ #include "clang/Analysis/PathDiagnostic.h" #include "clang/Analysis/LocalCheckers.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprObjC.h" #include "clang/AST/ASTContext.h" diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp index 319318f990..d1d68fc45f 100644 --- a/lib/Analysis/CFRefCount.cpp +++ b/lib/Analysis/CFRefCount.cpp @@ -20,6 +20,7 @@ #include "clang/Analysis/LocalCheckers.h" #include "clang/Analysis/PathDiagnostic.h" #include "clang/Analysis/PathSensitive/BugReporter.h" +#include "clang/AST/DeclObjC.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/FoldingSet.h" #include "llvm/ADT/ImmutableMap.h" diff --git a/lib/Analysis/RValues.cpp b/lib/Analysis/RValues.cpp index e315302704..a396622123 100644 --- a/lib/Analysis/RValues.cpp +++ b/lib/Analysis/RValues.cpp @@ -13,6 +13,7 @@ //===----------------------------------------------------------------------===// #include "clang/Analysis/PathSensitive/RValues.h" +#include "clang/Basic/IdentifierTable.h" #include "llvm/Support/Streams.h" using namespace clang; diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index b493966c62..c40abf65af 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -16,6 +16,7 @@ #include "clang/Basic/TargetInfo.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Builtins.h" +#include "clang/AST/Decl.h" #include "clang/AST/Expr.h" #include "clang/AST/TargetBuiltins.h" #include "llvm/Constants.h" diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index ff0cb124cc..5f0f7a987f 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/lib/CodeGen/CGDecl.cpp @@ -15,6 +15,7 @@ #include "CodeGenFunction.h" #include "CodeGenModule.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "llvm/GlobalVariable.h" diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index f6cca8156a..d83775ce3e 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -14,6 +14,8 @@ #include "CodeGenFunction.h" #include "CodeGenModule.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" #include "clang/Basic/TargetInfo.h" #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index 6a0400e68c..91e7e63ca3 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/lib/CodeGen/CGObjC.cpp @@ -15,6 +15,8 @@ #include "CodeGenFunction.h" #include "CodeGenModule.h" #include "clang/AST/ExprObjC.h" +#include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" #include "llvm/Constant.h" #include "llvm/Function.h" diff --git a/lib/CodeGen/CodeGenFunction.cpp b/lib/CodeGen/CodeGenFunction.cpp index 6b731917ed..bac317c9ba 100644 --- a/lib/CodeGen/CodeGenFunction.cpp +++ b/lib/CodeGen/CodeGenFunction.cpp @@ -16,6 +16,8 @@ #include "CGDebugInfo.h" #include "clang/Basic/TargetInfo.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" #include "llvm/CallingConv.h" #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index fd2d03313c..45f239ac24 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -25,16 +25,20 @@ #include namespace llvm { + class BasicBlock; class Module; } namespace clang { class ASTContext; class Decl; + class EnumConstantDecl; class FunctionDecl; + class FunctionTypeProto; + class LabelStmt; class ObjCMethodDecl; class TargetInfo; - class FunctionTypeProto; + class VarDecl; namespace CodeGen { class CodeGenModule; diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index cd8c90f921..e0309e1654 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -16,6 +16,7 @@ #include "CodeGenFunction.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/SourceManager.h" diff --git a/lib/CodeGen/CodeGenTypes.cpp b/lib/CodeGen/CodeGenTypes.cpp index d57550d0f0..ffea22251f 100644 --- a/lib/CodeGen/CodeGenTypes.cpp +++ b/lib/CodeGen/CodeGenTypes.cpp @@ -14,6 +14,8 @@ #include "CodeGenTypes.h" #include "clang/Basic/TargetInfo.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/RecordLayout.h" #include "llvm/DerivedTypes.h" diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index 8be821290b..2e6617be10 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -14,6 +14,7 @@ #include "Sema.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/Lex/Preprocessor.h" #include "clang/Basic/Diagnostic.h" @@ -201,3 +202,7 @@ bool Sema::Diag(SourceLocation Range, unsigned DiagID, const std::string &Msg1, const LangOptions &Sema::getLangOptions() const { return PP.getLangOptions(); } + +ObjCMethodDecl *Sema::getCurMethodDecl() { + return dyn_cast(CurContext); +} diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h index 428610f04d..d6dcaf2b9a 100644 --- a/lib/Sema/Sema.h +++ b/lib/Sema/Sema.h @@ -275,9 +275,7 @@ private: /// CurMethodDecl - If inside of a method body, this returns a pointer to /// the method decl for the method being parsed. - ObjCMethodDecl *getCurMethodDecl() { - return dyn_cast(CurContext); - } + ObjCMethodDecl *getCurMethodDecl(); /// Add this decl to the scope shadowed decl chains. void PushOnScopeChains(NamedDecl *D, Scope *S); diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index dfd8f92cdc..f759133a05 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -15,6 +15,7 @@ #include "Sema.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprCXX.h" #include "clang/AST/ExprObjC.h" diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index d1cbdc8eeb..9a9f1d5ab6 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -19,6 +19,7 @@ #include "clang/AST/Builtins.h" #include "clang/AST/Decl.h" #include "clang/AST/DeclCXX.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprCXX.h" #include "clang/AST/Type.h" diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index d49626c590..571f9cc030 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -15,6 +15,7 @@ #include "SemaUtil.h" #include "clang/AST/ASTContext.h" #include "clang/AST/DeclCXX.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprCXX.h" #include "clang/AST/ExprObjC.h" diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp index 5065bb9bc6..5ed77f4c6d 100644 --- a/lib/Sema/SemaStmt.cpp +++ b/lib/Sema/SemaStmt.cpp @@ -13,6 +13,7 @@ #include "Sema.h" #include "clang/AST/ASTContext.h" +#include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/Stmt.h" #include "clang/Parse/Scope.h" -- 2.40.0