File tree Expand file tree Collapse file tree 3 files changed +11
-0
lines changed Expand file tree Collapse file tree 3 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -975,6 +975,8 @@ namespace ts {
975
975
return getSpanOfTokenAtPosition ( sourceFile , node . pos ) ;
976
976
}
977
977
978
+ Debug . assert ( ! isJSDoc ( errorNode ) ) ;
979
+
978
980
const isMissing = nodeIsMissing ( errorNode ) ;
979
981
const pos = isMissing || isJsxText ( node )
980
982
? errorNode . pos
Original file line number Diff line number Diff line change @@ -116,6 +116,7 @@ namespace ts.refactor.extractSymbol {
116
116
export const cannotExtractRange : DiagnosticMessage = createMessage ( "Cannot extract range." ) ;
117
117
export const cannotExtractImport : DiagnosticMessage = createMessage ( "Cannot extract import statement." ) ;
118
118
export const cannotExtractSuper : DiagnosticMessage = createMessage ( "Cannot extract super call." ) ;
119
+ export const cannotExtractJSDoc : DiagnosticMessage = createMessage ( "Cannot extract JSDoc." ) ;
119
120
export const cannotExtractEmpty : DiagnosticMessage = createMessage ( "Cannot extract empty range." ) ;
120
121
export const expressionExpected : DiagnosticMessage = createMessage ( "expression expected." ) ;
121
122
export const uselessConstantType : DiagnosticMessage = createMessage ( "No reason to extract constant of type." ) ;
@@ -246,6 +247,10 @@ namespace ts.refactor.extractSymbol {
246
247
return { targetRange : { range : statements , facts : rangeFacts , declarations } } ;
247
248
}
248
249
250
+ if ( isJSDoc ( start ) ) {
251
+ return { errors : [ createFileDiagnostic ( sourceFile , span . start , length , Messages . cannotExtractJSDoc ) ] } ;
252
+ }
253
+
249
254
if ( isReturnStatement ( start ) && ! start . expression ) {
250
255
// Makes no sense to extract an expression-less return statement.
251
256
return { errors : [ createFileDiagnostic ( sourceFile , span . start , length , Messages . cannotExtractRange ) ] } ;
Original file line number Diff line number Diff line change @@ -380,6 +380,10 @@ switch (x) {
380
380
`[#|{ 1;|] }` ,
381
381
[ refactor . extractSymbol . Messages . cannotExtractRange . message ] ) ;
382
382
383
+ testExtractRangeFailed ( "extractRangeFailed19" ,
384
+ `[#|/** @type {number} */|] const foo = 1;` ,
385
+ [ refactor . extractSymbol . Messages . cannotExtractJSDoc . message ] ) ;
386
+
383
387
testExtractRangeFailed ( "extract-method-not-for-token-expression-statement" , `[#|a|]` , [ refactor . extractSymbol . Messages . cannotExtractIdentifier . message ] ) ;
384
388
} ) ;
385
389
}
You can’t perform that action at this time.
0 commit comments