Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: tools/clang/BindMigrate/TransformPostTask.h

Issue 7886056: Clang plugin that rewrites PostTask(_, NewRunnableMethod(...)) to PostTask(_, base::Bind(...)); (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: break into files and make saner Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2011 Google Inc. All Rights Reserved.
2 // Author: ajwong@google.com (Albert Wong)
3
4 #ifndef TRANSFORM_POST_TASK_H_
5 #define TRANSFORM_POST_TASK_H_
6
7 #include <set>
8 #include <string>
9
10 #include "clang/AST/RecursiveASTVisitor.h"
11
12 namespace clang {
13
14 class ASTContext;
15 class CXXMemberCallExpr;
16 class DiagnosticEmitter;
17 class Exprt;
18 class Rewriter;
19
20 class TransformPostTask : public RecursiveASTVisitor<TransformPostTask> {
21 public:
22 TransformPostTask(ASTContext* context,
23 Rewriter* rewriter,
24 DiagnosticEmitter* emitter);
25
26 bool TraverseStmt(Stmt *statement);
27
28 private:
29 bool IsPostTaskExpr(CXXMemberCallExpr* call);
30 bool MaybeRewriteNewRunnableMethod(Expr* post_task_arg);
31
32 ASTContext* context_;
33 Rewriter* rewriter_;
34 DiagnosticEmitter* error_emitter_;
35
36 // Names for matching.
37 std::set<std::string> interesting_classes_;
38 static const char kPostTaskName[];
39 static const char kNewRunnableMethodName[];
40 };
41
42 } // namespace clang
43
44 #endif // TRANSFORM_POST_TASK_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698