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

class W extends core::Object {
  field core::String native;
  constructor •() → self::W
    ;
}
class X extends core::Object {
  synthetic constructor •() → self::X
    ;
  method native() → core::String
    ;
}
abstract class Y1 extends core::Object {
  synthetic constructor •() → self::Y1
    ;
  abstract get native() → core::String;
}
class Y2 extends self::Y1 {
  synthetic constructor •() → self::Y2
    ;
  @core::override
  get native() → core::String
    ;
}
class Z extends core::Object {
  field core::String? f;
  synthetic constructor •() → self::Z
    ;
  set native(core::String s) → void
    ;
}
static method main() → dynamic
  ;


Extra constant evaluation status:
Evaluated: StaticGet @ org-dartlang-testcase:///native_as_name.dart:26:4 -> InstanceConstant(const _Override{})
Extra constant evaluation: evaluated: 1, effectively constant: 1
