blob: a64e3472c68f92120ff3ca3f7b28708250629851 [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
// VMOptions=--verify-entry-points=true
// SharedObjects=entrypoints_verification_test
import 'dart:ffi';
import './dylib_utils.dart';
main() {
final helper = dlopenPlatformSpecific('entrypoints_verification_test');
final runTest =
helper.lookupFunction<Void Function(), void Function()>('RunTests');
runTest();
new C();
new D();
}
class C {}
@pragma("vm:entry-point")
class D {
D();
@pragma("vm:entry-point")
D.defined();
@pragma("vm:entry-point")
factory D.fact() => E.ctor();
void fn0() {}
@pragma("vm:entry-point")
void fn1() {}
@pragma("vm:entry-point", "get")
void fn1_get() {}
@pragma("vm:entry-point", "call")
void fn1_call() {}
static void fn2() {}
@pragma("vm:entry-point")
static void fn3() {}
@pragma("vm:entry-point", "call")
static void fn3_call() {}
@pragma("vm:entry-point", "get")
static void fn3_get() {}
void Function()? fld0;
@pragma("vm:entry-point")
void Function()? fld1;
@pragma("vm:entry-point", "get")
void Function()? fld2;
@pragma("vm:entry-point", "set")
void Function()? fld3;
}
void fn0() {}
@pragma("vm:entry-point")
void fn1() {}
@pragma("vm:entry-point", "get")
void fn1_get() {}
@pragma("vm:entry-point", "call")
void fn1_call() {}
class E extends D {
E.ctor();
}
@pragma("vm:entry-point")
class F {
static void Function()? fld0;
@pragma("vm:entry-point")
static void Function()? fld1;
@pragma("vm:entry-point", "get")
static void Function()? fld2;
@pragma("vm:entry-point", "set")
static void Function()? fld3;
}
void Function()? fld0;
@pragma("vm:entry-point")
void Function()? fld1;
@pragma("vm:entry-point", "get")
void Function()? fld2;
@pragma("vm:entry-point", "set")
void Function()? fld3;