blob: f43c4d8611c283e48c562323e3a203566622161c [file] [log] [blame]
// Copyright (c) 2011, 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.
//
// Test that a "factory provider" interface factory only
// provides the constructors declared in the interface.
interface Interface default FactoryProvider {
Interface.some_name(var secret);
}
class SomeImplementation implements Interface {
SomeImplementation() {}
}
class FactoryProvider {
factory Interface.some_name() {
return new SomeImplementation();
}
factory Interface.wrong_name() {
return new SomeImplementation();
}
static testMain() {
// We should not be able to find Interface1.wrong_name().
new Interface.wrong_name();
}
}
main() {
FactoryProvider.testMain();
}