v8/test/unittests/torque
Tobias Tebbi d7e02ea463 [torque] add const references and disallow const class field writes
- Allow type expression for abstract type supertypes.
  For consistency, and ease of implementation, also allow this for enums.
- Allow subtyping of structs. This requires changing all places where we
  checked for struct types and instead check if we have a subtype of a
  struct type.
- This allows defining two subtypes of the Reference<T> struct for
  mutable and constant references. Mutable references are a subtype of
  constant references.
- &T desugars to MutableReference<T>
  const &T desugars to ConstReference<T>
- A const field of a class produces a constant reference.
  A const field of a mutable reference to a struct is const.
  A mutable field of a const reference to a struct is const.
- It is possible to assign a new struct value to a mutable reference to
  a struct, even if the struct contains const fields. This is analogous
  to allowing assignments of let-bound structs with constant fields.

Not in this CL:
- A notion of const slices.
- Applying const to appropriate class fields.

Bug: v8:7793
Change-Id: I6e7b09d44f54db25f8bf812be5f3b554b80414e0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096615
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66759}
2020-03-18 08:47:49 +00:00
..
earley-parser-unittest.cc [torque] generate files per Torque file instead of per namespace 2019-06-05 16:12:27 +00:00
ls-json-unittest.cc [test] Use Fuchsia test runner for unittests 2019-12-05 14:22:01 +00:00
ls-message-unittest.cc [cleanup] Avoid non-const reference arguments in src/torque 2019-07-09 05:14:28 +00:00
ls-server-data-unittest.cc [test] Use Fuchsia test runner for unittests 2019-12-05 14:22:01 +00:00
torque-unittest.cc [torque] add const references and disallow const class field writes 2020-03-18 08:47:49 +00:00
torque-utils-unittest.cc [torque-ls] fix Windows file paths 2019-04-24 08:17:07 +00:00