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

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

Issue 2685583002: blink_gc_plugin: warn of unused trace methods to stack allocated classes. (Closed)
Patch Set: rebased upto r449038 Created 3 years, 10 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 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
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
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_
OLDNEW
« no previous file with comments | « tools/clang/blink_gc_plugin/BlinkGCPluginOptions.h ('k') | tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698