@@ -84,23 +84,26 @@ export const defaultKeyValueDiffers = CONST_EXPR(new KeyValueDiffers(keyValDiff)
8484// dart2js. See https://github.com/dart-lang/sdk/issues/23630 for details.
8585export var preGeneratedProtoDetectors : StringMap < string , Function > = { } ;
8686
87- export const PROTO_CHANGE_DETECTOR = CONST_EXPR ( new OpaqueToken ( 'ProtoChangeDetectors' ) ) ;
88-
8987/**
9088 * Implements change detection using a map of pregenerated proto detectors.
9189 */
9290@Injectable ( )
9391export class PreGeneratedChangeDetection extends ChangeDetection {
9492 _dynamicChangeDetection : ChangeDetection ;
9593 _protoChangeDetectorFactories : StringMap < string , Function > ;
94+ _genConfig : ChangeDetectorGenConfig ;
9695
97- constructor ( @ Inject ( PROTO_CHANGE_DETECTOR ) @ Optional ( ) protoChangeDetectorsForTest ?:
98- StringMap < string , Function > ) {
96+ constructor ( config ?: ChangeDetectorGenConfig ,
97+ protoChangeDetectorsForTest ?: StringMap < string , Function > ) {
9998 super ( ) ;
10099 this . _dynamicChangeDetection = new DynamicChangeDetection ( ) ;
101100 this . _protoChangeDetectorFactories = isPresent ( protoChangeDetectorsForTest ) ?
102101 protoChangeDetectorsForTest :
103102 preGeneratedProtoDetectors ;
103+
104+ this . _genConfig =
105+ isPresent ( config ) ? config : new ChangeDetectorGenConfig ( assertionsEnabled ( ) ,
106+ assertionsEnabled ( ) , false ) ;
104107 }
105108
106109 static isSupported ( ) : boolean { return PregenProtoChangeDetector . isSupported ( ) ; }
@@ -112,11 +115,8 @@ export class PreGeneratedChangeDetection extends ChangeDetection {
112115 return this . _dynamicChangeDetection . getProtoChangeDetector ( id , definition ) ;
113116 }
114117
118+ get genConfig ( ) : ChangeDetectorGenConfig { return this . _genConfig ; }
115119 get generateDetectors ( ) : boolean { return true ; }
116-
117- get genConfig ( ) : ChangeDetectorGenConfig {
118- return new ChangeDetectorGenConfig ( assertionsEnabled ( ) , assertionsEnabled ( ) ) ;
119- }
120120}
121121
122122
@@ -127,15 +127,21 @@ export class PreGeneratedChangeDetection extends ChangeDetection {
127127 */
128128@Injectable ( )
129129export class DynamicChangeDetection extends ChangeDetection {
130+ _genConfig : ChangeDetectorGenConfig ;
131+
132+ constructor ( config ?: ChangeDetectorGenConfig ) {
133+ super ( ) ;
134+ this . _genConfig =
135+ isPresent ( config ) ? config : new ChangeDetectorGenConfig ( assertionsEnabled ( ) ,
136+ assertionsEnabled ( ) , false ) ;
137+ }
138+
130139 getProtoChangeDetector ( id : string , definition : ChangeDetectorDefinition ) : ProtoChangeDetector {
131140 return new DynamicProtoChangeDetector ( definition ) ;
132141 }
133142
143+ get genConfig ( ) : ChangeDetectorGenConfig { return this . _genConfig ; }
134144 get generateDetectors ( ) : boolean { return true ; }
135-
136- get genConfig ( ) : ChangeDetectorGenConfig {
137- return new ChangeDetectorGenConfig ( assertionsEnabled ( ) , assertionsEnabled ( ) ) ;
138- }
139145}
140146
141147/**
@@ -145,17 +151,21 @@ export class DynamicChangeDetection extends ChangeDetection {
145151 * {@link DynamicChangeDetection} and {@link PreGeneratedChangeDetection}.
146152 */
147153@Injectable ( )
148- @CONST ( )
149154export class JitChangeDetection extends ChangeDetection {
155+ _genConfig : ChangeDetectorGenConfig ;
156+ constructor ( config ?: ChangeDetectorGenConfig ) {
157+ super ( ) ;
158+ this . _genConfig =
159+ isPresent ( config ) ? config : new ChangeDetectorGenConfig ( assertionsEnabled ( ) ,
160+ assertionsEnabled ( ) , false ) ;
161+ }
162+
150163 static isSupported ( ) : boolean { return JitProtoChangeDetector . isSupported ( ) ; }
151164
152165 getProtoChangeDetector ( id : string , definition : ChangeDetectorDefinition ) : ProtoChangeDetector {
153166 return new JitProtoChangeDetector ( definition ) ;
154167 }
155168
169+ get genConfig ( ) : ChangeDetectorGenConfig { return this . _genConfig ; }
156170 get generateDetectors ( ) : boolean { return true ; }
157-
158- get genConfig ( ) : ChangeDetectorGenConfig {
159- return new ChangeDetectorGenConfig ( assertionsEnabled ( ) , assertionsEnabled ( ) ) ;
160- }
161171}
0 commit comments