|  | // 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; | 
|  | } | 
|  | } |