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

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

Issue 2323463002: [blink_gc_plugin] Complain about stack-allocated classes with GC bases, but not arbitrary non-stack… (Closed)
Patch Set: Created 4 years, 3 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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 clang::CXXMethodDecl* trace, 47 clang::CXXMethodDecl* trace,
48 clang::CXXMethodDecl* overridden); 48 clang::CXXMethodDecl* overridden);
49 void MissingTraceDispatchMethod(RecordInfo* info); 49 void MissingTraceDispatchMethod(RecordInfo* info);
50 void MissingFinalizeDispatchMethod(RecordInfo* info); 50 void MissingFinalizeDispatchMethod(RecordInfo* info);
51 void VirtualAndManualDispatch(RecordInfo* info, 51 void VirtualAndManualDispatch(RecordInfo* info,
52 clang::CXXMethodDecl* dispatch); 52 clang::CXXMethodDecl* dispatch);
53 void MissingTraceDispatch(const clang::FunctionDecl* dispatch, 53 void MissingTraceDispatch(const clang::FunctionDecl* dispatch,
54 RecordInfo* receiver); 54 RecordInfo* receiver);
55 void MissingFinalizeDispatch(const clang::FunctionDecl* dispatch, 55 void MissingFinalizeDispatch(const clang::FunctionDecl* dispatch,
56 RecordInfo* receiver); 56 RecordInfo* receiver);
57 void DerivesNonStackAllocated(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 65
66 void NoteManualDispatchMethod(clang::CXXMethodDecl* dispatch); 66 void NoteManualDispatchMethod(clang::CXXMethodDecl* dispatch);
67 void NoteBaseRequiresTracing(BasePoint* base); 67 void NoteBaseRequiresTracing(BasePoint* base);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 unsigned diag_class_requires_finalization_; 100 unsigned diag_class_requires_finalization_;
101 unsigned diag_class_does_not_require_finalization_; 101 unsigned diag_class_does_not_require_finalization_;
102 unsigned diag_finalizer_accesses_finalized_field_; 102 unsigned diag_finalizer_accesses_finalized_field_;
103 unsigned diag_finalizer_eagerly_finalized_field_; 103 unsigned diag_finalizer_eagerly_finalized_field_;
104 unsigned diag_overridden_non_virtual_trace_; 104 unsigned diag_overridden_non_virtual_trace_;
105 unsigned diag_missing_trace_dispatch_method_; 105 unsigned diag_missing_trace_dispatch_method_;
106 unsigned diag_missing_finalize_dispatch_method_; 106 unsigned diag_missing_finalize_dispatch_method_;
107 unsigned diag_virtual_and_manual_dispatch_; 107 unsigned diag_virtual_and_manual_dispatch_;
108 unsigned diag_missing_trace_dispatch_; 108 unsigned diag_missing_trace_dispatch_;
109 unsigned diag_missing_finalize_dispatch_; 109 unsigned diag_missing_finalize_dispatch_;
110 unsigned diag_derives_non_stack_allocated_; 110 unsigned diag_stack_allocated_derives_gc_;
111 unsigned diag_class_overrides_new_; 111 unsigned diag_class_overrides_new_;
112 unsigned diag_class_declares_pure_virtual_trace_; 112 unsigned diag_class_declares_pure_virtual_trace_;
113 unsigned diag_left_most_base_must_be_polymorphic_; 113 unsigned diag_left_most_base_must_be_polymorphic_;
114 unsigned diag_base_class_must_declare_virtual_trace_; 114 unsigned diag_base_class_must_declare_virtual_trace_;
115 115
116 unsigned diag_base_requires_tracing_note_; 116 unsigned diag_base_requires_tracing_note_;
117 unsigned diag_field_requires_tracing_note_; 117 unsigned diag_field_requires_tracing_note_;
118 unsigned diag_field_should_not_be_traced_note_; 118 unsigned diag_field_should_not_be_traced_note_;
119 unsigned diag_raw_ptr_to_gc_managed_class_note_; 119 unsigned diag_raw_ptr_to_gc_managed_class_note_;
120 unsigned diag_ref_ptr_to_gc_managed_class_note_; 120 unsigned diag_ref_ptr_to_gc_managed_class_note_;
(...skipping 11 matching lines...) Expand all
132 unsigned diag_user_declared_destructor_note_; 132 unsigned diag_user_declared_destructor_note_;
133 unsigned diag_user_declared_finalizer_note_; 133 unsigned diag_user_declared_finalizer_note_;
134 unsigned diag_base_requires_finalization_note_; 134 unsigned diag_base_requires_finalization_note_;
135 unsigned diag_field_requires_finalization_note_; 135 unsigned diag_field_requires_finalization_note_;
136 unsigned diag_overridden_non_virtual_trace_note_; 136 unsigned diag_overridden_non_virtual_trace_note_;
137 unsigned diag_manual_dispatch_method_note_; 137 unsigned diag_manual_dispatch_method_note_;
138 138
139 }; 139 };
140 140
141 #endif // TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_ 141 #endif // TOOLS_BLINK_GC_PLUGIN_DIAGNOSTICS_REPORTER_H_
OLDNEW
« no previous file with comments | « tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp ('k') | tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698