@@ -127,8 +127,9 @@ module.exports = {
127127 message : `There should be no space after '${ token . value } '` ,
128128 fix : function ( fixer ) {
129129 var nextToken = sourceCode . getTokenAfter ( token ) ;
130- var leadingComments = sourceCode . getNodeByRangeIndex ( nextToken . range [ 0 ] ) . leadingComments ;
131- var rangeEndRef = leadingComments ? leadingComments [ 0 ] : nextToken ;
130+ var nextNode = sourceCode . getNodeByRangeIndex ( nextToken . range [ 0 ] ) ;
131+ var leadingComments = sourceCode . getComments ( nextNode ) . leading ;
132+ var rangeEndRef = leadingComments . length ? leadingComments [ 0 ] : nextToken ;
132133 return fixer . removeRange ( [ token . range [ 1 ] , rangeEndRef . range [ 0 ] ] ) ;
133134 }
134135 } ) ;
@@ -147,8 +148,9 @@ module.exports = {
147148 message : `There should be no space before '${ token . value } '` ,
148149 fix : function ( fixer ) {
149150 var previousToken = sourceCode . getTokenBefore ( token ) ;
150- var trailingComments = sourceCode . getNodeByRangeIndex ( previousToken . range [ 0 ] ) . trailingComments ;
151- var rangeStartRef = trailingComments ? trailingComments [ trailingComments . length - 1 ] : previousToken ;
151+ var previousNode = sourceCode . getNodeByRangeIndex ( previousToken . range [ 0 ] ) ;
152+ var trailingComments = sourceCode . getComments ( previousNode ) . trailing ;
153+ var rangeStartRef = trailingComments . length ? trailingComments [ trailingComments . length - 1 ] : previousToken ;
152154 return fixer . removeRange ( [ rangeStartRef . range [ 1 ] , token . range [ 0 ] ] ) ;
153155 }
154156 } ) ;
@@ -200,14 +202,19 @@ module.exports = {
200202 }
201203 var first = context . getFirstToken ( node ) ;
202204 var last = sourceCode . getLastToken ( node ) ;
203- var second = context . getTokenAfter ( first ) ;
204- var penultimate = sourceCode . getTokenBefore ( last ) ;
205+ var second = context . getTokenAfter ( first , { includeComments : true } ) ;
206+ var penultimate = sourceCode . getTokenBefore ( last , { includeComments : true } ) ;
205207
206- var leadingComments = sourceCode . getNodeByRangeIndex ( second . range [ 0 ] ) . leadingComments ;
207- second = leadingComments ? leadingComments [ 0 ] : second ;
208-
209- var trailingComments = sourceCode . getNodeByRangeIndex ( penultimate . range [ 0 ] ) . trailingComments ;
210- penultimate = trailingComments ? trailingComments [ trailingComments . length - 1 ] : penultimate ;
208+ if ( ! second ) {
209+ second = context . getTokenAfter ( first ) ;
210+ var leadingComments = sourceCode . getNodeByRangeIndex ( second . range [ 0 ] ) . leadingComments ;
211+ second = leadingComments ? leadingComments [ 0 ] : second ;
212+ }
213+ if ( ! penultimate ) {
214+ penultimate = sourceCode . getTokenBefore ( last ) ;
215+ var trailingComments = sourceCode . getNodeByRangeIndex ( penultimate . range [ 0 ] ) . trailingComments ;
216+ penultimate = trailingComments ? trailingComments [ trailingComments . length - 1 ] : penultimate ;
217+ }
211218
212219 var isObjectLiteral = first . value === second . value ;
213220 if ( isObjectLiteral ) {
0 commit comments