|  | // Copyright (c) 2023, 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: getInt:[exact=JSUInt31]*/ | 
|  | int get getInt => 42; | 
|  |  | 
|  | /*member: foo:Union(null, [exact=JSString], [exact=JSUInt31])*/ | 
|  | foo() { | 
|  | dynamic local = 3; | 
|  | for ( | 
|  | int i = 0; | 
|  | i /*invoke: [subclass=JSPositiveInt]*/ < 10; | 
|  | i /*invoke: [subclass=JSPositiveInt]*/ ++ | 
|  | ) { | 
|  | switch (getInt) { | 
|  | case 42: | 
|  | break; | 
|  | default: | 
|  | local = 'hello'; | 
|  | } | 
|  | if (i /*invoke: [subclass=JSPositiveInt]*/ > 5) { | 
|  | return local; | 
|  | } | 
|  | } | 
|  | return null; | 
|  | } | 
|  |  | 
|  | /*member: main:[null]*/ | 
|  | void main() { | 
|  | foo(); | 
|  | } |