// Copyright (c) 2012, 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. abstract class Interface { factory Interface() = Factory; factory Interface.withArg(T value) = Factory.withArg; } class Factory implements Interface { factory Factory() { return Factory._(); } factory Factory.withArg(T value) { return Factory._(); } Factory._(); } main() { new Interface(); new Interface.withArg(4); }