dart-sdk/runtime
Tess Strickland 82897fdfde [vm] Split AbstractType::PrintName functionality across subclasses.
Since none of the subparts of the base method share any local state,
make the base method virtual and override it in all of the subclasses
with the subclass-specific functionality.

Also add an `ASSERT(IsNull());` check to all base implementations to
cause an error in DEBUG mode when forgetting to override in a subclass,
and then perform what should happen in the null case (if anything).
This way, in DEBUG mode, it's easier to distinguish an accidental null
slipping through vs. a lack of overriding.

TEST=Pure refactoring, so existing tests.

Change-Id: I57a669e5eb34119443d84bf1208ce7232a0e4c6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262347
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2022-10-04 08:51:00 +00:00
..
bin Reland "[vm/ffi] Throw on returning Error in Handle" 2022-10-03 12:25:08 +00:00
docs [vm/inliner] Tweak inlining heuristic, improve List.of inlining. 2022-08-15 21:14:36 +00:00
include [VM] Factor out helper functions related to isolate IDs 2022-09-19 19:46:01 +00:00
lib [vm/ffi] Support DynamicLibrary.process() on Windows 2022-09-27 08:42:03 +00:00
observatory [vm] Support dynamic access to record fields in JIT mode 2022-10-03 21:24:47 +00:00
observatory_2 [ VM / Service ] Add isolateGroupId to IsolateRef and Isolate 2022-08-24 18:40:49 +00:00
platform [pkg/dart2native] Avoid overwriting section contents in MachO files. 2022-09-29 08:32:47 +00:00
tests Allow tab-completion of commands, expression types and named sets 2022-10-03 14:58:58 +00:00
third_party [build] Switch builds to the ninja in DEPS 2022-09-27 11:24:03 +00:00
tools Allow tab-completion of commands, expression types and named sets 2022-10-03 14:58:58 +00:00
vm [vm] Split AbstractType::PrintName functionality across subclasses. 2022-10-04 08:51:00 +00:00
.clang-tidy
.gitignore
BUILD.gn [build] Remove linker flags to create empty section in AOT runtime. 2022-09-30 12:48:59 +00:00
codereview.settings
configs.gni
CPPLINT.cfg
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
PRESUBMIT.py [python3] Migrate PRESUBMIT.py files 2021-08-16 08:29:54 +00:00
runtime_args.gni [VM] error: ‘mallinfo mallinfo()’ is deprecated 2021-12-08 00:25:10 +00:00