• Daniel Clifford's avatar
    [torque] Compile and error check all inlined macros · 7215f6d6
    Daniel Clifford authored
    Previously, macros that returned true for "ShouldBeInlined" were only
    compiled if they were called, which made it impossible to
    type/semantic check all Torque code (e.g. newly added methods to
    structs). One might argue that all code should be tested (and thus
    through inlining compiled), but for prototyping, the skipped
    compilations were definitely annoying.
    
    As part of this change, added a ShouldGenerateExternalCode method to
    declarables (by default returns !ShouldBeInlined) that makes it
    possible to suppresses C++ code generation for any method. To
    support this at the lowest level, a NullOStream classes is added as
    part of this patch.
    
    Finally, added support for generating C++ for passing structs as label
    parameters to run previously inlined methods through the
    implementation-visitor for non-inlined compilation.
    
    Bug: v8:7793
    Change-Id: I8ce23382e12ddc25f46222c25729c82433040a73
    Reviewed-on: https://chromium-review.googlesource.com/c/1434378
    Commit-Queue: Daniel Clifford <danno@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59134}
    7215f6d6
implementation-visitor.h 18.8 KB