diff --git a/src/compiler/visitor.ts b/src/compiler/visitor.ts index e64e59eba3..ba348a558b 100644 --- a/src/compiler/visitor.ts +++ b/src/compiler/visitor.ts @@ -270,7 +270,7 @@ namespace ts { return updateParameter(node, nodesVisitor((node).decorators, visitor, isDecorator), nodesVisitor((node).modifiers, visitor, isModifier), - (node).dotDotDotToken, + visitNode((node).dotDotDotToken, visitor), visitNode((node).name, visitor, isBindingName), visitNode((node).questionToken, visitor, isToken), visitNode((node).type, visitor, isTypeNode), @@ -294,7 +294,7 @@ namespace ts { case SyntaxKind.NeverKeyword: case SyntaxKind.NeverKeyword: case SyntaxKind.ThisKeyword: - return node; + throw new Error("should be caught above"); // Types @@ -332,7 +332,8 @@ namespace ts { case SyntaxKind.MappedType: throw new Error("reached unsupported type in visitor."); case SyntaxKind.LiteralType: - throw new Error("reached unsupported type in visitor."); + return updateLiteralTypeNode(node + , visitNode((node).literal, visitor, isExpression)); // Type Declarations