Skip to content

Commit 6418f9c

Browse files
committed
Temporary monomorphic Node projection
1 parent 58e7fa6 commit 6418f9c

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/compiler/ast.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -940,19 +940,19 @@ export class AstNode<N extends Node<SyntaxKind, AstData> = Node<SyntaxKind, AstD
940940
return new AstNode(SyntaxKind.PropertyAccessExpression, new AstPropertyAccessExpressionData(), AnyNode /* PropertyAccessExpression */);
941941
}
942942
static PropertyAccessChain(): AstPropertyAccessChain {
943-
return new AstNode(SyntaxKind.PropertyAccessExpression, new AstPropertyAccessExpressionData(), PropertyAccessExpression, NodeFlags.OptionalChain) as AstPropertyAccessChain;
943+
return new AstNode(SyntaxKind.PropertyAccessExpression, new AstPropertyAccessExpressionData(), AnyNode as any /* PropertyAccessExpression */, NodeFlags.OptionalChain) as AstPropertyAccessChain;
944944
}
945945
static ElementAccessExpression(): AstElementAccessExpression {
946946
return new AstNode(SyntaxKind.ElementAccessExpression, new AstElementAccessExpressionData(), AnyNode /* ElementAccessExpression */);
947947
}
948948
static ElementAccessChain(): AstElementAccessChain {
949-
return new AstNode(SyntaxKind.ElementAccessExpression, new AstElementAccessExpressionData(), ElementAccessExpression, NodeFlags.OptionalChain) as AstElementAccessChain;
949+
return new AstNode(SyntaxKind.ElementAccessExpression, new AstElementAccessExpressionData(), AnyNode as any /* ElementAccessExpression */, NodeFlags.OptionalChain) as AstElementAccessChain;
950950
}
951951
static CallExpression(): AstCallExpression {
952952
return new AstNode(SyntaxKind.CallExpression, new AstCallExpressionData(), AnyNode /* CallExpression */);
953953
}
954954
static CallChain(): AstCallChain {
955-
return new AstNode(SyntaxKind.CallExpression, new AstCallExpressionData(), CallExpression, NodeFlags.OptionalChain) as AstCallChain;
955+
return new AstNode(SyntaxKind.CallExpression, new AstCallExpressionData(), AnyNode as any /*CallExpression*/, NodeFlags.OptionalChain) as AstCallChain;
956956
}
957957
static ExpressionWithTypeArguments(): AstExpressionWithTypeArguments {
958958
return new AstNode(SyntaxKind.ExpressionWithTypeArguments, new AstExpressionWithTypeArgumentsData(), AnyNode /* ExpressionWithTypeArguments */);
@@ -976,7 +976,7 @@ export class AstNode<N extends Node<SyntaxKind, AstData> = Node<SyntaxKind, AstD
976976
return new AstNode(SyntaxKind.NonNullExpression, new AstNonNullExpressionData(), AnyNode /* NonNullExpression */);
977977
}
978978
static NonNullChain(): AstNonNullChain {
979-
return new AstNode(SyntaxKind.NonNullExpression, new AstNonNullExpressionData(), NonNullExpression, NodeFlags.OptionalChain) as AstNonNullChain;
979+
return new AstNode(SyntaxKind.NonNullExpression, new AstNonNullExpressionData(), AnyNode as any /* NonNullExpression */, NodeFlags.OptionalChain) as AstNonNullChain;
980980
}
981981
static MetaProperty(): AstMetaProperty {
982982
return new AstNode(SyntaxKind.MetaProperty, new AstMetaPropertyData(), AnyNode /* MetaProperty */);

src/compiler/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,8 +1245,8 @@ export class Node<
12451245
readonly ast: AstNode<this> = undefined!;
12461246

12471247
constructor(ast: AstNode<Node<K, T>>) {
1248-
this.ast = ast as AstNode<this>;
12491248
Object.preventExtensions(this);
1249+
this.ast = ast as AstNode<this>;
12501250
}
12511251

12521252
get kind(): K { return this.ast.kind; }
@@ -5050,7 +5050,7 @@ export class CallExpression extends Node<SyntaxKind.CallExpression, AstCallExpre
50505050
get questionDotToken(): QuestionDotToken | undefined { return this.ast.data.questionDotToken?.node; }
50515051
get typeArguments(): NodeArray<TypeNode> | undefined { return this.ast.data.typeArguments?.nodes; }
50525052
get arguments(): NodeArray<Expression> { return this.ast.data.arguments.nodes; }
5053-
5053+
50545054
/** @internal */ set expression(value) { this.ast.data.expression = value.ast; }
50555055
/** @internal */ set questionDotToken(value) { this.ast.data.questionDotToken = value?.ast; }
50565056
/** @internal */ set typeArguments(value) { this.ast.data.typeArguments = value?.ast; }

0 commit comments

Comments
 (0)