dart-sdk/runtime
Daco Harkes c1467ab5d3 [vm/ffi] Change asFunction and lookFunction to extension methods
This prevents them from being called dynamically.
Moreover, it prevents asFunction from being called on a non-NativeFunction type argument, simplifying the amount of manual checks.

Note that this CL had to change the CFE and analzyer, and their tests (including mock_sdk) as well.

This can potentially be a breaking change, as the extension methods are only visible when `dart:ffi` is imported, while methods on objects are always visible.

Issue: https://github.com/dart-lang/sdk/issues/35903

Change-Id: I1e291f154228d5d9a34b21a022088bf493f6557d
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-mac-debug-x64-try,analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135463
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-02-14 15:46:37 +00:00
..
bin Revert "[vm] AOT blobs snapshots are obsolete. Remove dead code." 2020-02-14 06:40:31 +00:00
docs [vm/docs] Publish "Introduction to Dart VM" source and build tools. 2020-02-04 09:04:32 +00:00
include Revert "[vm] AOT blobs snapshots are obsolete. Remove dead code." 2020-02-14 06:40:31 +00:00
lib Revert "[vm] AOT blobs snapshots are obsolete. Remove dead code." 2020-02-14 06:40:31 +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/async] Mark _AsyncAwaitCompleter.start and it's parent function non-visible. 2020-02-14 10:29:15 +00:00
platform Reland "[ VM / DartDev ] Added support for format and pub commands via standalone VM" 2020-02-06 00:04:09 +00:00
tests/vm [vm/async] Mark _AsyncAwaitCompleter.start and it's parent function non-visible. 2020-02-14 10:29:15 +00:00
third_party Mass format python with yapf 2019-08-05 20:34:31 +00:00
tools Reland "[ DartFuzz ] Prevent generated programs from explicitly throwing OutOfMemoryError" 2020-02-10 23:57:21 +00:00
vm [vm/ffi] Change asFunction and lookFunction to extension methods 2020-02-14 15:46:37 +00:00
.clang-tidy [vm] Add runtime/.clang-tidy file 2019-09-05 09:51:13 +00:00
.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 Mass format python with yapf 2019-08-05 20:34:31 +00:00
runtime_args.gni [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00