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

Side by Side Diff: tools/clang/blink_gc_plugin/Config.h

Issue 2578103003: Add use-chromium-style-naming option to Blink GC plugin. (Closed)
Patch Set: Created 4 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file defines the names used by GC infrastructure. 5 // This file defines the names used by GC infrastructure.
6 6
7 // TODO: Restructure the name determination to use fully qualified names (ala, 7 // TODO: Restructure the name determination to use fully qualified names (ala,
8 // blink::Foo) so that the plugin can be enabled for all of chromium. Doing so 8 // blink::Foo) so that the plugin can be enabled for all of chromium. Doing so
9 // would allow us to catch errors with structures outside of blink that might 9 // would allow us to catch errors with structures outside of blink that might
10 // have unsafe pointers to GC allocated blink structures. 10 // have unsafe pointers to GC allocated blink structures.
11 11
12 #ifndef TOOLS_BLINK_GC_PLUGIN_CONFIG_H_ 12 #ifndef TOOLS_BLINK_GC_PLUGIN_CONFIG_H_
13 #define TOOLS_BLINK_GC_PLUGIN_CONFIG_H_ 13 #define TOOLS_BLINK_GC_PLUGIN_CONFIG_H_
14 14
15 #include <cassert> 15 #include <cassert>
16 16
17 #include "clang/AST/AST.h" 17 #include "clang/AST/AST.h"
18 #include "clang/AST/Attr.h" 18 #include "clang/AST/Attr.h"
19 19
20 const char kNewOperatorName[] = "operator new"; 20 extern const char kNewOperatorName[];
21 const char kCreateName[] = "create"; 21 extern const char* kCreateName;
dcheng 2016/12/16 01:40:22 This is horrible, but this is just temporary code
22 const char kTraceName[] = "trace"; 22 extern const char* kTraceName;
23 const char kTraceImplName[] = "traceImpl"; 23 extern const char* kTraceImplName;
24 const char kFinalizeName[] = "finalizeGarbageCollectedObject"; 24 extern const char* kFinalizeName;
25 const char kTraceAfterDispatchName[] = "traceAfterDispatch"; 25 extern const char* kTraceAfterDispatchName;
26 const char kTraceAfterDispatchImplName[] = "traceAfterDispatchImpl"; 26 extern const char* kTraceAfterDispatchImplName;
27 const char kRegisterWeakMembersName[] = "registerWeakMembers"; 27 extern const char* kRegisterWeakMembersName;
28 const char kHeapAllocatorName[] = "HeapAllocator"; 28 extern const char kHeapAllocatorName[];
29 const char kTraceIfNeededName[] = "TraceIfNeeded"; 29 extern const char kTraceIfNeededName[];
30 const char kVisitorDispatcherName[] = "VisitorDispatcher"; 30 extern const char kVisitorDispatcherName[];
31 const char kVisitorVarName[] = "visitor"; 31 extern const char kVisitorVarName[];
32 const char kAdjustAndMarkName[] = "adjustAndMark"; 32 extern const char* kAdjustAndMarkName;
33 const char kIsHeapObjectAliveName[] = "isHeapObjectAlive"; 33 extern const char* kIsHeapObjectAliveName;
34 const char kIsEagerlyFinalizedName[] = "IsEagerlyFinalizedMarker"; 34 extern const char kIsEagerlyFinalizedName[];
35 35
36 class Config { 36 class Config {
37 public: 37 public:
38 static void UseLegacyNames();
39
38 static bool IsMember(const std::string& name) { 40 static bool IsMember(const std::string& name) {
39 return name == "Member"; 41 return name == "Member";
40 } 42 }
41 43
42 static bool IsWeakMember(const std::string& name) { 44 static bool IsWeakMember(const std::string& name) {
43 return name == "WeakMember"; 45 return name == "WeakMember";
44 } 46 }
45 47
46 static bool IsMemberHandle(const std::string& name) { 48 static bool IsMemberHandle(const std::string& name) {
47 return IsMember(name) || 49 return IsMember(name) ||
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 if (suffix.size() > str.size()) 252 if (suffix.size() > str.size())
251 return false; 253 return false;
252 return str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; 254 return str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0;
253 } 255 }
254 256
255 // Test if a template specialization is an instantiation. 257 // Test if a template specialization is an instantiation.
256 static bool IsTemplateInstantiation(clang::CXXRecordDecl* record); 258 static bool IsTemplateInstantiation(clang::CXXRecordDecl* record);
257 }; 259 };
258 260
259 #endif // TOOLS_BLINK_GC_PLUGIN_CONFIG_H_ 261 #endif // TOOLS_BLINK_GC_PLUGIN_CONFIG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698