OLD | NEW |
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 provides a wrapper for CXXRecordDecl that accumulates GC related | 5 // This file provides a wrapper for CXXRecordDecl that accumulates GC related |
6 // information about a class. Accumulated information is memoized and the info | 6 // information about a class. Accumulated information is memoized and the info |
7 // objects are stored in a RecordCache. | 7 // objects are stored in a RecordCache. |
8 | 8 |
9 #ifndef TOOLS_BLINK_GC_PLUGIN_RECORD_INFO_H_ | 9 #ifndef TOOLS_BLINK_GC_PLUGIN_RECORD_INFO_H_ |
10 #define TOOLS_BLINK_GC_PLUGIN_RECORD_INFO_H_ | 10 #define TOOLS_BLINK_GC_PLUGIN_RECORD_INFO_H_ |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 | 94 |
95 bool IsHeapAllocatedCollection(); | 95 bool IsHeapAllocatedCollection(); |
96 bool IsGCDerived(); | 96 bool IsGCDerived(); |
97 bool IsGCAllocated(); | 97 bool IsGCAllocated(); |
98 bool IsGCFinalized(); | 98 bool IsGCFinalized(); |
99 bool IsGCMixin(); | 99 bool IsGCMixin(); |
100 bool IsStackAllocated(); | 100 bool IsStackAllocated(); |
101 bool IsNonNewable(); | 101 bool IsNonNewable(); |
102 bool IsOnlyPlacementNewable(); | 102 bool IsOnlyPlacementNewable(); |
103 bool IsEagerlyFinalized(); | 103 bool IsEagerlyFinalized(); |
104 bool IsGCRefCounted(); | |
105 | 104 |
106 bool HasDefinition(); | 105 bool HasDefinition(); |
107 | 106 |
108 clang::CXXMethodDecl* DeclaresNewOperator(); | 107 clang::CXXMethodDecl* DeclaresNewOperator(); |
109 | 108 |
110 bool RequiresTraceMethod(); | 109 bool RequiresTraceMethod(); |
111 bool NeedsFinalization(); | 110 bool NeedsFinalization(); |
112 bool DeclaresGCMixinMethods(); | 111 bool DeclaresGCMixinMethods(); |
113 bool DeclaresLocalTraceMethod(); | 112 bool DeclaresLocalTraceMethod(); |
114 TracingStatus NeedsTracing(Edge::NeedsTracingOption); | 113 TracingStatus NeedsTracing(Edge::NeedsTracingOption); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 } | 187 } |
189 } | 188 } |
190 } | 189 } |
191 | 190 |
192 private: | 191 private: |
193 typedef std::map<clang::CXXRecordDecl*, RecordInfo> Cache; | 192 typedef std::map<clang::CXXRecordDecl*, RecordInfo> Cache; |
194 Cache cache_; | 193 Cache cache_; |
195 }; | 194 }; |
196 | 195 |
197 #endif // TOOLS_BLINK_GC_PLUGIN_RECORD_INFO_H_ | 196 #endif // TOOLS_BLINK_GC_PLUGIN_RECORD_INFO_H_ |
OLD | NEW |