UNPKG

typescript

Version:

TypeScript is a language for application scale JavaScript development

702 lines (699 loc) • 6.13 MB
/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ "use strict"; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var ts; (function (ts) { /* @internal */ var Comparison; (function (Comparison) { Comparison[Comparison["LessThan"] = -1] = "LessThan"; Comparison[Comparison["EqualTo"] = 0] = "EqualTo"; Comparison[Comparison["GreaterThan"] = 1] = "GreaterThan"; })(Comparison = ts.Comparison || (ts.Comparison = {})); // token > SyntaxKind.Identifier => token is a keyword // Also, If you add a new SyntaxKind be sure to keep the `Markers` section at the bottom in sync var SyntaxKind; (function (SyntaxKind) { SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; SyntaxKind[SyntaxKind["EndOfFileToken"] = 1] = "EndOfFileToken"; SyntaxKind[SyntaxKind["SingleLineCommentTrivia"] = 2] = "SingleLineCommentTrivia"; SyntaxKind[SyntaxKind["MultiLineCommentTrivia"] = 3] = "MultiLineCommentTrivia"; SyntaxKind[SyntaxKind["NewLineTrivia"] = 4] = "NewLineTrivia"; SyntaxKind[SyntaxKind["WhitespaceTrivia"] = 5] = "WhitespaceTrivia"; // We detect and preserve #! on the first line SyntaxKind[SyntaxKind["ShebangTrivia"] = 6] = "ShebangTrivia"; // We detect and provide better error recovery when we encounter a git merge marker. This // allows us to edit files with git-conflict markers in them in a much more pleasant manner. SyntaxKind[SyntaxKind["ConflictMarkerTrivia"] = 7] = "ConflictMarkerTrivia"; // Literals SyntaxKind[SyntaxKind["NumericLiteral"] = 8] = "NumericLiteral"; SyntaxKind[SyntaxKind["StringLiteral"] = 9] = "StringLiteral"; SyntaxKind[SyntaxKind["JsxText"] = 10] = "JsxText"; SyntaxKind[SyntaxKind["JsxTextAllWhiteSpaces"] = 11] = "JsxTextAllWhiteSpaces"; SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 12] = "RegularExpressionLiteral"; SyntaxKind[SyntaxKind["NoSubstitutionTemplateLiteral"] = 13] = "NoSubstitutionTemplateLiteral"; // Pseudo-literals SyntaxKind[SyntaxKind["TemplateHead"] = 14] = "TemplateHead"; SyntaxKind[SyntaxKind["TemplateMiddle"] = 15] = "TemplateMiddle"; SyntaxKind[SyntaxKind["TemplateTail"] = 16] = "TemplateTail"; // Punctuation SyntaxKind[SyntaxKind["OpenBraceToken"] = 17] = "OpenBraceToken"; SyntaxKind[SyntaxKind["CloseBraceToken"] = 18] = "CloseBraceToken"; SyntaxKind[SyntaxKind["OpenParenToken"] = 19] = "OpenParenToken"; SyntaxKind[SyntaxKind["CloseParenToken"] = 20] = "CloseParenToken"; SyntaxKind[SyntaxKind["OpenBracketToken"] = 21] = "OpenBracketToken"; SyntaxKind[SyntaxKind["CloseBracketToken"] = 22] = "CloseBracketToken"; SyntaxKind[SyntaxKind["DotToken"] = 23] = "DotToken"; SyntaxKind[SyntaxKind["DotDotDotToken"] = 24] = "DotDotDotToken"; SyntaxKind[SyntaxKind["SemicolonToken"] = 25] = "SemicolonToken"; SyntaxKind[SyntaxKind["CommaToken"] = 26] = "CommaToken"; SyntaxKind[SyntaxKind["LessThanToken"] = 27] = "LessThanToken"; SyntaxKind[SyntaxKind["LessThanSlashToken"] = 28] = "LessThanSlashToken"; SyntaxKind[SyntaxKind["GreaterThanToken"] = 29] = "GreaterThanToken"; SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 30] = "LessThanEqualsToken"; SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 31] = "GreaterThanEqualsToken"; SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 32] = "EqualsEqualsToken"; SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 33] = "ExclamationEqualsToken"; SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 34] = "EqualsEqualsEqualsToken"; SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 35] = "ExclamationEqualsEqualsToken"; SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 36] = "EqualsGreaterThanToken"; SyntaxKind[SyntaxKind["PlusToken"] = 37] = "PlusToken"; SyntaxKind[SyntaxKind["MinusToken"] = 38] = "MinusToken"; SyntaxKind[SyntaxKind["AsteriskToken"] = 39] = "AsteriskToken"; SyntaxKind[SyntaxKind["AsteriskAsteriskToken"] = 40] = "AsteriskAsteriskToken"; SyntaxKind[SyntaxKind["SlashToken"] = 41] = "SlashToken"; SyntaxKind[SyntaxKind["PercentToken"] = 42] = "PercentToken"; SyntaxKind[SyntaxKind["PlusPlusToken"] = 43] = "PlusPlusToken"; SyntaxKind[SyntaxKind["MinusMinusToken"] = 44] = "MinusMinusToken"; SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 45] = "LessThanLessThanToken"; SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 46] = "GreaterThanGreaterThanToken"; SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 47] = "GreaterThanGreaterThanGreaterThanToken"; SyntaxKind[SyntaxKind["AmpersandToken"] = 48] = "AmpersandToken"; SyntaxKind[SyntaxKind["BarToken"] = 49] = "BarToken"; SyntaxKind[SyntaxKind["CaretToken"] = 50] = "CaretToken"; SyntaxKind[SyntaxKind["ExclamationToken"] = 51] = "ExclamationToken"; SyntaxKind[SyntaxKind["TildeToken"] = 52] = "TildeToken"; SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 53] = "AmpersandAmpersandToken"; SyntaxKind[SyntaxKind["BarBarToken"] = 54] = "BarBarToken"; SyntaxKind[SyntaxKind["QuestionToken"] = 55] = "QuestionToken"; SyntaxKind[SyntaxKind["ColonToken"] = 56] = "ColonToken"; SyntaxKind[SyntaxKind["AtToken"] = 57] = "AtToken"; // Assignments SyntaxKind[SyntaxKind["EqualsToken"] = 58] = "EqualsToken"; SyntaxKind[SyntaxKind["PlusEqualsToken"] = 59] = "PlusEqualsToken"; SyntaxKind[SyntaxKind["MinusEqualsToken"] = 60] = "MinusEqualsToken"; SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 61] = "AsteriskEqualsToken"; SyntaxKind[SyntaxKind["AsteriskAsteriskEqualsToken"] = 62] = "AsteriskAsteriskEqualsToken"; SyntaxKind[SyntaxKind["SlashEqualsToken"] = 63] = "SlashEqualsToken"; SyntaxKind[SyntaxKind["PercentEqualsToken"] = 64] = "PercentEqualsToken"; SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 65] = "LessThanLessThanEqualsToken"; SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 66] = "GreaterThanGreaterThanEqualsToken"; SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 67] = "GreaterThanGreaterThanGreaterThanEqualsToken"; SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 68] = "AmpersandEqualsToken"; SyntaxKind[SyntaxKind["BarEqualsToken"] = 69] = "BarEqualsToken"; SyntaxKind[SyntaxKind["CaretEqualsToken"] = 70] = "CaretEqualsToken"; // Identifiers SyntaxKind[SyntaxKind["Identifier"] = 71] = "Identifier"; // Reserved words SyntaxKind[SyntaxKind["BreakKeyword"] = 72] = "BreakKeyword"; SyntaxKind[SyntaxKind["CaseKeyword"] = 73] = "CaseKeyword"; SyntaxKind[SyntaxKind["CatchKeyword"] = 74] = "CatchKeyword"; SyntaxKind[SyntaxKind["ClassKeyword"] = 75] = "ClassKeyword"; SyntaxKind[SyntaxKind["ConstKeyword"] = 76] = "ConstKeyword"; SyntaxKind[SyntaxKind["ContinueKeyword"] = 77] = "ContinueKeyword"; SyntaxKind[SyntaxKind["DebuggerKeyword"] = 78] = "DebuggerKeyword"; SyntaxKind[SyntaxKind["DefaultKeyword"] = 79] = "DefaultKeyword"; SyntaxKind[SyntaxKind["DeleteKeyword"] = 80] = "DeleteKeyword"; SyntaxKind[SyntaxKind["DoKeyword"] = 81] = "DoKeyword"; SyntaxKind[SyntaxKind["ElseKeyword"] = 82] = "ElseKeyword"; SyntaxKind[SyntaxKind["EnumKeyword"] = 83] = "EnumKeyword"; SyntaxKind[SyntaxKind["ExportKeyword"] = 84] = "ExportKeyword"; SyntaxKind[SyntaxKind["ExtendsKeyword"] = 85] = "ExtendsKeyword"; SyntaxKind[SyntaxKind["FalseKeyword"] = 86] = "FalseKeyword"; SyntaxKind[SyntaxKind["FinallyKeyword"] = 87] = "FinallyKeyword"; SyntaxKind[SyntaxKind["ForKeyword"] = 88] = "ForKeyword"; SyntaxKind[SyntaxKind["FunctionKeyword"] = 89] = "FunctionKeyword"; SyntaxKind[SyntaxKind["IfKeyword"] = 90] = "IfKeyword"; SyntaxKind[SyntaxKind["ImportKeyword"] = 91] = "ImportKeyword"; SyntaxKind[SyntaxKind["InKeyword"] = 92] = "InKeyword"; SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 93] = "InstanceOfKeyword"; SyntaxKind[SyntaxKind["NewKeyword"] = 94] = "NewKeyword"; SyntaxKind[SyntaxKind["NullKeyword"] = 95] = "NullKeyword"; SyntaxKind[SyntaxKind["ReturnKeyword"] = 96] = "ReturnKeyword"; SyntaxKind[SyntaxKind["SuperKeyword"] = 97] = "SuperKeyword"; SyntaxKind[SyntaxKind["SwitchKeyword"] = 98] = "SwitchKeyword"; SyntaxKind[SyntaxKind["ThisKeyword"] = 99] = "ThisKeyword"; SyntaxKind[SyntaxKind["ThrowKeyword"] = 100] = "ThrowKeyword"; SyntaxKind[SyntaxKind["TrueKeyword"] = 101] = "TrueKeyword"; SyntaxKind[SyntaxKind["TryKeyword"] = 102] = "TryKeyword"; SyntaxKind[SyntaxKind["TypeOfKeyword"] = 103] = "TypeOfKeyword"; SyntaxKind[SyntaxKind["VarKeyword"] = 104] = "VarKeyword"; SyntaxKind[SyntaxKind["VoidKeyword"] = 105] = "VoidKeyword"; SyntaxKind[SyntaxKind["WhileKeyword"] = 106] = "WhileKeyword"; SyntaxKind[SyntaxKind["WithKeyword"] = 107] = "WithKeyword"; // Strict mode reserved words SyntaxKind[SyntaxKind["ImplementsKeyword"] = 108] = "ImplementsKeyword"; SyntaxKind[SyntaxKind["InterfaceKeyword"] = 109] = "InterfaceKeyword"; SyntaxKind[SyntaxKind["LetKeyword"] = 110] = "LetKeyword"; SyntaxKind[SyntaxKind["PackageKeyword"] = 111] = "PackageKeyword"; SyntaxKind[SyntaxKind["PrivateKeyword"] = 112] = "PrivateKeyword"; SyntaxKind[SyntaxKind["ProtectedKeyword"] = 113] = "ProtectedKeyword"; SyntaxKind[SyntaxKind["PublicKeyword"] = 114] = "PublicKeyword"; SyntaxKind[SyntaxKind["StaticKeyword"] = 115] = "StaticKeyword"; SyntaxKind[SyntaxKind["YieldKeyword"] = 116] = "YieldKeyword"; // Contextual keywords SyntaxKind[SyntaxKind["AbstractKeyword"] = 117] = "AbstractKeyword"; SyntaxKind[SyntaxKind["AsKeyword"] = 118] = "AsKeyword"; SyntaxKind[SyntaxKind["AnyKeyword"] = 119] = "AnyKeyword"; SyntaxKind[SyntaxKind["AsyncKeyword"] = 120] = "AsyncKeyword"; SyntaxKind[SyntaxKind["AwaitKeyword"] = 121] = "AwaitKeyword"; SyntaxKind[SyntaxKind["BooleanKeyword"] = 122] = "BooleanKeyword"; SyntaxKind[SyntaxKind["ConstructorKeyword"] = 123] = "ConstructorKeyword"; SyntaxKind[SyntaxKind["DeclareKeyword"] = 124] = "DeclareKeyword"; SyntaxKind[SyntaxKind["GetKeyword"] = 125] = "GetKeyword"; SyntaxKind[SyntaxKind["InferKeyword"] = 126] = "InferKeyword"; SyntaxKind[SyntaxKind["IsKeyword"] = 127] = "IsKeyword"; SyntaxKind[SyntaxKind["KeyOfKeyword"] = 128] = "KeyOfKeyword"; SyntaxKind[SyntaxKind["ModuleKeyword"] = 129] = "ModuleKeyword"; SyntaxKind[SyntaxKind["NamespaceKeyword"] = 130] = "NamespaceKeyword"; SyntaxKind[SyntaxKind["NeverKeyword"] = 131] = "NeverKeyword"; SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 132] = "ReadonlyKeyword"; SyntaxKind[SyntaxKind["RequireKeyword"] = 133] = "RequireKeyword"; SyntaxKind[SyntaxKind["NumberKeyword"] = 134] = "NumberKeyword"; SyntaxKind[SyntaxKind["ObjectKeyword"] = 135] = "ObjectKeyword"; SyntaxKind[SyntaxKind["SetKeyword"] = 136] = "SetKeyword"; SyntaxKind[SyntaxKind["StringKeyword"] = 137] = "StringKeyword"; SyntaxKind[SyntaxKind["SymbolKeyword"] = 138] = "SymbolKeyword"; SyntaxKind[SyntaxKind["TypeKeyword"] = 139] = "TypeKeyword"; SyntaxKind[SyntaxKind["UndefinedKeyword"] = 140] = "UndefinedKeyword"; SyntaxKind[SyntaxKind["UniqueKeyword"] = 141] = "UniqueKeyword"; SyntaxKind[SyntaxKind["FromKeyword"] = 142] = "FromKeyword"; SyntaxKind[SyntaxKind["GlobalKeyword"] = 143] = "GlobalKeyword"; SyntaxKind[SyntaxKind["OfKeyword"] = 144] = "OfKeyword"; // Parse tree nodes // Names SyntaxKind[SyntaxKind["QualifiedName"] = 145] = "QualifiedName"; SyntaxKind[SyntaxKind["ComputedPropertyName"] = 146] = "ComputedPropertyName"; // Signature elements SyntaxKind[SyntaxKind["TypeParameter"] = 147] = "TypeParameter"; SyntaxKind[SyntaxKind["Parameter"] = 148] = "Parameter"; SyntaxKind[SyntaxKind["Decorator"] = 149] = "Decorator"; // TypeMember SyntaxKind[SyntaxKind["PropertySignature"] = 150] = "PropertySignature"; SyntaxKind[SyntaxKind["PropertyDeclaration"] = 151] = "PropertyDeclaration"; SyntaxKind[SyntaxKind["MethodSignature"] = 152] = "MethodSignature"; SyntaxKind[SyntaxKind["MethodDeclaration"] = 153] = "MethodDeclaration"; SyntaxKind[SyntaxKind["Constructor"] = 154] = "Constructor"; SyntaxKind[SyntaxKind["GetAccessor"] = 155] = "GetAccessor"; SyntaxKind[SyntaxKind["SetAccessor"] = 156] = "SetAccessor"; SyntaxKind[SyntaxKind["CallSignature"] = 157] = "CallSignature"; SyntaxKind[SyntaxKind["ConstructSignature"] = 158] = "ConstructSignature"; SyntaxKind[SyntaxKind["IndexSignature"] = 159] = "IndexSignature"; // Type SyntaxKind[SyntaxKind["TypePredicate"] = 160] = "TypePredicate"; SyntaxKind[SyntaxKind["TypeReference"] = 161] = "TypeReference"; SyntaxKind[SyntaxKind["FunctionType"] = 162] = "FunctionType"; SyntaxKind[SyntaxKind["ConstructorType"] = 163] = "ConstructorType"; SyntaxKind[SyntaxKind["TypeQuery"] = 164] = "TypeQuery"; SyntaxKind[SyntaxKind["TypeLiteral"] = 165] = "TypeLiteral"; SyntaxKind[SyntaxKind["ArrayType"] = 166] = "ArrayType"; SyntaxKind[SyntaxKind["TupleType"] = 167] = "TupleType"; SyntaxKind[SyntaxKind["UnionType"] = 168] = "UnionType"; SyntaxKind[SyntaxKind["IntersectionType"] = 169] = "IntersectionType"; SyntaxKind[SyntaxKind["ConditionalType"] = 170] = "ConditionalType"; SyntaxKind[SyntaxKind["InferType"] = 171] = "InferType"; SyntaxKind[SyntaxKind["ParenthesizedType"] = 172] = "ParenthesizedType"; SyntaxKind[SyntaxKind["ThisType"] = 173] = "ThisType"; SyntaxKind[SyntaxKind["TypeOperator"] = 174] = "TypeOperator"; SyntaxKind[SyntaxKind["IndexedAccessType"] = 175] = "IndexedAccessType"; SyntaxKind[SyntaxKind["MappedType"] = 176] = "MappedType"; SyntaxKind[SyntaxKind["LiteralType"] = 177] = "LiteralType"; SyntaxKind[SyntaxKind["ImportType"] = 178] = "ImportType"; // Binding patterns SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 179] = "ObjectBindingPattern"; SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 180] = "ArrayBindingPattern"; SyntaxKind[SyntaxKind["BindingElement"] = 181] = "BindingElement"; // Expression SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 182] = "ArrayLiteralExpression"; SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 183] = "ObjectLiteralExpression"; SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 184] = "PropertyAccessExpression"; SyntaxKind[SyntaxKind["ElementAccessExpression"] = 185] = "ElementAccessExpression"; SyntaxKind[SyntaxKind["CallExpression"] = 186] = "CallExpression"; SyntaxKind[SyntaxKind["NewExpression"] = 187] = "NewExpression"; SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 188] = "TaggedTemplateExpression"; SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 189] = "TypeAssertionExpression"; SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 190] = "ParenthesizedExpression"; SyntaxKind[SyntaxKind["FunctionExpression"] = 191] = "FunctionExpression"; SyntaxKind[SyntaxKind["ArrowFunction"] = 192] = "ArrowFunction"; SyntaxKind[SyntaxKind["DeleteExpression"] = 193] = "DeleteExpression"; SyntaxKind[SyntaxKind["TypeOfExpression"] = 194] = "TypeOfExpression"; SyntaxKind[SyntaxKind["VoidExpression"] = 195] = "VoidExpression"; SyntaxKind[SyntaxKind["AwaitExpression"] = 196] = "AwaitExpression"; SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 197] = "PrefixUnaryExpression"; SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 198] = "PostfixUnaryExpression"; SyntaxKind[SyntaxKind["BinaryExpression"] = 199] = "BinaryExpression"; SyntaxKind[SyntaxKind["ConditionalExpression"] = 200] = "ConditionalExpression"; SyntaxKind[SyntaxKind["TemplateExpression"] = 201] = "TemplateExpression"; SyntaxKind[SyntaxKind["YieldExpression"] = 202] = "YieldExpression"; SyntaxKind[SyntaxKind["SpreadElement"] = 203] = "SpreadElement"; SyntaxKind[SyntaxKind["ClassExpression"] = 204] = "ClassExpression"; SyntaxKind[SyntaxKind["OmittedExpression"] = 205] = "OmittedExpression"; SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 206] = "ExpressionWithTypeArguments"; SyntaxKind[SyntaxKind["AsExpression"] = 207] = "AsExpression"; SyntaxKind[SyntaxKind["NonNullExpression"] = 208] = "NonNullExpression"; SyntaxKind[SyntaxKind["MetaProperty"] = 209] = "MetaProperty"; // Misc SyntaxKind[SyntaxKind["TemplateSpan"] = 210] = "TemplateSpan"; SyntaxKind[SyntaxKind["SemicolonClassElement"] = 211] = "SemicolonClassElement"; // Element SyntaxKind[SyntaxKind["Block"] = 212] = "Block"; SyntaxKind[SyntaxKind["VariableStatement"] = 213] = "VariableStatement"; SyntaxKind[SyntaxKind["EmptyStatement"] = 214] = "EmptyStatement"; SyntaxKind[SyntaxKind["ExpressionStatement"] = 215] = "ExpressionStatement"; SyntaxKind[SyntaxKind["IfStatement"] = 216] = "IfStatement"; SyntaxKind[SyntaxKind["DoStatement"] = 217] = "DoStatement"; SyntaxKind[SyntaxKind["WhileStatement"] = 218] = "WhileStatement"; SyntaxKind[SyntaxKind["ForStatement"] = 219] = "ForStatement"; SyntaxKind[SyntaxKind["ForInStatement"] = 220] = "ForInStatement"; SyntaxKind[SyntaxKind["ForOfStatement"] = 221] = "ForOfStatement"; SyntaxKind[SyntaxKind["ContinueStatement"] = 222] = "ContinueStatement"; SyntaxKind[SyntaxKind["BreakStatement"] = 223] = "BreakStatement"; SyntaxKind[SyntaxKind["ReturnStatement"] = 224] = "ReturnStatement"; SyntaxKind[SyntaxKind["WithStatement"] = 225] = "WithStatement"; SyntaxKind[SyntaxKind["SwitchStatement"] = 226] = "SwitchStatement"; SyntaxKind[SyntaxKind["LabeledStatement"] = 227] = "LabeledStatement"; SyntaxKind[SyntaxKind["ThrowStatement"] = 228] = "ThrowStatement"; SyntaxKind[SyntaxKind["TryStatement"] = 229] = "TryStatement"; SyntaxKind[SyntaxKind["DebuggerStatement"] = 230] = "DebuggerStatement"; SyntaxKind[SyntaxKind["VariableDeclaration"] = 231] = "VariableDeclaration"; SyntaxKind[SyntaxKind["VariableDeclarationList"] = 232] = "VariableDeclarationList"; SyntaxKind[SyntaxKind["FunctionDeclaration"] = 233] = "FunctionDeclaration"; SyntaxKind[SyntaxKind["ClassDeclaration"] = 234] = "ClassDeclaration"; SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 235] = "InterfaceDeclaration"; SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 236] = "TypeAliasDeclaration"; SyntaxKind[SyntaxKind["EnumDeclaration"] = 237] = "EnumDeclaration"; SyntaxKind[SyntaxKind["ModuleDeclaration"] = 238] = "ModuleDeclaration"; SyntaxKind[SyntaxKind["ModuleBlock"] = 239] = "ModuleBlock"; SyntaxKind[SyntaxKind["CaseBlock"] = 240] = "CaseBlock"; SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 241] = "NamespaceExportDeclaration"; SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 242] = "ImportEqualsDeclaration"; SyntaxKind[SyntaxKind["ImportDeclaration"] = 243] = "ImportDeclaration"; SyntaxKind[SyntaxKind["ImportClause"] = 244] = "ImportClause"; SyntaxKind[SyntaxKind["NamespaceImport"] = 245] = "NamespaceImport"; SyntaxKind[SyntaxKind["NamedImports"] = 246] = "NamedImports"; SyntaxKind[SyntaxKind["ImportSpecifier"] = 247] = "ImportSpecifier"; SyntaxKind[SyntaxKind["ExportAssignment"] = 248] = "ExportAssignment"; SyntaxKind[SyntaxKind["ExportDeclaration"] = 249] = "ExportDeclaration"; SyntaxKind[SyntaxKind["NamedExports"] = 250] = "NamedExports"; SyntaxKind[SyntaxKind["ExportSpecifier"] = 251] = "ExportSpecifier"; SyntaxKind[SyntaxKind["MissingDeclaration"] = 252] = "MissingDeclaration"; // Module references SyntaxKind[SyntaxKind["ExternalModuleReference"] = 253] = "ExternalModuleReference"; // JSX SyntaxKind[SyntaxKind["JsxElement"] = 254] = "JsxElement"; SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 255] = "JsxSelfClosingElement"; SyntaxKind[SyntaxKind["JsxOpeningElement"] = 256] = "JsxOpeningElement"; SyntaxKind[SyntaxKind["JsxClosingElement"] = 257] = "JsxClosingElement"; SyntaxKind[SyntaxKind["JsxFragment"] = 258] = "JsxFragment"; SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 259] = "JsxOpeningFragment"; SyntaxKind[SyntaxKind["JsxClosingFragment"] = 260] = "JsxClosingFragment"; SyntaxKind[SyntaxKind["JsxAttribute"] = 261] = "JsxAttribute"; SyntaxKind[SyntaxKind["JsxAttributes"] = 262] = "JsxAttributes"; SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 263] = "JsxSpreadAttribute"; SyntaxKind[SyntaxKind["JsxExpression"] = 264] = "JsxExpression"; // Clauses SyntaxKind[SyntaxKind["CaseClause"] = 265] = "CaseClause"; SyntaxKind[SyntaxKind["DefaultClause"] = 266] = "DefaultClause"; SyntaxKind[SyntaxKind["HeritageClause"] = 267] = "HeritageClause"; SyntaxKind[SyntaxKind["CatchClause"] = 268] = "CatchClause"; // Property assignments SyntaxKind[SyntaxKind["PropertyAssignment"] = 269] = "PropertyAssignment"; SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 270] = "ShorthandPropertyAssignment"; SyntaxKind[SyntaxKind["SpreadAssignment"] = 271] = "SpreadAssignment"; // Enum SyntaxKind[SyntaxKind["EnumMember"] = 272] = "EnumMember"; // Top-level nodes SyntaxKind[SyntaxKind["SourceFile"] = 273] = "SourceFile"; SyntaxKind[SyntaxKind["Bundle"] = 274] = "Bundle"; // JSDoc nodes SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 275] = "JSDocTypeExpression"; // The * type SyntaxKind[SyntaxKind["JSDocAllType"] = 276] = "JSDocAllType"; // The ? type SyntaxKind[SyntaxKind["JSDocUnknownType"] = 277] = "JSDocUnknownType"; SyntaxKind[SyntaxKind["JSDocNullableType"] = 278] = "JSDocNullableType"; SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 279] = "JSDocNonNullableType"; SyntaxKind[SyntaxKind["JSDocOptionalType"] = 280] = "JSDocOptionalType"; SyntaxKind[SyntaxKind["JSDocFunctionType"] = 281] = "JSDocFunctionType"; SyntaxKind[SyntaxKind["JSDocVariadicType"] = 282] = "JSDocVariadicType"; SyntaxKind[SyntaxKind["JSDocComment"] = 283] = "JSDocComment"; SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 284] = "JSDocTypeLiteral"; SyntaxKind[SyntaxKind["JSDocTag"] = 285] = "JSDocTag"; SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 286] = "JSDocAugmentsTag"; SyntaxKind[SyntaxKind["JSDocClassTag"] = 287] = "JSDocClassTag"; SyntaxKind[SyntaxKind["JSDocParameterTag"] = 288] = "JSDocParameterTag"; SyntaxKind[SyntaxKind["JSDocReturnTag"] = 289] = "JSDocReturnTag"; SyntaxKind[SyntaxKind["JSDocTypeTag"] = 290] = "JSDocTypeTag"; SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 291] = "JSDocTemplateTag"; SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 292] = "JSDocTypedefTag"; SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 293] = "JSDocPropertyTag"; // Synthesized list SyntaxKind[SyntaxKind["SyntaxList"] = 294] = "SyntaxList"; // Transformation nodes SyntaxKind[SyntaxKind["NotEmittedStatement"] = 295] = "NotEmittedStatement"; SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 296] = "PartiallyEmittedExpression"; SyntaxKind[SyntaxKind["CommaListExpression"] = 297] = "CommaListExpression"; SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 298] = "MergeDeclarationMarker"; SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 299] = "EndOfDeclarationMarker"; // Enum value count SyntaxKind[SyntaxKind["Count"] = 300] = "Count"; // Markers SyntaxKind[SyntaxKind["FirstAssignment"] = 58] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 70] = "LastAssignment"; SyntaxKind[SyntaxKind["FirstCompoundAssignment"] = 59] = "FirstCompoundAssignment"; SyntaxKind[SyntaxKind["LastCompoundAssignment"] = 70] = "LastCompoundAssignment"; SyntaxKind[SyntaxKind["FirstReservedWord"] = 72] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 107] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 72] = "FirstKeyword"; SyntaxKind[SyntaxKind["LastKeyword"] = 144] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 108] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 116] = "LastFutureReservedWord"; SyntaxKind[SyntaxKind["FirstTypeNode"] = 160] = "FirstTypeNode"; SyntaxKind[SyntaxKind["LastTypeNode"] = 178] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 17] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 70] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; SyntaxKind[SyntaxKind["LastToken"] = 144] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; SyntaxKind[SyntaxKind["LastLiteralToken"] = 13] = "LastLiteralToken"; SyntaxKind[SyntaxKind["FirstTemplateToken"] = 13] = "FirstTemplateToken"; SyntaxKind[SyntaxKind["LastTemplateToken"] = 16] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 27] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 70] = "LastBinaryOperator"; SyntaxKind[SyntaxKind["FirstNode"] = 145] = "FirstNode"; SyntaxKind[SyntaxKind["FirstJSDocNode"] = 275] = "FirstJSDocNode"; SyntaxKind[SyntaxKind["LastJSDocNode"] = 293] = "LastJSDocNode"; SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 285] = "FirstJSDocTagNode"; SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 293] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 117] = "FirstContextualKeyword"; /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 144] = "LastContextualKeyword"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { NodeFlags[NodeFlags["None"] = 0] = "None"; NodeFlags[NodeFlags["Let"] = 1] = "Let"; NodeFlags[NodeFlags["Const"] = 2] = "Const"; NodeFlags[NodeFlags["NestedNamespace"] = 4] = "NestedNamespace"; NodeFlags[NodeFlags["Synthesized"] = 8] = "Synthesized"; NodeFlags[NodeFlags["Namespace"] = 16] = "Namespace"; NodeFlags[NodeFlags["ExportContext"] = 32] = "ExportContext"; NodeFlags[NodeFlags["ContainsThis"] = 64] = "ContainsThis"; NodeFlags[NodeFlags["HasImplicitReturn"] = 128] = "HasImplicitReturn"; NodeFlags[NodeFlags["HasExplicitReturn"] = 256] = "HasExplicitReturn"; NodeFlags[NodeFlags["GlobalAugmentation"] = 512] = "GlobalAugmentation"; NodeFlags[NodeFlags["HasAsyncFunctions"] = 1024] = "HasAsyncFunctions"; NodeFlags[NodeFlags["DisallowInContext"] = 2048] = "DisallowInContext"; NodeFlags[NodeFlags["YieldContext"] = 4096] = "YieldContext"; NodeFlags[NodeFlags["DecoratorContext"] = 8192] = "DecoratorContext"; NodeFlags[NodeFlags["AwaitContext"] = 16384] = "AwaitContext"; NodeFlags[NodeFlags["ThisNodeHasError"] = 32768] = "ThisNodeHasError"; NodeFlags[NodeFlags["JavaScriptFile"] = 65536] = "JavaScriptFile"; NodeFlags[NodeFlags["ThisNodeOrAnySubNodesHasError"] = 131072] = "ThisNodeOrAnySubNodesHasError"; NodeFlags[NodeFlags["HasAggregatedChildData"] = 262144] = "HasAggregatedChildData"; // These flags will be set when the parser encounters a dynamic import expression or 'import.meta' to avoid // walking the tree if the flags are not set. However, these flags are just a approximation // (hence why it's named "PossiblyContainsDynamicImport") because once set, the flags never get cleared. // During editing, if a dynamic import is removed, incremental parsing will *NOT* clear this flag. // This means that the tree will always be traversed during module resolution, or when looking for external module indicators. // However, the removal operation should not occur often and in the case of the // removal, it is likely that users will add the import anyway. // The advantage of this approach is its simplicity. For the case of batch compilation, // we guarantee that users won't have to pay the price of walking the tree if a dynamic import isn't used. /* @internal */ NodeFlags[NodeFlags["PossiblyContainsDynamicImport"] = 524288] = "PossiblyContainsDynamicImport"; /* @internal */ NodeFlags[NodeFlags["PossiblyContainsImportMeta"] = 1048576] = "PossiblyContainsImportMeta"; NodeFlags[NodeFlags["JSDoc"] = 2097152] = "JSDoc"; /* @internal */ NodeFlags[NodeFlags["Ambient"] = 4194304] = "Ambient"; /* @internal */ NodeFlags[NodeFlags["InWithStatement"] = 8388608] = "InWithStatement"; NodeFlags[NodeFlags["JsonFile"] = 16777216] = "JsonFile"; NodeFlags[NodeFlags["BlockScoped"] = 3] = "BlockScoped"; NodeFlags[NodeFlags["ReachabilityCheckFlags"] = 384] = "ReachabilityCheckFlags"; NodeFlags[NodeFlags["ReachabilityAndEmitFlags"] = 1408] = "ReachabilityAndEmitFlags"; // Parsing context flags NodeFlags[NodeFlags["ContextFlags"] = 12679168] = "ContextFlags"; // Exclude these flags when parsing a Type NodeFlags[NodeFlags["TypeExcludesFlags"] = 20480] = "TypeExcludesFlags"; // Represents all flags that are potentially set once and // never cleared on SourceFiles which get re-used in between incremental parses. // See the comment above on `PossiblyContainsDynamicImport` and `PossiblyContainsImportMeta`. /* @internal */ NodeFlags[NodeFlags["PermanentlySetIncrementalFlags"] = 1572864] = "PermanentlySetIncrementalFlags"; })(NodeFlags = ts.NodeFlags || (ts.NodeFlags = {})); var ModifierFlags; (function (ModifierFlags) { ModifierFlags[ModifierFlags["None"] = 0] = "None"; ModifierFlags[ModifierFlags["Export"] = 1] = "Export"; ModifierFlags[ModifierFlags["Ambient"] = 2] = "Ambient"; ModifierFlags[ModifierFlags["Public"] = 4] = "Public"; ModifierFlags[ModifierFlags["Private"] = 8] = "Private"; ModifierFlags[ModifierFlags["Protected"] = 16] = "Protected"; ModifierFlags[ModifierFlags["Static"] = 32] = "Static"; ModifierFlags[ModifierFlags["Readonly"] = 64] = "Readonly"; ModifierFlags[ModifierFlags["Abstract"] = 128] = "Abstract"; ModifierFlags[ModifierFlags["Async"] = 256] = "Async"; ModifierFlags[ModifierFlags["Default"] = 512] = "Default"; ModifierFlags[ModifierFlags["Const"] = 2048] = "Const"; ModifierFlags[ModifierFlags["HasComputedFlags"] = 536870912] = "HasComputedFlags"; ModifierFlags[ModifierFlags["AccessibilityModifier"] = 28] = "AccessibilityModifier"; // Accessibility modifiers and 'readonly' can be attached to a parameter in a constructor to make it a property. ModifierFlags[ModifierFlags["ParameterPropertyModifier"] = 92] = "ParameterPropertyModifier"; ModifierFlags[ModifierFlags["NonPublicAccessibilityModifier"] = 24] = "NonPublicAccessibilityModifier"; ModifierFlags[ModifierFlags["TypeScriptModifier"] = 2270] = "TypeScriptModifier"; ModifierFlags[ModifierFlags["ExportDefault"] = 513] = "ExportDefault"; ModifierFlags[ModifierFlags["All"] = 3071] = "All"; })(ModifierFlags = ts.ModifierFlags || (ts.ModifierFlags = {})); var JsxFlags; (function (JsxFlags) { JsxFlags[JsxFlags["None"] = 0] = "None"; /** An element from a named property of the JSX.IntrinsicElements interface */ JsxFlags[JsxFlags["IntrinsicNamedElement"] = 1] = "IntrinsicNamedElement"; /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ JsxFlags[JsxFlags["IntrinsicIndexedElement"] = 2] = "IntrinsicIndexedElement"; JsxFlags[JsxFlags["IntrinsicElement"] = 3] = "IntrinsicElement"; })(JsxFlags = ts.JsxFlags || (ts.JsxFlags = {})); /* @internal */ var RelationComparisonResult; (function (RelationComparisonResult) { RelationComparisonResult[RelationComparisonResult["Succeeded"] = 1] = "Succeeded"; RelationComparisonResult[RelationComparisonResult["Failed"] = 2] = "Failed"; RelationComparisonResult[RelationComparisonResult["FailedAndReported"] = 3] = "FailedAndReported"; })(RelationComparisonResult = ts.RelationComparisonResult || (ts.RelationComparisonResult = {})); /*@internal*/ var GeneratedIdentifierFlags; (function (GeneratedIdentifierFlags) { // Kinds GeneratedIdentifierFlags[GeneratedIdentifierFlags["None"] = 0] = "None"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["Auto"] = 1] = "Auto"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["Loop"] = 2] = "Loop"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["Unique"] = 3] = "Unique"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["Node"] = 4] = "Node"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["KindMask"] = 7] = "KindMask"; // Flags GeneratedIdentifierFlags[GeneratedIdentifierFlags["ReservedInNestedScopes"] = 8] = "ReservedInNestedScopes"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["Optimistic"] = 16] = "Optimistic"; GeneratedIdentifierFlags[GeneratedIdentifierFlags["FileLevel"] = 32] = "FileLevel"; })(GeneratedIdentifierFlags = ts.GeneratedIdentifierFlags || (ts.GeneratedIdentifierFlags = {})); /* @internal */ var TokenFlags; (function (TokenFlags) { TokenFlags[TokenFlags["None"] = 0] = "None"; TokenFlags[TokenFlags["PrecedingLineBreak"] = 1] = "PrecedingLineBreak"; TokenFlags[TokenFlags["PrecedingJSDocComment"] = 2] = "PrecedingJSDocComment"; TokenFlags[TokenFlags["Unterminated"] = 4] = "Unterminated"; TokenFlags[TokenFlags["ExtendedUnicodeEscape"] = 8] = "ExtendedUnicodeEscape"; TokenFlags[TokenFlags["Scientific"] = 16] = "Scientific"; TokenFlags[TokenFlags["Octal"] = 32] = "Octal"; TokenFlags[TokenFlags["HexSpecifier"] = 64] = "HexSpecifier"; TokenFlags[TokenFlags["BinarySpecifier"] = 128] = "BinarySpecifier"; TokenFlags[TokenFlags["OctalSpecifier"] = 256] = "OctalSpecifier"; TokenFlags[TokenFlags["ContainsSeparator"] = 512] = "ContainsSeparator"; TokenFlags[TokenFlags["BinaryOrOctalSpecifier"] = 384] = "BinaryOrOctalSpecifier"; TokenFlags[TokenFlags["NumericLiteralFlags"] = 1008] = "NumericLiteralFlags"; })(TokenFlags = ts.TokenFlags || (ts.TokenFlags = {})); var FlowFlags; (function (FlowFlags) { FlowFlags[FlowFlags["Unreachable"] = 1] = "Unreachable"; FlowFlags[FlowFlags["Start"] = 2] = "Start"; FlowFlags[FlowFlags["BranchLabel"] = 4] = "BranchLabel"; FlowFlags[FlowFlags["LoopLabel"] = 8] = "LoopLabel"; FlowFlags[FlowFlags["Assignment"] = 16] = "Assignment"; FlowFlags[FlowFlags["TrueCondition"] = 32] = "TrueCondition"; FlowFlags[FlowFlags["FalseCondition"] = 64] = "FalseCondition"; FlowFlags[FlowFlags["SwitchClause"] = 128] = "SwitchClause"; FlowFlags[FlowFlags["ArrayMutation"] = 256] = "ArrayMutation"; FlowFlags[FlowFlags["Referenced"] = 512] = "Referenced"; FlowFlags[FlowFlags["Shared"] = 1024] = "Shared"; FlowFlags[FlowFlags["PreFinally"] = 2048] = "PreFinally"; FlowFlags[FlowFlags["AfterFinally"] = 4096] = "AfterFinally"; FlowFlags[FlowFlags["Label"] = 12] = "Label"; FlowFlags[FlowFlags["Condition"] = 96] = "Condition"; })(FlowFlags = ts.FlowFlags || (ts.FlowFlags = {})); var OperationCanceledException = /** @class */ (function () { function OperationCanceledException() { } return OperationCanceledException; }()); ts.OperationCanceledException = OperationCanceledException; /* @internal */ var StructureIsReused; (function (StructureIsReused) { StructureIsReused[StructureIsReused["Not"] = 0] = "Not"; StructureIsReused[StructureIsReused["SafeModules"] = 1] = "SafeModules"; StructureIsReused[StructureIsReused["Completely"] = 2] = "Completely"; })(StructureIsReused = ts.StructureIsReused || (ts.StructureIsReused = {})); /** Return code used by getEmitOutput function to indicate status of the function */ var ExitStatus; (function (ExitStatus) { // Compiler ran successfully. Either this was a simple do-nothing compilation (for example, // when -version or -help was provided, or this was a normal compilation, no diagnostics // were produced, and all outputs were generated successfully. ExitStatus[ExitStatus["Success"] = 0] = "Success"; // Diagnostics were produced and because of them no code was generated. ExitStatus[ExitStatus["DiagnosticsPresent_OutputsSkipped"] = 1] = "DiagnosticsPresent_OutputsSkipped"; // Diagnostics were produced and outputs were generated in spite of them. ExitStatus[ExitStatus["DiagnosticsPresent_OutputsGenerated"] = 2] = "DiagnosticsPresent_OutputsGenerated"; })(ExitStatus = ts.ExitStatus || (ts.ExitStatus = {})); /* @internal */ var UnionReduction; (function (UnionReduction) { UnionReduction[UnionReduction["None"] = 0] = "None"; UnionReduction[UnionReduction["Literal"] = 1] = "Literal"; UnionReduction[UnionReduction["Subtype"] = 2] = "Subtype"; })(UnionReduction = ts.UnionReduction || (ts.UnionReduction = {})); var NodeBuilderFlags; (function (NodeBuilderFlags) { NodeBuilderFlags[NodeBuilderFlags["None"] = 0] = "None"; // Options NodeBuilderFlags[NodeBuilderFlags["NoTruncation"] = 1] = "NoTruncation"; NodeBuilderFlags[NodeBuilderFlags["WriteArrayAsGenericType"] = 2] = "WriteArrayAsGenericType"; // empty space NodeBuilderFlags[NodeBuilderFlags["UseStructuralFallback"] = 8] = "UseStructuralFallback"; // empty space NodeBuilderFlags[NodeBuilderFlags["WriteTypeArgumentsOfSignature"] = 32] = "WriteTypeArgumentsOfSignature"; NodeBuilderFlags[NodeBuilderFlags["UseFullyQualifiedType"] = 64] = "UseFullyQualifiedType"; NodeBuilderFlags[NodeBuilderFlags["UseOnlyExternalAliasing"] = 128] = "UseOnlyExternalAliasing"; NodeBuilderFlags[NodeBuilderFlags["SuppressAnyReturnType"] = 256] = "SuppressAnyReturnType"; NodeBuilderFlags[NodeBuilderFlags["WriteTypeParametersInQualifiedName"] = 512] = "WriteTypeParametersInQualifiedName"; NodeBuilderFlags[NodeBuilderFlags["MultilineObjectLiterals"] = 1024] = "MultilineObjectLiterals"; NodeBuilderFlags[NodeBuilderFlags["WriteClassExpressionAsTypeLiteral"] = 2048] = "WriteClassExpressionAsTypeLiteral"; NodeBuilderFlags[NodeBuilderFlags["UseTypeOfFunction"] = 4096] = "UseTypeOfFunction"; NodeBuilderFlags[NodeBuilderFlags["OmitParameterModifiers"] = 8192] = "OmitParameterModifiers"; NodeBuilderFlags[NodeBuilderFlags["UseAliasDefinedOutsideCurrentScope"] = 16384] = "UseAliasDefinedOutsideCurrentScope"; // Error handling NodeBuilderFlags[NodeBuilderFlags["AllowThisInObjectLiteral"] = 32768] = "AllowThisInObjectLiteral"; NodeBuilderFlags[NodeBuilderFlags["AllowQualifedNameInPlaceOfIdentifier"] = 65536] = "AllowQualifedNameInPlaceOfIdentifier"; NodeBuilderFlags[NodeBuilderFlags["AllowAnonymousIdentifier"] = 131072] = "AllowAnonymousIdentifier"; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyUnionOrIntersection"] = 262144] = "AllowEmptyUnionOrIntersection"; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyTuple"] = 524288] = "AllowEmptyTuple"; NodeBuilderFlags[NodeBuilderFlags["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType"; NodeBuilderFlags[NodeBuilderFlags["IgnoreErrors"] = 3112960] = "IgnoreErrors"; // State NodeBuilderFlags[NodeBuilderFlags["InObjectTypeLiteral"] = 4194304] = "InObjectTypeLiteral"; NodeBuilderFlags[NodeBuilderFlags["InTypeAlias"] = 8388608] = "InTypeAlias"; NodeBuilderFlags[NodeBuilderFlags["InInitialEntityName"] = 16777216] = "InInitialEntityName"; NodeBuilderFlags[NodeBuilderFlags["InReverseMappedType"] = 33554432] = "InReverseMappedType"; })(NodeBuilderFlags = ts.NodeBuilderFlags || (ts.NodeBuilderFlags = {})); // Ensure the shared flags between this and `NodeBuilderFlags` stay in alignment var TypeFormatFlags; (function (TypeFormatFlags) { TypeFormatFlags[TypeFormatFlags["None"] = 0] = "None"; TypeFormatFlags[TypeFormatFlags["NoTruncation"] = 1] = "NoTruncation"; TypeFormatFlags[TypeFormatFlags["WriteArrayAsGenericType"] = 2] = "WriteArrayAsGenericType"; // hole because there's a hole in node builder flags TypeFormatFlags[TypeFormatFlags["UseStructuralFallback"] = 8] = "UseStructuralFallback"; // hole because there's a hole in node builder flags TypeFormatFlags[TypeFormatFlags["WriteTypeArgumentsOfSignature"] = 32] = "WriteTypeArgumentsOfSignature"; TypeFormatFlags[TypeFormatFlags["UseFullyQualifiedType"] = 64] = "UseFullyQualifiedType"; // hole because `UseOnlyExternalAliasing` is here in node builder flags, but functions which take old flags use `SymbolFormatFlags` instead TypeFormatFlags[TypeFormatFlags["SuppressAnyReturnType"] = 256] = "SuppressAnyReturnType"; // hole because `WriteTypeParametersInQualifiedName` is here in node builder flags, but functions which take old flags use `SymbolFormatFlags` for this instead TypeFormatFlags[TypeFormatFlags["MultilineObjectLiterals"] = 1024] = "MultilineObjectLiterals"; TypeFormatFlags[TypeFormatFlags["WriteClassExpressionAsTypeLiteral"] = 2048] = "WriteClassExpressionAsTypeLiteral"; TypeFormatFlags[TypeFormatFlags["UseTypeOfFunction"] = 4096] = "UseTypeOfFunction"; TypeFormatFlags[TypeFormatFlags["OmitParameterModifiers"] = 8192] = "OmitParameterModifiers"; TypeFormatFlags[TypeFormatFlags["UseAliasDefinedOutsideCurrentScope"] = 16384] = "UseAliasDefinedOutsideCurrentScope"; // even though `T` can't be accessed in the current scope. // Error Handling TypeFormatFlags[TypeFormatFlags["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; // TypeFormatFlags exclusive TypeFormatFlags[TypeFormatFlags["AddUndefined"] = 131072] = "AddUndefined"; TypeFormatFlags[TypeFormatFlags["WriteArrowStyleSignature"] = 262144] = "WriteArrowStyleSignature"; // State TypeFormatFlags[TypeFormatFlags["InArrayType"] = 524288] = "InArrayType"; TypeFormatFlags[TypeFormatFlags["InElementType"] = 2097152] = "InElementType"; TypeFormatFlags[TypeFormatFlags["InFirstTypeArgument"] = 4194304] = "InFirstTypeArgument"; TypeFormatFlags[TypeFormatFlags["InTypeAlias"] = 8388608] = "InTypeAlias"; /** @deprecated */ TypeFormatFlags[TypeFormatFlags["WriteOwnNameForAnyLike"] = 0] = "WriteOwnNameForAnyLike"; TypeFormatFlags[TypeFormatFlags["NodeBuilderFlagsMask"] = 9469291] = "NodeBuilderFlagsMask"; })(TypeFormatFlags = ts.TypeFormatFlags || (ts.TypeFormatFlags = {})); var SymbolFormatFlags; (function (SymbolFormatFlags) { SymbolFormatFlags[SymbolFormatFlags["None"] = 0] = "None"; // Write symbols's type argument if it is instantiated symbol // eg. class C<T> { p: T } <-- Show p as C<T>.p here // var a: C<number>; // var p = a.p; <--- Here p is property of C<number> so show it as C<number>.p instead of just C.p SymbolFormatFlags[SymbolFormatFlags["WriteTypeParametersOrArguments"] = 1] = "WriteTypeParametersOrArguments"; // Use only external alias information to get the symbol name in the given context // eg. module m { export class c { } } import x = m.c; // When this flag is specified m.c will be used to refer to the class instead of alias symbol x SymbolFormatFlags[SymbolFormatFlags["UseOnlyExternalAliasing"] = 2] = "UseOnlyExternalAliasing"; // Build symbol name using any nodes needed, instead of just components of an entity name SymbolFormatFlags[SymbolFormatFlags["AllowAnyNodeKind"] = 4] = "AllowAnyNodeKind"; // Prefer aliases which are not directly visible SymbolFormatFlags[SymbolFormatFlags["UseAliasDefinedOutsideCurrentScope"] = 8] = "UseAliasDefinedOutsideCurrentScope"; })(SymbolFormatFlags = ts.SymbolFormatFlags || (ts.SymbolFormatFlags = {})); /* @internal */ var SymbolAccessibility; (function (SymbolAccessibility) { SymbolAccessibility[SymbolAccessibility["Accessible"] = 0] = "Accessible"; SymbolAccessibility[SymbolAccessibility["NotAccessible"] = 1] = "NotAccessible"; SymbolAccessibility[SymbolAccessibility["CannotBeNamed"] = 2] = "CannotBeNamed"; })(SymbolAccessibility = ts.SymbolAccessibility || (ts.SymbolAccessibility = {})); /* @internal */ var SyntheticSymbolKind; (function (SyntheticSymbolKind) { SyntheticSymbolKind[SyntheticSymbolKind["UnionOrIntersection"] = 0] = "UnionOrIntersection"; SyntheticSymbolKind[SyntheticSymbolKind["Spread"] = 1] = "Spread"; })(SyntheticSymbolKind = ts.SyntheticSymbolKind || (ts.SyntheticSymbolKind = {})); var TypePredicateKind; (function (TypePredicateKind) { TypePredicateKind[TypePredicateKind["This"] = 0] = "This"; TypePredicateKind[TypePredicateKind["Identifier"] = 1] = "Identifier"; })(TypePredicateKind = ts.TypePredicateKind || (ts.TypePredicateKind = {})); /** Indicates how to serialize the name for a TypeReferenceNode when emitting decorator metadata */ /* @internal */ var TypeReferenceSerializationKind; (function (TypeReferenceSerializationKind) { TypeReferenceSerializationKind[TypeReferenceSerializationKind["Unknown"] = 0] = "Unknown"; // should be emitted using a safe fallback. TypeReferenceSerializationKind[TypeReferenceSerializationKind["TypeWithConstructSignatureAndValue"] = 1] = "TypeWithConstructSignatureAndValue"; // function that can be reached at runtime (e.g. a `class` // declaration or a `var` declaration for the static side // of a type, such as the global `Promise` type in lib.d.ts). TypeReferenceSerializationKind[TypeReferenceSerializationKind["VoidNullableOrNeverType"] = 2] = "VoidNullableOrNeverType"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["NumberLikeType"] = 3] = "NumberLikeType"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["StringLikeType"] = 4] = "St