• Dridi Boukelmoune's avatar
    Split the monolithic VCL symbol table · 6c5d9ae0
    Dridi Boukelmoune authored
    This introduces two namespaces MAIN and TYPE to allow top-level symbol
    collisions for type methods.
    
    For example, `backend` is a reserved keyword but `backend.resolve` is a
    type method. It is impossible to declare such a method symbol because it
    would require its parent `backend` symbol to be a type symbol.
    
    There would be a conflict between two `backend` symbols of different
    kinds. The same would apply if the BLOB type had methods and vmod_blob
    was imported.
    
    At this point only the MAIN namespace is used but the split enables the
    symbolization of types and type methods down the line.
    6c5d9ae0
vcc_namespace.h 1.55 KB