OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ | 5 #ifndef TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ |
6 #define TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ | 6 #define TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ |
7 | 7 |
8 #include "CheckFieldsVisitor.h" | 8 #include "CheckFieldsVisitor.h" |
9 #include "CheckFinalizerVisitor.h" | 9 #include "CheckFinalizerVisitor.h" |
10 #include "CheckGCRootsVisitor.h" | 10 #include "CheckGCRootsVisitor.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 void MissingFinalizeDispatch(const clang::FunctionDecl* dispatch, | 55 void MissingFinalizeDispatch(const clang::FunctionDecl* dispatch, |
56 RecordInfo* receiver); | 56 RecordInfo* receiver); |
57 void StackAllocatedDerivesGarbageCollected(RecordInfo* info, BasePoint* base); | 57 void StackAllocatedDerivesGarbageCollected(RecordInfo* info, BasePoint* base); |
58 void ClassOverridesNew(RecordInfo* info, clang::CXXMethodDecl* newop); | 58 void ClassOverridesNew(RecordInfo* info, clang::CXXMethodDecl* newop); |
59 void ClassDeclaresPureVirtualTrace(RecordInfo* info, | 59 void ClassDeclaresPureVirtualTrace(RecordInfo* info, |
60 clang::CXXMethodDecl* trace); | 60 clang::CXXMethodDecl* trace); |
61 void LeftMostBaseMustBePolymorphic(RecordInfo* derived, | 61 void LeftMostBaseMustBePolymorphic(RecordInfo* derived, |
62 clang::CXXRecordDecl* base); | 62 clang::CXXRecordDecl* base); |
63 void BaseClassMustDeclareVirtualTrace(RecordInfo* derived, | 63 void BaseClassMustDeclareVirtualTrace(RecordInfo* derived, |
64 clang::CXXRecordDecl* base); | 64 clang::CXXRecordDecl* base); |
| 65 void TraceMethodForStackAllocatedClass(RecordInfo* parent, |
| 66 clang::CXXMethodDecl* trace); |
65 | 67 |
66 void NoteManualDispatchMethod(clang::CXXMethodDecl* dispatch); | 68 void NoteManualDispatchMethod(clang::CXXMethodDecl* dispatch); |
67 void NoteBaseRequiresTracing(BasePoint* base); | 69 void NoteBaseRequiresTracing(BasePoint* base); |
68 void NoteFieldRequiresTracing(RecordInfo* holder, clang::FieldDecl* field); | 70 void NoteFieldRequiresTracing(RecordInfo* holder, clang::FieldDecl* field); |
69 void NoteFieldShouldNotBeTraced(RecordInfo* holder, clang::FieldDecl* field); | 71 void NoteFieldShouldNotBeTraced(RecordInfo* holder, clang::FieldDecl* field); |
70 void NotePartObjectContainsGCRoot(FieldPoint* point); | 72 void NotePartObjectContainsGCRoot(FieldPoint* point); |
71 void NoteFieldContainsGCRoot(FieldPoint* point); | 73 void NoteFieldContainsGCRoot(FieldPoint* point); |
72 void NoteUserDeclaredDestructor(clang::CXXMethodDecl* dtor); | 74 void NoteUserDeclaredDestructor(clang::CXXMethodDecl* dtor); |
73 void NoteUserDeclaredFinalizer(clang::CXXMethodDecl* dtor); | 75 void NoteUserDeclaredFinalizer(clang::CXXMethodDecl* dtor); |
74 void NoteBaseRequiresFinalization(BasePoint* base); | 76 void NoteBaseRequiresFinalization(BasePoint* base); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 unsigned diag_field_contains_gc_root_note_; | 131 unsigned diag_field_contains_gc_root_note_; |
130 unsigned diag_finalized_field_note_; | 132 unsigned diag_finalized_field_note_; |
131 unsigned diag_eagerly_finalized_field_note_; | 133 unsigned diag_eagerly_finalized_field_note_; |
132 unsigned diag_user_declared_destructor_note_; | 134 unsigned diag_user_declared_destructor_note_; |
133 unsigned diag_user_declared_finalizer_note_; | 135 unsigned diag_user_declared_finalizer_note_; |
134 unsigned diag_base_requires_finalization_note_; | 136 unsigned diag_base_requires_finalization_note_; |
135 unsigned diag_field_requires_finalization_note_; | 137 unsigned diag_field_requires_finalization_note_; |
136 unsigned diag_overridden_non_virtual_trace_note_; | 138 unsigned diag_overridden_non_virtual_trace_note_; |
137 unsigned diag_manual_dispatch_method_note_; | 139 unsigned diag_manual_dispatch_method_note_; |
138 unsigned diag_iterator_to_gc_managed_collection_note_; | 140 unsigned diag_iterator_to_gc_managed_collection_note_; |
| 141 unsigned diag_trace_method_of_stack_allocated_parent_; |
139 }; | 142 }; |
140 | 143 |
141 #endif // TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ | 144 #endif // TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ |
OLD | NEW |