library /*isNonNullableByDefault*/;
import self as self;

import "dart:test";

static method main() → dynamic
  ;

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

import "dart:_internal";

@_in::patch
class Class extends core::Object {
  final field core::bool defaultValue /* from org-dartlang-testcase:///patch_lib.dart */;
  const constructor _internal({core::bool defaultValue = false}) → self2::Class
    : self2::Class::defaultValue = defaultValue, super core::Object::•()
    ;
  @_in::patch
  external static factory fact({core::bool defaultValue}) → self2::Class;
  @_in::patch
  external static factory constFact({core::bool defaultValue = true}) → self2::Class;
}


Extra constant evaluation status:
Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:6:49 -> InstanceConstant(const _Patch{})
Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:8:27 -> InstanceConstant(const _Patch{})
Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
Extra constant evaluation: evaluated: 4, effectively constant: 3
