1. 10 Nov, 2021 1 commit
  2. 09 Nov, 2021 1 commit
    • 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
  3. 10 Nov, 2020 1 commit
  4. 11 Nov, 2019 1 commit