blob: 42b4a7ed100689c3038d10f1e1f2b8acf6ee754e [file] [log] [blame]
/*
* Copyright (c) 2018, 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.
*/
/**
* @assertion The on word is not reserved in any way, it is a context-specific
* keyword that has a specific meaning when occuring after the type name of a
* mixin declaration.
*
* @description Checks that the 'on' word can be used as a type name after 'on'
* and after 'implements' in the mixin declaration.
* @author ngl@unipro.ru
*/
class I {}
class J {}
class B {}
class C {
}
class on {}
mixin M1 on on, C implements I, J {}
mixin M2 on B, on implements I, J {}
mixin M3 on B, C implements on, J {}
mixin M4 on B, C implements I, on {}
class A implements B, C, I, J, on {}
class MA1 extends A with M1 {
}
class MA2 extends A with M2 {
}
class MA3 extends A with M3 {
}
class MA4 extends A with M4 {
}
main() {
new MA1();
new MA2();
new MA3();
new MA4();
}