The clang plugin warns on them. While we could try to make the clang plugin more complicated to figure out that this is coming from a macro, the actual Dispatch() declaration and definition are simple enough that writing them out isn't a huge cost.
What macro are you talking about? DECLARE_TRACE and DEFINE_TRACE?
You're right. The macros were introduced to define an inline version and an out-of-line version of the tracing method. However, Sigbjorn unified the two tracing methods into one -- now we don't need to use the macros.
Yes, those are the macros I'd like to remove. Otherwise, it causes warnings like this to be emitted:
../../third_party/WebKit/Source/platform/heap/Visitor.h:73:43: warning: [chromium-style] Overriding method must be m
arked with 'override' or 'final'.
maybevirtual void Trace(blink::Visitor*);
^
override
DECLARE_VIRTUAL_TRACE is the problematic one, but for symmetry, it should be all or nothing.
Comment 1 by dcheng@chromium.org
, Oct 17 2017