library core.spies;

import 'package:angular2/di.dart';
import 'package:angular2/src/core/change_detection/change_detection.dart';
import 'package:angular2/src/core/render/api.dart';
import 'package:angular2/src/core/compiler/directive_resolver.dart';
import 'package:angular2/src/core/compiler/view.dart';
import 'package:angular2/src/core/compiler/element_ref.dart';
import 'package:angular2/src/core/compiler/view_manager.dart';
import 'package:angular2/src/core/compiler/view_pool.dart';
import 'package:angular2/src/core/compiler/view_listener.dart';
import 'package:angular2/src/core/compiler/element_injector.dart';
import 'package:angular2/src/core/dom/dom_adapter.dart';
import 'package:angular2/test_lib.dart';

@proxy
class SpyDependencyProvider extends SpyObject implements DependencyProvider {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyChangeDetection extends SpyObject implements ChangeDetection {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyChangeDetector extends SpyObject implements ChangeDetector {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyProtoChangeDetector extends SpyObject implements ProtoChangeDetector {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyIterableDifferFactory extends SpyObject
    implements IterableDifferFactory {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyInjector extends SpyObject implements Injector {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyRenderCompiler extends SpyObject implements RenderCompiler {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyDirectiveResolver extends SpyObject implements DirectiveResolver {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyView extends SpyObject implements AppView {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyElementRef extends SpyObject implements ElementRef {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyAppViewManager extends SpyObject implements AppViewManager {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyRenderer extends SpyObject implements Renderer {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyAppViewPool extends SpyObject implements AppViewPool {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyAppViewListener extends SpyObject implements AppViewListener {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyProtoElementInjector extends SpyObject implements ProtoElementInjector {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyElementInjector extends SpyObject implements ElementInjector {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyPreBuiltObjects extends SpyObject implements PreBuiltObjects {
  noSuchMethod(m) => super.noSuchMethod(m);
}

@proxy
class SpyDomAdapter extends SpyObject implements DomAdapter {
  noSuchMethod(m) => super.noSuchMethod(m);
}
