c878108cc8
All non-pubspec changes generated by `dart format pkg/compiler`. Change-Id: Iadaa70974816d96ccb47813fe72d5a2bb83d6bda Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/400181 Reviewed-by: Nate Biggs <natebiggs@google.com> Commit-Queue: Mayank Patke <fishythefish@google.com>
135 lines
3.0 KiB
Dart
135 lines
3.0 KiB
Dart
// 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';
|
|
|
|
@Native('Class')
|
|
class Class {
|
|
factory Class() {
|
|
throw UnsupportedError("Not supported");
|
|
}
|
|
|
|
@pragma('dart2js:noElision')
|
|
int? field1;
|
|
|
|
int? field2;
|
|
|
|
/*member: Class.method1:
|
|
calls=[method1(a,b,c)],
|
|
params=4,
|
|
stubs=[
|
|
method1$1:method1(a),
|
|
method1$2:method1(a,b)]
|
|
*/
|
|
@pragma('dart2js:noInline')
|
|
method1(a, [b, c])
|
|
// ignore: NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE
|
|
native;
|
|
|
|
/*member: Class.method2:
|
|
calls=[method2(a,b,c)],
|
|
params=4,
|
|
stubs=[
|
|
method2$1:method2(a),
|
|
method2$2$b:method2(a,b),
|
|
method2$2$c:method2(a,null,c)]
|
|
*/
|
|
@pragma('dart2js:noInline')
|
|
method2(a, {b, c})
|
|
// ignore: NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE
|
|
native;
|
|
|
|
// TODO(johnniwinther): Control the order of the named arguments. Currently
|
|
// we sort them lexicographically but that doesn't match the target
|
|
// expectations.
|
|
/*member: Class.method3:
|
|
calls=[method3(a,c,b)],
|
|
params=4,
|
|
stubs=[
|
|
method3$1:method3(a),
|
|
method3$2$b:method3(a,null,b),
|
|
method3$2$c:method3(a,c)]
|
|
*/
|
|
@pragma('dart2js:noInline')
|
|
method3(a, {c, b})
|
|
// ignore: NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE
|
|
native;
|
|
|
|
// TODO(johnniwinther): Control the order of the named arguments. Currently
|
|
// we sort them lexicographically but that doesn't match the target
|
|
// expectations.
|
|
/*member: Class.method4:
|
|
calls=[method4(a,c,d,b)],
|
|
params=5,
|
|
stubs=[
|
|
method4$1:method4(a),
|
|
method4$2$b:method4(a,null,null,b),
|
|
method4$2$c:method4(a,c),
|
|
method4$3$b$c:method4(a,c,null,b),
|
|
method4$3$b$d:method4(a,null,d,b),
|
|
method4$3$c$d:method4(a,c,d)]
|
|
*/
|
|
@pragma('dart2js:noInline')
|
|
method4(a, {c, d, b})
|
|
// ignore: NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE
|
|
native;
|
|
}
|
|
|
|
/*member: makeClass:params=0*/
|
|
@Creates('Class')
|
|
makeClass()
|
|
// ignore: NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE
|
|
native;
|
|
|
|
/*member: main:calls=[test(1),*],params=0*/
|
|
main() {
|
|
test(makeClass());
|
|
}
|
|
|
|
/*member: test:
|
|
assign=[field1,field2],
|
|
calls=[
|
|
method1$1(2),
|
|
method1$2(3),
|
|
method1$3(4),
|
|
method2$1(2),
|
|
method2$2$b(3),
|
|
method2$2$c(3),
|
|
method2$3$b$c(4),
|
|
method3$1(2),
|
|
method3$2$b(3),
|
|
method3$2$c(3),
|
|
method3$3$b$c(4),
|
|
method4$1(2),
|
|
method4$2$b(3),
|
|
method4$2$c(3),
|
|
method4$3$b$c(4),
|
|
method4$3$b$d(4),
|
|
method4$3$c$d(4)],
|
|
params=1
|
|
*/
|
|
@pragma('dart2js:noInline')
|
|
test(Class o) {
|
|
o.field1 = 42;
|
|
o.field2 = 42;
|
|
o.method1(0);
|
|
o.method1(0, 1);
|
|
o.method1(0, 1, 2);
|
|
o.method2(0);
|
|
o.method2(0, b: 1);
|
|
o.method2(0, b: 1, c: 2);
|
|
o.method2(0, c: 2);
|
|
o.method3(0);
|
|
o.method3(0, b: 1);
|
|
o.method3(0, b: 1, c: 2);
|
|
o.method3(0, c: 2);
|
|
o.method4(0);
|
|
o.method4(0, b: 1);
|
|
o.method4(0, b: 1, c: 2);
|
|
o.method4(0, c: 2);
|
|
o.method4(0, c: 2, d: 3);
|
|
o.method4(0, b: 1, d: 3);
|
|
}
|