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

import "org-dartlang-testcase:///value_class_support_lib.dart";

@val::valueClass
class Animal extends core::Object {
  final field core::int numberOfLegs;
  synthetic constructor •() → self::Animal
    ;
}
class Cat extends self::Animal {
  synthetic constructor •() → self::Cat
    ;
}
static method main() → dynamic
  ;

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

class JenkinsSmiHash extends core::Object {
  synthetic constructor •() → val::JenkinsSmiHash
    ;
  static method combine(core::int hash, core::int value) → core::int
    ;
  static method finish(core::int hash) → core::int
    ;
}
static const field core::String valueClass = "valueClass";


Extra constant evaluation status:
Evaluated: StaticGet @ org-dartlang-testcase:///non_value_extends_value_error.dart:7:2 -> StringConstant("valueClass")
Extra constant evaluation: evaluated: 1, effectively constant: 1
