mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-18 06:17:19 -05:00
Simplify checker.
This commit is contained in:
@@ -3622,16 +3622,19 @@ module ts {
|
||||
|
||||
function dispatch(node: Node, kind: SyntaxKind): void {
|
||||
switch (kind) {
|
||||
case SyntaxKind.ArrowFunction: return visitArrowFunction(<FunctionExpression>node);
|
||||
case SyntaxKind.ArrowFunction:
|
||||
case SyntaxKind.CallSignature:
|
||||
case SyntaxKind.ConstructorType:
|
||||
case SyntaxKind.ConstructSignature:
|
||||
case SyntaxKind.FunctionType:
|
||||
checkParsedSignature(<FunctionLikeDeclaration>node);
|
||||
break;
|
||||
case SyntaxKind.BinaryExpression: return visitBinaryExpression(<BinaryExpression>node);
|
||||
case SyntaxKind.BreakStatement: return visitBreakOrContinueStatement(<BreakOrContinueStatement>node);
|
||||
case SyntaxKind.CallExpression: return visitCallExpression(<CallExpression>node);
|
||||
case SyntaxKind.CallSignature: return visitCallSignature(<SignatureDeclaration>node);
|
||||
case SyntaxKind.CatchBlock: return visitCatchBlock(<CatchBlock>node);
|
||||
case SyntaxKind.ClassDeclaration: return visitClassDeclaration(<ClassDeclaration>node);
|
||||
case SyntaxKind.Constructor: return visitConstructor(<ConstructorDeclaration>node);
|
||||
case SyntaxKind.ConstructorType: return visitConstructorType(<SignatureDeclaration>node);
|
||||
case SyntaxKind.ConstructSignature: return visitConstructSignature(<SignatureDeclaration>node);
|
||||
case SyntaxKind.ContinueStatement: return visitBreakOrContinueStatement(<BreakOrContinueStatement>node);
|
||||
case SyntaxKind.EnumDeclaration: return visitEnumDeclaration(<EnumDeclaration>node);
|
||||
case SyntaxKind.ExportAssignment: return visitExportAssignment(<ExportAssignment>node);
|
||||
@@ -3639,7 +3642,6 @@ module ts {
|
||||
case SyntaxKind.ForStatement: return visitForStatement(<ForStatement>node);
|
||||
case SyntaxKind.FunctionDeclaration: return visitFunctionDeclaration(<FunctionLikeDeclaration>node);
|
||||
case SyntaxKind.FunctionExpression: return visitFunctionExpression(<FunctionExpression>node);
|
||||
case SyntaxKind.FunctionType: return visitFunctionType(<SignatureDeclaration>node);
|
||||
case SyntaxKind.GetAccessor: return visitGetAccessor(<MethodDeclaration>node);
|
||||
case SyntaxKind.IndexedAccess: return visitIndexedAccess(<IndexedAccess>node);
|
||||
case SyntaxKind.IndexSignature: return visitIndexSignature(<SignatureDeclaration>node);
|
||||
@@ -3723,8 +3725,7 @@ module ts {
|
||||
if (node.kind === SyntaxKind.InterfaceDeclaration ||
|
||||
node.kind === SyntaxKind.ImportDeclaration ||
|
||||
node.kind === SyntaxKind.ExportAssignment ||
|
||||
(node.flags & NodeFlags.Ambient) /*
|
||||
(node.flags & NodeFlags.Export) */) {
|
||||
(node.flags & NodeFlags.Ambient)) {
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -3756,10 +3757,6 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
function visitArrowFunction(node: FunctionExpression) {
|
||||
checkParsedSignature(node);
|
||||
}
|
||||
|
||||
function checkParsedSignature(node: ParsedSignature): boolean {
|
||||
return checkTypeParameterList(node.typeParameters) ||
|
||||
checkParameterList(node.parameters);
|
||||
@@ -3921,10 +3918,6 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
function visitCallSignature(node: ConstructorDeclaration) {
|
||||
checkParsedSignature(node);
|
||||
}
|
||||
|
||||
function visitCatchBlock(node: CatchBlock) {
|
||||
if (node.type) {
|
||||
var colonStart = skipTrivia(sourceText, node.variable.end);
|
||||
@@ -3967,14 +3960,6 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
function visitConstructorType(node: SignatureDeclaration) {
|
||||
checkParsedSignature(node);
|
||||
}
|
||||
|
||||
function visitConstructSignature(node: FunctionLikeDeclaration) {
|
||||
checkParsedSignature(node);
|
||||
}
|
||||
|
||||
function visitEnumDeclaration(enumDecl: EnumDeclaration) {
|
||||
checkEnumInitializer(enumDecl);
|
||||
}
|
||||
@@ -4068,10 +4053,6 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
function visitFunctionType(node: SignatureDeclaration) {
|
||||
checkParsedSignature(node);
|
||||
}
|
||||
|
||||
function visitGetAccessor(node: MethodDeclaration) {
|
||||
checkParsedSignature(node) ||
|
||||
checkAccessor(node);
|
||||
|
||||
Reference in New Issue
Block a user