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

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

Issue 2578103003: Add use-chromium-style-naming option to Blink GC plugin. (Closed)
Patch Set: Rebase Created 3 years, 12 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "Config.h" 5 #include "Config.h"
6 6
7 #include <cassert> 7 #include <cassert>
8 8
9 #include "clang/AST/AST.h" 9 #include "clang/AST/AST.h"
10 10
11 using namespace clang; 11 using namespace clang;
12 12
13 // Legacy names to be removed after Blink rename:
14 namespace legacy {
15 const char kCreateName[] = "create";
16 const char kTraceName[] = "trace";
17 const char kTraceImplName[] = "traceImpl";
18 const char kFinalizeName[] = "finalizeGarbageCollectedObject";
19 const char kTraceAfterDispatchName[] = "traceAfterDispatch";
20 const char kTraceAfterDispatchImplName[] = "traceAfterDispatchImpl";
21 const char kRegisterWeakMembersName[] = "registerWeakMembers";
22 const char kAdjustAndMarkName[] = "adjustAndMark";
23 const char kIsHeapObjectAliveName[] = "isHeapObjectAlive";
24 } // namespace legacy
25
26 const char kNewOperatorName[] = "operator new";
27 const char* kCreateName = "Create";
28 const char* kTraceName = "Trace";
29 const char* kTraceImplName = "TraceImpl";
30 const char* kFinalizeName = "FinalizeGarbageCollectedObject";
31 const char* kTraceAfterDispatchName = "TraceAfterDispatch";
32 const char* kTraceAfterDispatchImplName = "TraceAfterDispatchImpl";
33 const char* kRegisterWeakMembersName = "RegisterWeakMembers";
34 const char kHeapAllocatorName[] = "HeapAllocator";
35 const char kTraceIfNeededName[] = "TraceIfNeeded";
36 const char kVisitorDispatcherName[] = "VisitorDispatcher";
37 const char kVisitorVarName[] = "visitor";
38 const char* kAdjustAndMarkName = "AdjustAndMark";
39 const char* kIsHeapObjectAliveName = "IsHeapObjectAlive";
40 const char kIsEagerlyFinalizedName[] = "IsEagerlyFinalizedMarker";
41 const char kConstIteratorName[] = "const_iterator";
42 const char kIteratorName[] = "iterator";
43 const char kConstReverseIteratorName[] = "const_reverse_iterator";
44 const char kReverseIteratorName[] = "reverse_iterator";
45
46 void Config::UseLegacyNames() {
47 kCreateName = legacy::kCreateName;
48 kTraceName = legacy::kTraceName;
49 kTraceImplName = legacy::kTraceImplName;
50 kFinalizeName = legacy::kFinalizeName;
51 kTraceAfterDispatchName = legacy::kTraceAfterDispatchName;
52 kTraceAfterDispatchImplName = legacy::kTraceAfterDispatchImplName;
53 kRegisterWeakMembersName = legacy::kRegisterWeakMembersName;
54 kAdjustAndMarkName = legacy::kAdjustAndMarkName;
55 kIsHeapObjectAliveName = legacy::kIsHeapObjectAliveName;
56 }
57
13 bool Config::IsTemplateInstantiation(CXXRecordDecl* record) { 58 bool Config::IsTemplateInstantiation(CXXRecordDecl* record) {
14 ClassTemplateSpecializationDecl* spec = 59 ClassTemplateSpecializationDecl* spec =
15 dyn_cast<clang::ClassTemplateSpecializationDecl>(record); 60 dyn_cast<clang::ClassTemplateSpecializationDecl>(record);
16 if (!spec) 61 if (!spec)
17 return false; 62 return false;
18 switch (spec->getTemplateSpecializationKind()) { 63 switch (spec->getTemplateSpecializationKind()) {
19 case TSK_ImplicitInstantiation: 64 case TSK_ImplicitInstantiation:
20 case TSK_ExplicitInstantiationDefinition: 65 case TSK_ExplicitInstantiationDefinition:
21 return true; 66 return true;
22 case TSK_Undeclared: 67 case TSK_Undeclared:
23 case TSK_ExplicitSpecialization: 68 case TSK_ExplicitSpecialization:
24 return false; 69 return false;
25 // TODO: unsupported cases. 70 // TODO: unsupported cases.
26 case TSK_ExplicitInstantiationDeclaration: 71 case TSK_ExplicitInstantiationDeclaration:
27 return false; 72 return false;
28 } 73 }
29 assert(false && "Unknown template specialization kind"); 74 assert(false && "Unknown template specialization kind");
30 return false; 75 return false;
31 } 76 }
OLDNEW
« no previous file with comments | « tools/clang/blink_gc_plugin/Config.h ('k') | tools/clang/blink_gc_plugin/tests/base_class_must_define_virtual_trace.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698