mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-10 06:41:59 -06:00
Moved isSuperPropertyOrElementAccess to utilities
This commit is contained in:
parent
3e0c84e43b
commit
b00cae87b3
@ -7115,12 +7115,6 @@ namespace ts {
|
||||
return false;
|
||||
}
|
||||
|
||||
function isSuperPropertyOrElementAccess(node: Node) {
|
||||
return (node.kind === SyntaxKind.PropertyAccessExpression
|
||||
|| node.kind === SyntaxKind.ElementAccessExpression)
|
||||
&& (<PropertyAccessExpression | ElementAccessExpression>node).expression.kind === SyntaxKind.SuperKeyword;
|
||||
}
|
||||
|
||||
function checkSuperExpression(node: Node): Type {
|
||||
const isCallExpression = node.parent.kind === SyntaxKind.CallExpression && (<CallExpression>node.parent).expression === node;
|
||||
|
||||
|
||||
@ -2294,16 +2294,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
write(")");
|
||||
}
|
||||
|
||||
function isSuperPropertyAccess(node: Expression): node is PropertyAccessExpression {
|
||||
return node.kind === SyntaxKind.PropertyAccessExpression
|
||||
&& (<PropertyAccessExpression>node).expression.kind === SyntaxKind.SuperKeyword;
|
||||
}
|
||||
|
||||
function isSuperElementAccess(node: Expression): node is ElementAccessExpression {
|
||||
return node.kind === SyntaxKind.ElementAccessExpression
|
||||
&& (<ElementAccessExpression>node).expression.kind === SyntaxKind.SuperKeyword;
|
||||
}
|
||||
|
||||
function isInAsyncMethodWithSuperInES6(node: Node) {
|
||||
if (languageVersion === ScriptTarget.ES6) {
|
||||
const container = getSuperContainer(node, /*includeFunctions*/ false);
|
||||
@ -2337,7 +2327,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
superCall = true;
|
||||
}
|
||||
else {
|
||||
superCall = isSuperPropertyAccess(expression) || isSuperElementAccess(expression);
|
||||
superCall = isSuperPropertyOrElementAccess(expression);
|
||||
isAsyncMethodWithSuper = superCall && isInAsyncMethodWithSuperInES6(node);
|
||||
emit(expression);
|
||||
}
|
||||
|
||||
@ -850,6 +850,16 @@ namespace ts {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether a node is a property or element access expression for super.
|
||||
*/
|
||||
export function isSuperPropertyOrElementAccess(node: Node) {
|
||||
return (node.kind === SyntaxKind.PropertyAccessExpression
|
||||
|| node.kind === SyntaxKind.ElementAccessExpression)
|
||||
&& (<PropertyAccessExpression | ElementAccessExpression>node).expression.kind === SyntaxKind.SuperKeyword;
|
||||
}
|
||||
|
||||
|
||||
export function getEntityNameFromTypeNode(node: TypeNode): EntityName | Expression {
|
||||
if (node) {
|
||||
switch (node.kind) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user