diff --git a/modules/di/src/annotations.js b/modules/di/src/annotations.js index b478cd4da4..0fd9483df7 100644 --- a/modules/di/src/annotations.js +++ b/modules/di/src/annotations.js @@ -1,7 +1,8 @@ -//TODO: vsavkin: uncomment once const constructor are supported -//export class Inject { -// @CONST -// constructor(token){ -// this.token = token; -// } -//} \ No newline at end of file +import {CONST} from "facade/lang"; + +export class Inject { + @CONST() + constructor(token){ + this.token = token; + } +} \ No newline at end of file diff --git a/modules/di/src/binding.js b/modules/di/src/binding.js index 12ec1ba3d7..de4ec70d1d 100644 --- a/modules/di/src/binding.js +++ b/modules/di/src/binding.js @@ -1,6 +1,6 @@ import {Type} from 'facade/lang'; import {List, MapWrapper, ListWrapper} from 'facade/collection'; -import {Reflector} from 'facade/di/reflector'; +import {Reflector} from './reflector'; import {Key} from './key'; export class Binding { diff --git a/modules/di/src/di.js b/modules/di/src/di.js index 69fde04c59..942592ba5b 100644 --- a/modules/di/src/di.js +++ b/modules/di/src/di.js @@ -1,5 +1,5 @@ +export * from './annotations'; export * from './injector'; export * from './binding'; export * from './key'; export * from './module'; -export {Inject} from 'facade/di/reflector'; diff --git a/modules/facade/src/di/reflector.dart b/modules/di/src/reflector.dart similarity index 95% rename from modules/facade/src/di/reflector.dart rename to modules/di/src/reflector.dart index 8b2e42bdb0..99bf783caf 100644 --- a/modules/facade/src/di/reflector.dart +++ b/modules/di/src/reflector.dart @@ -1,11 +1,7 @@ library facade.di.reflector; import 'dart:mirrors'; - -class Inject { - final Object token; - const Inject(this.token); -} +import 'annotations.dart' show Inject; class Reflector { factoryFor(Type type) { diff --git a/modules/facade/src/di/reflector.es6 b/modules/di/src/reflector.es6 similarity index 85% rename from modules/facade/src/di/reflector.es6 rename to modules/di/src/reflector.es6 index 78a2099d5c..5bbb69dbbf 100644 --- a/modules/facade/src/di/reflector.es6 +++ b/modules/di/src/reflector.es6 @@ -1,11 +1,5 @@ import {Type} from 'facade/lang'; - -//TODO: vsvakin: remove when const constructors are implemented -export class Inject { - constructor(token){ - this.token = token; - } -} +import {Inject} from './annotations'; export class Reflector { factoryFor(type:Type) {