blob: 3ae5f30f92cbc711c82d967479be0f70c7d67cea [file] [log] [blame]
// Copyright (c) 2022, 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.
/*library:
Definition Order:
A:SupertypesMacro.new()
B:SupertypesMacro.new()
M:SupertypesMacro.new()
C:SupertypesMacro.new()
Definitions:
import 'dart:core' as prefix0;
augment class A {
augment prefix0.String getSuperClass() {
return "null";
}
}
augment class B {
augment prefix0.String getSuperClass() {
return "A";
}
}
augment class M {
augment prefix0.String getSuperClass() {
return "null";
}
}
augment class C {
augment prefix0.String getSuperClass() {
return "A";
}
}*/
import 'package:macro/macro.dart';
/*class: A:
definitions:
augment class A {
augment String getSuperClass() {
return "null";
}
}*/
@SupertypesMacro()
class A {
external String getSuperClass();
}
/*class: B:
definitions:
augment class B {
augment String getSuperClass() {
return "A";
}
}*/
@SupertypesMacro()
class B extends A {
external String getSuperClass();
}
/*class: M:
definitions:
augment class M {
augment String getSuperClass() {
return "null";
}
}*/
@SupertypesMacro()
mixin M {
external String getSuperClass();
}
/*class: C:
definitions:
augment class C {
augment String getSuperClass() {
return "A";
}
}*/
@SupertypesMacro()
class C extends A with M {
external String getSuperClass();
}