Moved isSuperPropertyOrElementAccess to utilities

This commit is contained in:
Ron Buckton 2016-01-26 11:36:20 -08:00
parent 3e0c84e43b
commit b00cae87b3
3 changed files with 11 additions and 17 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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) {