-
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: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#77799}
4dc59509