dart-sdk/runtime
Alexander Markov 1ec87d1770 [vm/nnbd] Fix TypeArguments::IsUninstantiatedIdentity for NNBD
TypeArguments::IsUninstantiatedIdentity predicate is checking if
instantiator type arguments could be reused when instantiating
given type arguments (when given type arguments repeat type parameters).
This predicate was not accounting for nullable and legacy type
parameters which could change nullability of types when instantiated.

For example:

  class A<T> {}

1. instantiator type arguments [int], instantiating A<T?> results in
   [int?] type arguments vector, so instantiator type arguments should
   not be reused.

2. instantiator type arguments [int], instantiating A<T*> results in
   [int*] type arguments vector so instantiator type arguments should
   not be reused.

Change-Id: I1e041486829e8ac0cfd3ce59d0ec5164a0f3724c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136709
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2020-02-20 23:39:46 +00:00
..
bin [vm/concurrency] Share [Heap] and [SharedClassTable] between all isolates within one isolate group 2020-02-20 21:08:35 +00:00
docs [vm/docs] Publish "Introduction to Dart VM" source and build tools. 2020-02-04 09:04:32 +00:00
include Revert "Reland "[ VM ] Removed Dart_Allocate, Dart_AllocateWithNativeFields, and Dart_InvokeConstructor from embedding API"" 2020-02-19 09:28:29 +00:00
lib [vm/ffi] Change internal loads and stores to take byteOffesets 2020-02-18 12:16:16 +00:00
llvm_codegen [llvm_codegen] Use exclusively SExpression support from VM and nothing else. 2019-10-30 16:27:04 +00:00
observatory [vm/concurrency] Share [Heap] and [SharedClassTable] between all isolates within one isolate group 2020-02-20 21:08:35 +00:00
platform [vm/aot] Fix broken benchmarks 2020-02-19 20:49:29 +00:00
tests/vm [tests] Change the test we use to detect issues with instruction deduplication. 2020-02-20 13:22:38 +00:00
third_party
tools [vm/ffi] Change internal loads and stores to take byteOffesets 2020-02-18 12:16:16 +00:00
vm [vm/nnbd] Fix TypeArguments::IsUninstantiatedIdentity for NNBD 2020-02-20 23:39:46 +00:00
.clang-tidy
.gitignore
BUILD.gn [vm] Reland the flag flip behind the --nnbd build flag 2020-01-30 23:41:19 +00:00
codereview.settings
configs.gni [VM/runtime] - Remove DART_NO_SNAPSHOT 2020-01-08 18:56:21 +00:00
CPPLINT.cfg
PRESUBMIT.py
runtime_args.gni [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00