• Seth Brenith's avatar
    [torque] Clarify class annotations · 4dc59509
    Seth Brenith authored
    As Nico pointed out in [1], it is a little strange that the pair of
    annotations "@export @customCppClass" behaves similarly to the keyword
    "extern": both indicate that the class is defined in a C++ file and
    Torque generates only a base class template for it. In this change, I
    explore a possible alternative which might be more consistent.
    
    Removed annotations:
    - @customCppClass, which required @export, instructed Torque to only
      generate a base class template instead of a full class.
    - @customMap, which also required @export, instructed Torque to not emit
      code for setting up a unique Map instance for the class.
    
    Added annotations:
    - @generateUniqueMap, which requires extern, instructs Torque to emit
      code for setting up a unique Map instance for the class.
    - @generateFactoryFunction, which requires extern, instructs Torque to
      emit a function for creating a class instance.
    
    Subtracting two annotations and adding two others still leaves us with
    way too many annotations, but the usage of "extern" becomes more
    consistent and I think that the new opt-in annotations might be easier
    to understand.
    
    [1] https://docs.google.com/document/d/1q_gZLnXd4bGnCx3IUfbln46K3bSs9UHBGasy9McQtHI/edit
    
    Bug: v8:7793
    Change-Id: Ic9e147a095bc492d6645001b9275357386e8adcf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266008Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/main@{#77799}
    4dc59509
Name
Last commit
Last update
..
ls Loading commit data...
OWNERS Loading commit data...
ast.h Loading commit data...
cc-generator.cc Loading commit data...
cc-generator.h Loading commit data...
cfg.cc Loading commit data...
cfg.h Loading commit data...
class-debug-reader-generator.cc Loading commit data...
constants.h Loading commit data...
contextual.h Loading commit data...
cpp-builder.cc Loading commit data...
cpp-builder.h Loading commit data...
csa-generator.cc Loading commit data...
csa-generator.h Loading commit data...
declarable.cc Loading commit data...
declarable.h Loading commit data...
declaration-visitor.cc Loading commit data...
declaration-visitor.h Loading commit data...
declarations.cc Loading commit data...
declarations.h Loading commit data...
earley-parser.cc Loading commit data...
earley-parser.h Loading commit data...
global-context.cc Loading commit data...
global-context.h Loading commit data...
implementation-visitor.cc Loading commit data...
implementation-visitor.h Loading commit data...
instance-type-generator.cc Loading commit data...
instructions.cc Loading commit data...
instructions.h Loading commit data...
kythe-data.cc Loading commit data...
kythe-data.h Loading commit data...
parameter-difference.h Loading commit data...
runtime-macro-shims.h Loading commit data...
runtime-support.h Loading commit data...
server-data.cc Loading commit data...
server-data.h Loading commit data...
source-positions.cc Loading commit data...
source-positions.h Loading commit data...
torque-code-generator.cc Loading commit data...
torque-code-generator.h Loading commit data...
torque-compiler.cc Loading commit data...
torque-compiler.h Loading commit data...
torque-parser.cc Loading commit data...
torque-parser.h Loading commit data...
torque.cc Loading commit data...
type-inference.cc Loading commit data...
type-inference.h Loading commit data...
type-oracle.cc Loading commit data...
type-oracle.h Loading commit data...
type-visitor.cc Loading commit data...
type-visitor.h Loading commit data...
types.cc Loading commit data...
types.h Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...