refactor(change_detection): replaced devMode with ChangeDetectorGenConfig

This commit is contained in:
vsavkin
2015-08-20 13:50:33 -07:00
committed by Victor Savkin
parent 764726d78e
commit b6146394ae
14 changed files with 90 additions and 39 deletions

View File

@ -80,7 +80,7 @@ class _CodegenState {
final List<EventBinding> _eventBindings;
final CodegenLogicUtil _logic;
final CodegenNameUtil _names;
final bool _devMode;
final ChangeDetectorGenConfig _genConfig;
final List<BindingTarget> _propertyBindingTargets;
_CodegenState._(
@ -94,7 +94,7 @@ class _CodegenState {
this._directiveRecords,
this._logic,
this._names,
this._devMode)
this._genConfig)
: _changeDetectionMode =
ChangeDetectionUtil.changeDetectionMode(changeDetectionStrategy);
@ -117,7 +117,7 @@ class _CodegenState {
def.directiveRecords,
logic,
names,
def.devMode);
def.genConfig);
}
void _writeToBuf(StringBuffer buf) {
@ -170,7 +170,7 @@ class _CodegenState {
}
String _genPropertyBindingTargets() {
var targets = _logic.genPropertyBindingTargets(_propertyBindingTargets, this._devMode);
var targets = _logic.genPropertyBindingTargets(_propertyBindingTargets, this._genConfig.genDebugInfo);
return "static var gen_propertyBindingTargets = ${targets}";
}
@ -418,7 +418,7 @@ class _CodegenState {
}
String _genThrowOnChangeCheck(String oldValue, String newValue) {
if (this._devMode) {
if (this._genConfig.genCheckNoChanges) {
return '''
if(throwOnChange) {
this.throwOnChangeError(${oldValue}, ${newValue});
@ -430,7 +430,7 @@ class _CodegenState {
}
String _genCheckNoChanges() {
if (this._devMode) {
if (this._genConfig.genCheckNoChanges) {
return 'void checkNoChanges() { runDetectChanges(true); }';
} else {
return '';

View File

@ -4,6 +4,7 @@ import 'dart:async';
import 'package:angular2/src/change_detection/parser/lexer.dart' as ng;
import 'package:angular2/src/change_detection/parser/parser.dart' as ng;
import 'package:angular2/src/change_detection/interfaces.dart';
import 'package:angular2/src/core/compiler/proto_view_factory.dart';
import 'package:angular2/src/dom/dom_adapter.dart';
import 'package:angular2/src/render/api.dart';
@ -19,6 +20,7 @@ import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/services/url_resolver.dart';
import 'package:angular2/src/transform/common/asset_reader.dart';
import 'package:angular2/src/transform/common/xhr_impl.dart';
import 'package:angular2/src/facade/lang.dart';
import 'package:barback/barback.dart';
import 'change_detector_codegen.dart' as change;
@ -56,9 +58,10 @@ Future<String> processTemplates(AssetReader reader, AssetId entryPoint,
}
if (generateChangeDetectors) {
var saved = reflector.reflectionCapabilities;
var genConfig = new ChangeDetectorGenConfig(assertionsEnabled(), assertionsEnabled());
reflector.reflectionCapabilities = const NullReflectionCapabilities();
var defs = getChangeDetectorDefinitions(viewDefEntry.hostMetadata,
protoView, viewDefEntry.viewDef.directives);
protoView, viewDefEntry.viewDef.directives, genConfig);
for (var i = 0; i < defs.length; ++i) {
changeDetectorClasses.generate('${rType.typeName}',
'_${rType.typeName}_ChangeDetector$i', defs[i]);