library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

part private_members_part.dart;
class _Class extends core::Object { // from org-dartlang-testcase:///private_members_part.dart
  field core::int? _#_Class#_privateField1 = null;
  field core::int? _#_Class#_privateField2 = null;
  field core::bool _#_Class#_privateField2#isSet = false;
  field core::int? _#_Class#_privateFinalField1 = null;
  field core::int? _#_Class#_privateFinalField2 = null;
  field core::bool _#_Class#_privateFinalField2#isSet = false;
  synthetic constructor •() → self::_Class
    : super core::Object::•()
    ;
  get _privateField1() → core::int
    return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1}{core::int?} in #t1 == null ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void
    this.{self::_Class::_#_Class#_privateField1} = library org-dartlang-testcase:///private_members_part.dart::_privateField1#param;
  get _privateField2() → core::int? {
    if(!this.{self::_Class::_#_Class#_privateField2#isSet}{core::bool}) {
      this.{self::_Class::_#_Class#_privateField2} = 1;
      this.{self::_Class::_#_Class#_privateField2#isSet} = true;
    }
    return this.{self::_Class::_#_Class#_privateField2}{core::int?};
  }
  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void {
    this.{self::_Class::_#_Class#_privateField2#isSet} = true;
    this.{self::_Class::_#_Class#_privateField2} = library org-dartlang-testcase:///private_members_part.dart::_privateField2#param;
  }
  get _privateFinalField1() → core::int
    return let final core::int? #t2 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t2 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t2{core::int};
  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void
    this.{self::_Class::_#_Class#_privateFinalField1} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param;
  get _privateFinalField2() → core::int? {
    if(!this.{self::_Class::_#_Class#_privateFinalField2#isSet}{core::bool}) {
      this.{self::_Class::_#_Class#_privateFinalField2} = 1;
      this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
    }
    return this.{self::_Class::_#_Class#_privateFinalField2}{core::int?};
  }
  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void {
    this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
    this.{self::_Class::_#_Class#_privateFinalField2} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param;
  }
}
extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
  static field _privateField1 = self::_#_Extension|_privateField1;
  static get _privateField1 = get self::_Extension|_privateField1;
  static set _privateField1 = set self::_Extension|_privateField1;
  static field _privateField2 = self::_#_Extension|_privateField2;
  static field _privateField2 = self::_#_Extension|_privateField2#isSet;
  static get _privateField2 = get self::_Extension|_privateField2;
  static set _privateField2 = set self::_Extension|_privateField2;
  static field _privateFinalField1 = self::_#_Extension|_privateFinalField1;
  static get _privateFinalField1 = get self::_Extension|_privateFinalField1;
  static set _privateFinalField1 = set self::_Extension|_privateFinalField1;
  static field _privateFinalField2 = self::_#_Extension|_privateFinalField2;
  static field _privateFinalField2 = self::_#_Extension|_privateFinalField2#isSet;
  static get _privateFinalField2 = get self::_Extension|_privateFinalField2;
  static set _privateFinalField2 = set self::_Extension|_privateFinalField2;
}
static field core::int? _#_Extension|_privateField1 = null /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::int? _#_Extension|_privateField2 = null /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::bool _#_Extension|_privateField2#isSet = false /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::int? _#_Extension|_privateFinalField1 = null /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::int? _#_Extension|_privateFinalField2 = null /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::bool _#_Extension|_privateFinalField2#isSet = false /* from org-dartlang-testcase:///private_members_part.dart */;
static method main() → dynamic {
  self::_Class c = new self::_Class::•();
  c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1}{core::int};
  c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2}{core::int?};
  c.{self::_Class::_privateFinalField1}{core::int};
  c.{self::_Class::_privateFinalField2}{core::int?};
  self::_Extension|_privateField1 = self::_Extension|_privateField1;
  self::_Extension|_privateField2 = self::_Extension|_privateField2;
  self::_Extension|_privateFinalField1;
  self::_Extension|_privateFinalField2;
}
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1() → core::int
  return let final core::int? #t3 = self::_#_Extension|_privateField1 in #t3 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t3{core::int};
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void
  self::_#_Extension|_privateField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param;
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
  if(!self::_#_Extension|_privateField2#isSet) {
    self::_#_Extension|_privateField2 = 1;
    self::_#_Extension|_privateField2#isSet = true;
  }
  return self::_#_Extension|_privateField2;
}
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void {
  self::_#_Extension|_privateField2#isSet = true;
  self::_#_Extension|_privateField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param;
}
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int
  return let final core::int? #t4 = self::_#_Extension|_privateFinalField1 in #t4 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t4{core::int};
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void
  self::_#_Extension|_privateFinalField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param;
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
  if(!self::_#_Extension|_privateFinalField2#isSet) {
    self::_#_Extension|_privateFinalField2 = 1;
    self::_#_Extension|_privateFinalField2#isSet = true;
  }
  return self::_#_Extension|_privateFinalField2;
}
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void {
  self::_#_Extension|_privateFinalField2#isSet = true;
  self::_#_Extension|_privateFinalField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param;
}
