blob: c0b274a8acea621dbbe40ca6111ad866177cfa9b [file] [log] [blame]
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*class: Super:
maxInheritancePath=1,
superclasses=[Object]
*/
abstract class Super {
/*member: Super.extendedConcreteMethod#cls:
classBuilder=Super,
isSourceDeclaration
*/
void extendedConcreteMethod() {}
/*member: Super.extendedAbstractMethod#int:
classBuilder=Super,
isSourceDeclaration
*/
void extendedAbstractMethod();
/*member: Super.extendedConcreteImplementedMethod#cls:
classBuilder=Super,
isSourceDeclaration
*/
void extendedConcreteImplementedMethod() {}
/*member: Super.extendedAbstractImplementedMethod#int:
classBuilder=Super,
isSourceDeclaration
*/
void extendedAbstractImplementedMethod();
/*member: Super.extendedConcreteImplementedMultipleMethod#cls:
classBuilder=Super,
isSourceDeclaration
*/
void extendedConcreteImplementedMultipleMethod() {}
/*member: Super.extendedAbstractImplementedMultipleMethod#int:
classBuilder=Super,
isSourceDeclaration
*/
void extendedAbstractImplementedMultipleMethod();
}
/*class: Interface1:
maxInheritancePath=1,
superclasses=[Object]
*/
class Interface1 {
/*member: Interface1.extendedConcreteImplementedMethod#cls:
classBuilder=Interface1,
isSourceDeclaration
*/
void extendedConcreteImplementedMethod() {}
/*member: Interface1.extendedAbstractImplementedMethod#cls:
classBuilder=Interface1,
isSourceDeclaration
*/
void extendedAbstractImplementedMethod() {}
/*member: Interface1.extendedConcreteImplementedMultipleMethod#cls:
classBuilder=Interface1,
isSourceDeclaration
*/
void extendedConcreteImplementedMultipleMethod() {}
/*member: Interface1.extendedAbstractImplementedMultipleMethod#cls:
classBuilder=Interface1,
isSourceDeclaration
*/
void extendedAbstractImplementedMultipleMethod() {}
}
/*class: Interface2:
maxInheritancePath=1,
superclasses=[Object]
*/
class Interface2 {
/*member: Interface2.extendedConcreteImplementedMultipleMethod#cls:
classBuilder=Interface2,
isSourceDeclaration
*/
void extendedConcreteImplementedMultipleMethod() {}
/*member: Interface2.extendedAbstractImplementedMultipleMethod#cls:
classBuilder=Interface2,
isSourceDeclaration
*/
void extendedAbstractImplementedMultipleMethod() {}
}
/*class: AbstractClass:
interfaces=[
Interface1,
Interface2],
maxInheritancePath=2,
superclasses=[
Super,
Object]
*/
abstract class AbstractClass extends Super implements Interface1, Interface2 {
/*member: AbstractClass.extendedConcreteMethod#cls:
classBuilder=Super,
isSourceDeclaration
*/
/*member: AbstractClass.extendedConcreteImplementedMethod#cls:
classBuilder=AbstractClass,
isSynthesized,
member=Super.extendedConcreteImplementedMethod
*/
/*member: AbstractClass.extendedConcreteImplementedMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedConcreteImplementedMethod,
Super.extendedConcreteImplementedMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMethod
*/
/*member: AbstractClass.extendedConcreteImplementedMultipleMethod#cls:
classBuilder=AbstractClass,
isSynthesized,
member=Super.extendedConcreteImplementedMultipleMethod
*/
/*member: AbstractClass.extendedConcreteImplementedMultipleMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedConcreteImplementedMultipleMethod,
Interface2.extendedConcreteImplementedMultipleMethod,
Super.extendedConcreteImplementedMultipleMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMultipleMethod
*/
/*member: AbstractClass.extendedAbstractMethod#int:
classBuilder=Super,
isSourceDeclaration
*/
/*member: AbstractClass.extendedAbstractImplementedMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedAbstractImplementedMethod,
Super.extendedAbstractImplementedMethod],
isSynthesized,
member=Super.extendedAbstractImplementedMethod
*/
/*member: AbstractClass.extendedAbstractImplementedMultipleMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedAbstractImplementedMultipleMethod,
Interface2.extendedAbstractImplementedMultipleMethod,
Super.extendedAbstractImplementedMultipleMethod],
isSynthesized,
member=Super.extendedAbstractImplementedMultipleMethod
*/
}
/*class: ConcreteSub:
abstractMembers=[
AbstractClass.extendedAbstractImplementedMethod,
AbstractClass.extendedAbstractImplementedMultipleMethod,
Super.extendedAbstractMethod],
interfaces=[
Interface1,
Interface2],
maxInheritancePath=3,
superclasses=[
AbstractClass,
Object,
Super]
*/
class ConcreteSub extends AbstractClass {
/*member: ConcreteSub.extendedConcreteMethod#cls:
classBuilder=Super,
isSourceDeclaration
*/
/*member: ConcreteSub.extendedConcreteImplementedMethod#cls:
classBuilder=ConcreteSub,
inherited-implements=[AbstractClass.extendedConcreteImplementedMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMethod
*/
/*member: ConcreteSub.extendedConcreteImplementedMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedConcreteImplementedMethod,
Super.extendedConcreteImplementedMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMethod
*/
/*member: ConcreteSub.extendedConcreteImplementedMultipleMethod#cls:
classBuilder=ConcreteSub,
inherited-implements=[AbstractClass.extendedConcreteImplementedMultipleMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMultipleMethod
*/
/*member: ConcreteSub.extendedConcreteImplementedMultipleMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedConcreteImplementedMultipleMethod,
Interface2.extendedConcreteImplementedMultipleMethod,
Super.extendedConcreteImplementedMultipleMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMultipleMethod
*/
/*member: ConcreteSub.extendedAbstractMethod#int:
classBuilder=Super,
isSourceDeclaration
*/
/*member: ConcreteSub.extendedAbstractImplementedMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedAbstractImplementedMethod,
Super.extendedAbstractImplementedMethod],
isSynthesized,
member=Super.extendedAbstractImplementedMethod
*/
/*member: ConcreteSub.extendedAbstractImplementedMultipleMethod#int:
classBuilder=AbstractClass,
declarations=[
Interface1.extendedAbstractImplementedMultipleMethod,
Interface2.extendedAbstractImplementedMultipleMethod,
Super.extendedAbstractImplementedMultipleMethod],
isSynthesized,
member=Super.extendedAbstractImplementedMultipleMethod
*/
}
/*class: ConcreteClass:
abstractMembers=[
Interface1.extendedAbstractImplementedMethod,
Interface1.extendedAbstractImplementedMultipleMethod,
Interface2.extendedAbstractImplementedMultipleMethod,
Super.extendedAbstractImplementedMethod,
Super.extendedAbstractImplementedMultipleMethod,
Super.extendedAbstractMethod],
interfaces=[
Interface1,
Interface2],
maxInheritancePath=2,
superclasses=[
Object,
Super]
*/
class ConcreteClass extends Super implements Interface1, Interface2 {
/*member: ConcreteClass.extendedConcreteMethod#cls:
classBuilder=Super,
isSourceDeclaration
*/
/*member: ConcreteClass.extendedConcreteImplementedMethod#cls:
classBuilder=ConcreteClass,
inherited-implements=[ConcreteClass.extendedConcreteImplementedMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMethod
*/
/*member: ConcreteClass.extendedConcreteImplementedMethod#int:
classBuilder=ConcreteClass,
declarations=[
Interface1.extendedConcreteImplementedMethod,
Super.extendedConcreteImplementedMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMethod
*/
/*member: ConcreteClass.extendedConcreteImplementedMultipleMethod#cls:
classBuilder=ConcreteClass,
inherited-implements=[ConcreteClass.extendedConcreteImplementedMultipleMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMultipleMethod
*/
/*member: ConcreteClass.extendedConcreteImplementedMultipleMethod#int:
classBuilder=ConcreteClass,
declarations=[
Interface1.extendedConcreteImplementedMultipleMethod,
Interface2.extendedConcreteImplementedMultipleMethod,
Super.extendedConcreteImplementedMultipleMethod],
isSynthesized,
member=Super.extendedConcreteImplementedMultipleMethod
*/
/*member: ConcreteClass.extendedAbstractMethod#int:
classBuilder=Super,
isSourceDeclaration
*/
/*member: ConcreteClass.extendedAbstractImplementedMethod#int:
classBuilder=ConcreteClass,
declarations=[
Interface1.extendedAbstractImplementedMethod,
Super.extendedAbstractImplementedMethod],
isSynthesized,
member=Super.extendedAbstractImplementedMethod
*/
/*member: ConcreteClass.extendedAbstractImplementedMultipleMethod#int:
classBuilder=ConcreteClass,
declarations=[
Interface1.extendedAbstractImplementedMultipleMethod,
Interface2.extendedAbstractImplementedMultipleMethod,
Super.extendedAbstractImplementedMultipleMethod],
isSynthesized,
member=Super.extendedAbstractImplementedMultipleMethod
*/
}