@@ -57,11 +57,11 @@ export class ProtoRecordRange {
5757 if ( this . recordCreator === null ) {
5858 this . recordCreator = new ProtoRecordCreator ( this ) ;
5959 }
60-
60+
6161 if ( content ) {
6262 ast = new Collection ( ast ) ;
6363 }
64-
64+
6565 this . recordCreator . createRecordsFromAST ( ast , expressionMemento , groupMemento ) ;
6666 }
6767
@@ -149,14 +149,13 @@ export class RecordRange {
149149
150150 remove ( ) {
151151 var firstEnabledChildRecord = this . findFirstEnabledRecord ( ) ;
152- var lastEnabledChildRecord = this . findLastEnabledRecord ( ) ;
153-
154152 var next = this . tailRecord . next ;
155153 var prev = this . headRecord . prev ;
156154
157155 _link ( prev , next ) ;
158156
159157 if ( isPresent ( firstEnabledChildRecord ) ) {
158+ var lastEnabledChildRecord = this . findLastEnabledRecord ( ) ;
160159 var nextEnabled = lastEnabledChildRecord . nextEnabled ;
161160 var prevEnabled = firstEnabledChildRecord . prevEnabled ;
162161 if ( isPresent ( nextEnabled ) ) nextEnabled . prevEnabled = prevEnabled ;
@@ -191,16 +190,14 @@ export class RecordRange {
191190
192191 disable ( ) {
193192 var firstEnabledChildRecord = this . findFirstEnabledRecord ( ) ;
194- var lastEnabledChildRecord = this . findLastEnabledRecord ( ) ;
195-
196- var nextEnabled = isPresent ( lastEnabledChildRecord ) ?
197- lastEnabledChildRecord . nextEnabled : null ;
198-
199- var prevEnabled = isPresent ( firstEnabledChildRecord ) ?
200- firstEnabledChildRecord . prevEnabled : null ;
201-
202- if ( isPresent ( nextEnabled ) ) nextEnabled . prevEnabled = prevEnabled ;
203- if ( isPresent ( prevEnabled ) ) prevEnabled . nextEnabled = nextEnabled ;
193+ if ( isPresent ( firstEnabledChildRecord ) ) {
194+ // There could be a last enabled record only if first enabled exists
195+ var lastEnabledChildRecord = this . findLastEnabledRecord ( ) ;
196+ var nextEnabled = lastEnabledChildRecord . nextEnabled ;
197+ var prevEnabled = firstEnabledChildRecord . prevEnabled ;
198+ if ( isPresent ( nextEnabled ) ) nextEnabled . prevEnabled = prevEnabled ;
199+ if ( isPresent ( prevEnabled ) ) prevEnabled . nextEnabled = nextEnabled ;
200+ }
204201
205202 this . disabled = true ;
206203 }
0 commit comments