| // Copyright (c) 2017, 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:[]*/ | 
 | main() { | 
 |   forceInlineDynamic(); | 
 |   forceInlineOptional(); | 
 | } | 
 |  | 
 | //////////////////////////////////////////////////////////////////////////////// | 
 | // Force inline a dynamic call. | 
 | //////////////////////////////////////////////////////////////////////////////// | 
 |  | 
 | class Class1 { | 
 |   /*member: Class1.:[]*/ | 
 |   @pragma('dart2js:noInline') | 
 |   Class1(); | 
 |  | 
 |   /*member: Class1.method:[forceInlineDynamic]*/ | 
 |   @pragma('dart2js:tryInline') | 
 |   method() {} | 
 | } | 
 |  | 
 | /*member: forceInlineDynamic:[]*/ | 
 | @pragma('dart2js:noInline') | 
 | forceInlineDynamic() { | 
 |   new Class1().method(); | 
 | } | 
 |  | 
 | //////////////////////////////////////////////////////////////////////////////// | 
 | // Force inline a instance method with optional argument. | 
 | //////////////////////////////////////////////////////////////////////////////// | 
 |  | 
 | class Class2 { | 
 |   /*member: Class2.:[]*/ | 
 |   @pragma('dart2js:noInline') | 
 |   Class2(); | 
 |  | 
 |   /*member: Class2.method:[forceInlineOptional]*/ | 
 |   @pragma('dart2js:tryInline') | 
 |   method([x]) {} | 
 | } | 
 |  | 
 | /*member: forceInlineOptional:[]*/ | 
 | @pragma('dart2js:noInline') | 
 | forceInlineOptional() { | 
 |   new Class2().method(); | 
 | } |