• verwaest's avatar
    Templatize AstVisitor with its subclass · ebf166df
    verwaest authored
    This replaces the vtable on AstNode with a NodeType tag. The visitors replace double dispatch with a single switch over the NodeType.
    
    For now, visitors with subclasses still have virtual methods themselves. We should probably specialize them later as well.
    
    The uint8_t NodeType allows us to better pack memory, saving 8-16 bytes on many AST nodes (with additional packing that I'll do in a follow-up CL)
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2142233003
    Cr-Commit-Position: refs/heads/master@{#37788}
    ebf166df
rewriter.cc 11.5 KB