Files
Mayank Patke f79ed9301b [dart2js] Remove remaining language version overrides
Now that dart2js only takes migrated files as input, all tests should
use the current language version.

Change-Id: I6c84850f5786aeac04154b67bd7a3c19083c8bba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345344
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2024-01-23 01:26:09 +00:00

70 lines
1.8 KiB
Dart

// Copyright (c) 2022, 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.
/*member: main:**/
void main() {
final x1 = XX();
x1.assignUseBar();
x1.assignUseFoo();
x1.useBar();
x1.useFoo();
}
class XX {
late int foo;
late final int bar;
@pragma('dart2js:noInline')
/*member: XX.useFoo:
SsaLateFieldOptimizer.pre=[HFieldGet=3,HLateReadCheck=3],
SsaLateFieldOptimizer.post=[HFieldGet=3,HLateReadCheck=1],
*/
void useFoo() {
use(foo, foo, effect(), foo, foo, effect(), foo, foo);
}
@pragma('dart2js:noInline')
/*member: XX.useBar:
SsaLateFieldOptimizer.pre=[HFieldGet=3,HLateReadCheck=3],
SsaLateFieldOptimizer.post=[HFieldGet=1,HLateReadCheck=1],
*/
void useBar() {
use(bar, bar, effect(), bar, bar, effect(), bar, bar);
}
@pragma('dart2js:noInline')
/*member: XX.assignUseFoo:
SsaLateFieldOptimizer.pre=[HFieldGet=3,HLateReadCheck=3],
SsaLateFieldOptimizer.post=[HFieldGet=3],
*/
void assignUseFoo() {
foo = 200;
use(effect(), foo, effect(), foo, foo, effect(), foo, foo);
}
@pragma('dart2js:noInline')
/*member: XX.assignUseBar:
SsaLateFieldOptimizer.pre=
[HFieldGet=4,HLateReadCheck=3,HLateWriteOnceCheck=1],
SsaLateFieldOptimizer.post=[HFieldGet=1,HLateWriteOnceCheck=1],
*/
void assignUseBar() {
bar = 100;
use(effect(), bar, effect(), bar, bar, effect(), bar, bar);
}
@pragma('dart2js:noInline')
/*member: XX.use:**/
void use(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) {
print([a1, a2, a3, a4, a5, a6, a7, a8]);
}
@pragma('dart2js:noInline')
/*member: XX.effect:**/
int effect() {
foo++;
return 0;
}
}