// 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.

/*member: main:[]*/
main() {
  inlineSetter();
}

class Class1 {
  var field;
  /*member: Class1.:[]*/
  @pragma('dart2js:noInline')
  Class1();
  /*member: Class1.setter=:[inlineSetter]*/
  set setter(value) {
    field = value;
  }
}

/*member: inlineSetter:[]*/
@pragma('dart2js:noInline')
inlineSetter() {
  Class1 c = Class1();
  c.setter = 42;
}
