blob: 36197db1249462a7e876c2fb68e1b26630c90d7b [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.
// ignore: import_internal_library
import 'dart:_js_helper';
/*element: Class.:params=1*/
@Native('Class')
class Class {
/*element: Class.method1:calls=[method1()],params=1*/
@pragma('dart2js:noInline')
method1([a, b])
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method2:calls=[method2(a)],params=2*/
@pragma('dart2js:noInline')
method2([a, b])
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method3:calls=[method3(a,b)],params=3*/
@pragma('dart2js:noInline')
method3([a, b])
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method4:
calls=[method4(a,b)],
params=3,
stubs=[method4$0:method4()]
*/
@pragma('dart2js:noInline')
method4([a, b])
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method5:
calls=[method5(a,b)],
params=3,
stubs=[method5$1:method5(a)]
*/
@pragma('dart2js:noInline')
method5([a, b])
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method6:
calls=[method6(a,b,c)],
params=4,
stubs=[method6$1:method6(a)]
*/
@pragma('dart2js:noInline')
method6(a, {b, c})
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method7:
calls=[method7(a,b,c)],
params=4,
stubs=[method7$2$b:method7(a,b)]
*/
@pragma('dart2js:noInline')
method7(a, {b, c})
// ignore: native_function_body_in_non_sdk_code
native;
/*element: Class.method8:
calls=[method8(a,b,c)],
params=4,
stubs=[
method8$2$b:method8(a,b),
method8$2$c:method8(a,null,c)]
*/
@pragma('dart2js:noInline')
method8(a, {b, c})
// ignore: native_function_body_in_non_sdk_code
native;
}
/*element: test:
calls=[
method1$0(1),
method2$1(2),
method3$2(3),
method4$0(1),
method4$2(3),
method5$1(2),
method5$2(3),
method6$1(2),
method6$3$b$c(4),
method7$2$b(3),
method7$3$b$c(4),
method8$2$b(3),
method8$2$c(3)],
params=1
*/
@pragma('dart2js:noInline')
test(Class c) {
c.method1();
c.method2(null);
c.method3(null, null);
c.method4();
c.method4(null, null);
c.method5(null);
c.method5(null, null);
c.method6(null);
c.method6(null, b: null, c: null);
c.method7(null, b: null);
c.method7(null, b: null, c: null);
c.method8(null, b: null);
c.method8(null, c: null);
}
/*element: main:calls=*,params=0*/
main() {
test(new Class());
}