Open zoechi opened 10 years ago
abstract class BaseObject /*with GuiAttributes*/ { Map properties = { "top": 0.0, "left": 0.0 }; } class RectObject extends BaseObject { // width, height } class ImageObject extends RectObject { RectObject rect; ImageObject(this.rect); } class CircleObject extends BaseObject { // radius } abstract class GuiAttributes { bool showProperties = true; } class ExtendedRectObject = RectObject with GuiAttributes; class ExtendedCircleObject = CircleObject with GuiAttributes; class ExtendedImageObject = ImageObject with GuiAttributes;
bind(CircleObject, toImplementation: ExtendedCircleObject); bind(RectObject, toImplementation: ExtendedRectObject); bind(ImageObject, toImplementation: ExtendedImageObject);
injector.get(ImageObject)
leads to this stack trace
/home/zoechi/source/3rdparty/google/darteditor/dart-sdk/bin/dart --enable-checked-mode --debug:39396 main.dart Breaking on exception: object of type NoProviderError Unhandled exception: Illegal argument(s): The 'rect' parameter must be typed (resolving ImageObject) #0 DynamicInjector.newInstanceOf.resolveArgument (package:di/dynamic_injector.dart:47:9) #1 List.List.generate (dart:core/list.dart:122) #2 DynamicInjector.newInstanceOf (package:di/dynamic_injector.dart:68:20) #3 TypeProvider.get (package:di/src/provider.dart:36:34) #4 BaseInjector.getInstanceByKey (package:di/src/base_injector.dart:117:29) #5 BaseInjector.get (package:di/src/base_injector.dart:158:23) #6 main (file:///home/zoechi/source/my/dart/playground/bin/di/main.dart:67:45) #7 _startIsolate.isolateStartHandler (dart:isolate-patch/isolate_patch.dart:216) #8 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:124)
Upstream Dart issue: https://code.google.com/p/dart/issues/detail?id=18675
leads to this stack trace