Files
sdk/pkg/compiler/test/inference/data/index_postfix.dart
T
Joshua Litt 20faaa5d94 [dart2js] Move dart2js unit tests to pkg/compiler/test.
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-28 18:51:11 +00:00

53 lines
1.6 KiB
Dart

// Copyright (c) 2018, 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.
// @dart = 2.7
/*member: main:[null]*/
main() {
listIndexPostfixIncrement();
listIndexPostfixDecrement();
superIndexPostfixIncrement();
}
/*member: listIndexPostfixIncrement:[subclass=JSPositiveInt]*/
listIndexPostfixIncrement() {
var list = [0];
return list
/*Container([exact=JSExtendableArray], element: [subclass=JSPositiveInt], length: 1)*/
/*update: Container([exact=JSExtendableArray], element: [subclass=JSPositiveInt], length: 1)*/
[0]
/*invoke: [subclass=JSPositiveInt]*/ ++;
}
/*member: listIndexPostfixDecrement:[subclass=JSInt]*/
listIndexPostfixDecrement() {
var list = [0];
return list
/*Container([exact=JSExtendableArray], element: [subclass=JSInt], length: 1)*/
/*update: Container([exact=JSExtendableArray], element: [subclass=JSInt], length: 1)*/
[0]
/*invoke: [subclass=JSInt]*/ --;
}
/*member: Super1.:[exact=Super1]*/
class Super1 {
/*member: Super1.[]:[exact=JSUInt31]*/
operator [](/*[exact=JSUInt31]*/ index) => 42;
/*member: Super1.[]=:[null]*/
operator []=(/*[exact=JSUInt31]*/ index, /*[subclass=JSUInt32]*/ value) {}
}
/*member: Class1.:[exact=Class1]*/
class Class1 extends Super1 {
/*member: Class1.method:[exact=JSUInt31]*/
method() => super[0] /*invoke: [exact=JSUInt31]*/ ++;
}
/*member: superIndexPostfixIncrement:[null]*/
superIndexPostfixIncrement() {
new Class1(). /*invoke: [exact=Class1]*/ method();
}