Skip to content

Commit 19cc4a3

Browse files
committed
Fix types of JsxText.parent and JsxExpressoin.parent
1 parent 60498dd commit 19cc4a3

File tree

4 files changed

+7
-7
lines changed

4 files changed

+7
-7
lines changed

src/compiler/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2593,14 +2593,14 @@ namespace ts {
25932593

25942594
export interface JsxExpression extends Expression {
25952595
readonly kind: SyntaxKind.JsxExpression;
2596-
readonly parent: JsxElement | JsxAttributeLike;
2596+
readonly parent: JsxElement | JsxFragment | JsxAttributeLike;
25972597
readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
25982598
readonly expression?: Expression;
25992599
}
26002600

26012601
export interface JsxText extends LiteralLikeNode {
26022602
readonly kind: SyntaxKind.JsxText;
2603-
readonly parent: JsxElement;
2603+
readonly parent: JsxElement | JsxFragment;
26042604
readonly containsOnlyTriviaWhiteSpaces: boolean;
26052605
}
26062606

src/services/completions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ namespace ts.Completions {
11801180
case SyntaxKind.CaseKeyword:
11811181
return getSwitchedType(cast(parent, isCaseClause), checker);
11821182
case SyntaxKind.OpenBraceToken:
1183-
return isJsxExpression(parent) && parent.parent.kind !== SyntaxKind.JsxElement ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined;
1183+
return isJsxExpression(parent) && !isJsxElement(parent.parent) && !isJsxFragment(parent.parent) ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined;
11841184
default:
11851185
const argInfo = SignatureHelp.getArgumentInfoForCompletions(previousToken, position, sourceFile);
11861186
return argInfo ?

tests/baselines/reference/api/tsserverlibrary.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,13 +1381,13 @@ declare namespace ts {
13811381
}
13821382
export interface JsxExpression extends Expression {
13831383
readonly kind: SyntaxKind.JsxExpression;
1384-
readonly parent: JsxElement | JsxAttributeLike;
1384+
readonly parent: JsxElement | JsxFragment | JsxAttributeLike;
13851385
readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
13861386
readonly expression?: Expression;
13871387
}
13881388
export interface JsxText extends LiteralLikeNode {
13891389
readonly kind: SyntaxKind.JsxText;
1390-
readonly parent: JsxElement;
1390+
readonly parent: JsxElement | JsxFragment;
13911391
readonly containsOnlyTriviaWhiteSpaces: boolean;
13921392
}
13931393
export type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;

tests/baselines/reference/api/typescript.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,13 +1381,13 @@ declare namespace ts {
13811381
}
13821382
export interface JsxExpression extends Expression {
13831383
readonly kind: SyntaxKind.JsxExpression;
1384-
readonly parent: JsxElement | JsxAttributeLike;
1384+
readonly parent: JsxElement | JsxFragment | JsxAttributeLike;
13851385
readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
13861386
readonly expression?: Expression;
13871387
}
13881388
export interface JsxText extends LiteralLikeNode {
13891389
readonly kind: SyntaxKind.JsxText;
1390-
readonly parent: JsxElement;
1390+
readonly parent: JsxElement | JsxFragment;
13911391
readonly containsOnlyTriviaWhiteSpaces: boolean;
13921392
}
13931393
export type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;

0 commit comments

Comments
 (0)