blob: 90a51da48cc97fa8407de741286e6b9ab83ef80c [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/no_such_method_forwarders/access_no_nsm.dart:9:7: Error: The non-abstract class 'SubClass2' is missing implementations for these members:
// - SuperClass.accessibleMethod
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class SubClass2 implements SuperClass {}
// ^^^^^^^^^
// pkg/front_end/testcases/no_such_method_forwarders/access_no_nsm_lib.dart:9:8: Context: 'SuperClass.accessibleMethod' is defined here.
// void accessibleMethod() {}
// ^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/no_such_method_forwarders/access_no_nsm.dart:15:7: Error: The non-abstract class 'SubSubClass2' is missing implementations for these members:
// - SuperClass.accessibleMethod
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class SubSubClass2 extends SubClass2 {}
// ^^^^^^^^^^^^
// pkg/front_end/testcases/no_such_method_forwarders/access_no_nsm_lib.dart:9:8: Context: 'SuperClass.accessibleMethod' is defined here.
// void accessibleMethod() {}
// ^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/no_such_method_forwarders/access_no_nsm.dart:27:7: Error: The non-abstract class 'SubAbstractSubClass2' is missing implementations for these members:
// - SuperClass.accessibleMethod
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class SubAbstractSubClass2 extends AbstractSubClass2 {}
// ^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/no_such_method_forwarders/access_no_nsm_lib.dart:9:8: Context: 'SuperClass.accessibleMethod' is defined here.
// void accessibleMethod() {}
// ^^^^^^^^^^^^^^^^
//
import self as self;
import "access_no_nsm_lib.dart" as acc;
import "dart:core" as core;
import "org-dartlang-testcase:///access_no_nsm_lib.dart";
class SubClass1 extends acc::SuperClass {
synthetic constructor •() self::SubClass1
;
}
class SubClass2 extends core::Object implements acc::SuperClass {
synthetic constructor •() self::SubClass2
;
no-such-method-forwarder method _inaccessibleMethod1() void
return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#_inaccessibleMethod1, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
}
abstract class _SubClass3&Object&SuperClass = core::Object with acc::SuperClass /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_SubClass3&Object&SuperClass
: super core::Object::•()
;
mixin-super-stub method _inaccessibleMethod1() void
return super.{acc::SuperClass::_inaccessibleMethod1}();
mixin-super-stub method accessibleMethod() void
return super.{acc::SuperClass::accessibleMethod}();
}
class SubClass3 extends self::_SubClass3&Object&SuperClass {
synthetic constructor •() self::SubClass3
;
}
class SubSubClass1 extends self::SubClass1 {
synthetic constructor •() self::SubSubClass1
;
}
class SubSubClass2 extends self::SubClass2 {
synthetic constructor •() self::SubSubClass2
;
}
class SubSubClass3 extends self::SubClass3 {
synthetic constructor •() self::SubSubClass3
;
}
abstract class AbstractSubClass1 extends acc::SuperClass {
synthetic constructor •() self::AbstractSubClass1
;
}
abstract class AbstractSubClass2 extends core::Object implements acc::SuperClass {
synthetic constructor •() self::AbstractSubClass2
;
}
abstract class _AbstractSubClass3&Object&SuperClass = core::Object with acc::SuperClass /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_AbstractSubClass3&Object&SuperClass
: super core::Object::•()
;
mixin-super-stub method _inaccessibleMethod1() void
return super.{acc::SuperClass::_inaccessibleMethod1}();
mixin-super-stub method accessibleMethod() void
return super.{acc::SuperClass::accessibleMethod}();
}
abstract class AbstractSubClass3 extends self::_AbstractSubClass3&Object&SuperClass {
synthetic constructor •() self::AbstractSubClass3
;
}
class SubAbstractSubClass1 extends self::AbstractSubClass1 {
synthetic constructor •() self::SubAbstractSubClass1
;
}
class SubAbstractSubClass2 extends self::AbstractSubClass2 {
synthetic constructor •() self::SubAbstractSubClass2
;
no-such-method-forwarder method _inaccessibleMethod1() void
return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#_inaccessibleMethod1, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
}
class SubAbstractSubClass3 extends self::AbstractSubClass3 {
synthetic constructor •() self::SubAbstractSubClass3
;
}
library;
import self as acc;
import "dart:core" as core;
import "org-dartlang-testcase:///access_no_nsm.dart";
mixin class SuperClass extends core::Object {
synthetic constructor •() acc::SuperClass
;
method _inaccessibleMethod1() void
;
method accessibleMethod() void
;
}
Extra constant evaluation status:
Evaluated: SymbolLiteral @ org-dartlang-testcase:///access_no_nsm.dart:9:7 -> SymbolConstant(#_inaccessibleMethod1)
Evaluated: ListLiteral @ org-dartlang-testcase:///access_no_nsm.dart:9:7 -> ListConstant(const <Type*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///access_no_nsm.dart:9:7 -> ListConstant(const <dynamic>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///access_no_nsm.dart:9:7 -> MapConstant(const <Symbol*, dynamic>{})
Evaluated: SymbolLiteral @ org-dartlang-testcase:///access_no_nsm.dart:27:7 -> SymbolConstant(#_inaccessibleMethod1)
Evaluated: ListLiteral @ org-dartlang-testcase:///access_no_nsm.dart:27:7 -> ListConstant(const <Type*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///access_no_nsm.dart:27:7 -> ListConstant(const <dynamic>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///access_no_nsm.dart:27:7 -> MapConstant(const <Symbol*, dynamic>{})
Extra constant evaluation: evaluated: 22, effectively constant: 8