UNPKG

pxt-core

Version:

Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors

705 lines (701 loc) • 8.71 MB
"use strict"; // make sure TypeScript doesn't overwrite our module.exports global.savedModuleExports = module.exports; module.exports = null; /*! ***************************************************************************** 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 __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) { // token > SyntaxKind.Identifer => 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["IsKeyword"] = 126] = "IsKeyword"; SyntaxKind[SyntaxKind["KeyOfKeyword"] = 127] = "KeyOfKeyword"; SyntaxKind[SyntaxKind["ModuleKeyword"] = 128] = "ModuleKeyword"; SyntaxKind[SyntaxKind["NamespaceKeyword"] = 129] = "NamespaceKeyword"; SyntaxKind[SyntaxKind["NeverKeyword"] = 130] = "NeverKeyword"; SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 131] = "ReadonlyKeyword"; SyntaxKind[SyntaxKind["RequireKeyword"] = 132] = "RequireKeyword"; SyntaxKind[SyntaxKind["NumberKeyword"] = 133] = "NumberKeyword"; SyntaxKind[SyntaxKind["ObjectKeyword"] = 134] = "ObjectKeyword"; SyntaxKind[SyntaxKind["SetKeyword"] = 135] = "SetKeyword"; SyntaxKind[SyntaxKind["StringKeyword"] = 136] = "StringKeyword"; SyntaxKind[SyntaxKind["SymbolKeyword"] = 137] = "SymbolKeyword"; SyntaxKind[SyntaxKind["TypeKeyword"] = 138] = "TypeKeyword"; SyntaxKind[SyntaxKind["UndefinedKeyword"] = 139] = "UndefinedKeyword"; SyntaxKind[SyntaxKind["FromKeyword"] = 140] = "FromKeyword"; SyntaxKind[SyntaxKind["GlobalKeyword"] = 141] = "GlobalKeyword"; SyntaxKind[SyntaxKind["OfKeyword"] = 142] = "OfKeyword"; // Parse tree nodes // Names SyntaxKind[SyntaxKind["QualifiedName"] = 143] = "QualifiedName"; SyntaxKind[SyntaxKind["ComputedPropertyName"] = 144] = "ComputedPropertyName"; // Signature elements SyntaxKind[SyntaxKind["TypeParameter"] = 145] = "TypeParameter"; SyntaxKind[SyntaxKind["Parameter"] = 146] = "Parameter"; SyntaxKind[SyntaxKind["Decorator"] = 147] = "Decorator"; // TypeMember SyntaxKind[SyntaxKind["PropertySignature"] = 148] = "PropertySignature"; SyntaxKind[SyntaxKind["PropertyDeclaration"] = 149] = "PropertyDeclaration"; SyntaxKind[SyntaxKind["MethodSignature"] = 150] = "MethodSignature"; SyntaxKind[SyntaxKind["MethodDeclaration"] = 151] = "MethodDeclaration"; SyntaxKind[SyntaxKind["Constructor"] = 152] = "Constructor"; SyntaxKind[SyntaxKind["GetAccessor"] = 153] = "GetAccessor"; SyntaxKind[SyntaxKind["SetAccessor"] = 154] = "SetAccessor"; SyntaxKind[SyntaxKind["CallSignature"] = 155] = "CallSignature"; SyntaxKind[SyntaxKind["ConstructSignature"] = 156] = "ConstructSignature"; SyntaxKind[SyntaxKind["IndexSignature"] = 157] = "IndexSignature"; // Type SyntaxKind[SyntaxKind["TypePredicate"] = 158] = "TypePredicate"; SyntaxKind[SyntaxKind["TypeReference"] = 159] = "TypeReference"; SyntaxKind[SyntaxKind["FunctionType"] = 160] = "FunctionType"; SyntaxKind[SyntaxKind["ConstructorType"] = 161] = "ConstructorType"; SyntaxKind[SyntaxKind["TypeQuery"] = 162] = "TypeQuery"; SyntaxKind[SyntaxKind["TypeLiteral"] = 163] = "TypeLiteral"; SyntaxKind[SyntaxKind["ArrayType"] = 164] = "ArrayType"; SyntaxKind[SyntaxKind["TupleType"] = 165] = "TupleType"; SyntaxKind[SyntaxKind["UnionType"] = 166] = "UnionType"; SyntaxKind[SyntaxKind["IntersectionType"] = 167] = "IntersectionType"; SyntaxKind[SyntaxKind["ParenthesizedType"] = 168] = "ParenthesizedType"; SyntaxKind[SyntaxKind["ThisType"] = 169] = "ThisType"; SyntaxKind[SyntaxKind["TypeOperator"] = 170] = "TypeOperator"; SyntaxKind[SyntaxKind["IndexedAccessType"] = 171] = "IndexedAccessType"; SyntaxKind[SyntaxKind["MappedType"] = 172] = "MappedType"; SyntaxKind[SyntaxKind["LiteralType"] = 173] = "LiteralType"; // Binding patterns SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 174] = "ObjectBindingPattern"; SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 175] = "ArrayBindingPattern"; SyntaxKind[SyntaxKind["BindingElement"] = 176] = "BindingElement"; // Expression SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 177] = "ArrayLiteralExpression"; SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 178] = "ObjectLiteralExpression"; SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 179] = "PropertyAccessExpression"; SyntaxKind[SyntaxKind["ElementAccessExpression"] = 180] = "ElementAccessExpression"; SyntaxKind[SyntaxKind["CallExpression"] = 181] = "CallExpression"; SyntaxKind[SyntaxKind["NewExpression"] = 182] = "NewExpression"; SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 183] = "TaggedTemplateExpression"; SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 184] = "TypeAssertionExpression"; SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 185] = "ParenthesizedExpression"; SyntaxKind[SyntaxKind["FunctionExpression"] = 186] = "FunctionExpression"; SyntaxKind[SyntaxKind["ArrowFunction"] = 187] = "ArrowFunction"; SyntaxKind[SyntaxKind["DeleteExpression"] = 188] = "DeleteExpression"; SyntaxKind[SyntaxKind["TypeOfExpression"] = 189] = "TypeOfExpression"; SyntaxKind[SyntaxKind["VoidExpression"] = 190] = "VoidExpression"; SyntaxKind[SyntaxKind["AwaitExpression"] = 191] = "AwaitExpression"; SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 192] = "PrefixUnaryExpression"; SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 193] = "PostfixUnaryExpression"; SyntaxKind[SyntaxKind["BinaryExpression"] = 194] = "BinaryExpression"; SyntaxKind[SyntaxKind["ConditionalExpression"] = 195] = "ConditionalExpression"; SyntaxKind[SyntaxKind["TemplateExpression"] = 196] = "TemplateExpression"; SyntaxKind[SyntaxKind["YieldExpression"] = 197] = "YieldExpression"; SyntaxKind[SyntaxKind["SpreadElement"] = 198] = "SpreadElement"; SyntaxKind[SyntaxKind["ClassExpression"] = 199] = "ClassExpression"; SyntaxKind[SyntaxKind["OmittedExpression"] = 200] = "OmittedExpression"; SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 201] = "ExpressionWithTypeArguments"; SyntaxKind[SyntaxKind["AsExpression"] = 202] = "AsExpression"; SyntaxKind[SyntaxKind["NonNullExpression"] = 203] = "NonNullExpression"; SyntaxKind[SyntaxKind["MetaProperty"] = 204] = "MetaProperty"; // Misc SyntaxKind[SyntaxKind["TemplateSpan"] = 205] = "TemplateSpan"; SyntaxKind[SyntaxKind["SemicolonClassElement"] = 206] = "SemicolonClassElement"; // Element SyntaxKind[SyntaxKind["Block"] = 207] = "Block"; SyntaxKind[SyntaxKind["VariableStatement"] = 208] = "VariableStatement"; SyntaxKind[SyntaxKind["EmptyStatement"] = 209] = "EmptyStatement"; SyntaxKind[SyntaxKind["ExpressionStatement"] = 210] = "ExpressionStatement"; SyntaxKind[SyntaxKind["IfStatement"] = 211] = "IfStatement"; SyntaxKind[SyntaxKind["DoStatement"] = 212] = "DoStatement"; SyntaxKind[SyntaxKind["WhileStatement"] = 213] = "WhileStatement"; SyntaxKind[SyntaxKind["ForStatement"] = 214] = "ForStatement"; SyntaxKind[SyntaxKind["ForInStatement"] = 215] = "ForInStatement"; SyntaxKind[SyntaxKind["ForOfStatement"] = 216] = "ForOfStatement"; SyntaxKind[SyntaxKind["ContinueStatement"] = 217] = "ContinueStatement"; SyntaxKind[SyntaxKind["BreakStatement"] = 218] = "BreakStatement"; SyntaxKind[SyntaxKind["ReturnStatement"] = 219] = "ReturnStatement"; SyntaxKind[SyntaxKind["WithStatement"] = 220] = "WithStatement"; SyntaxKind[SyntaxKind["SwitchStatement"] = 221] = "SwitchStatement"; SyntaxKind[SyntaxKind["LabeledStatement"] = 222] = "LabeledStatement"; SyntaxKind[SyntaxKind["ThrowStatement"] = 223] = "ThrowStatement"; SyntaxKind[SyntaxKind["TryStatement"] = 224] = "TryStatement"; SyntaxKind[SyntaxKind["DebuggerStatement"] = 225] = "DebuggerStatement"; SyntaxKind[SyntaxKind["VariableDeclaration"] = 226] = "VariableDeclaration"; SyntaxKind[SyntaxKind["VariableDeclarationList"] = 227] = "VariableDeclarationList"; SyntaxKind[SyntaxKind["FunctionDeclaration"] = 228] = "FunctionDeclaration"; SyntaxKind[SyntaxKind["ClassDeclaration"] = 229] = "ClassDeclaration"; SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 230] = "InterfaceDeclaration"; SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 231] = "TypeAliasDeclaration"; SyntaxKind[SyntaxKind["EnumDeclaration"] = 232] = "EnumDeclaration"; SyntaxKind[SyntaxKind["ModuleDeclaration"] = 233] = "ModuleDeclaration"; SyntaxKind[SyntaxKind["ModuleBlock"] = 234] = "ModuleBlock"; SyntaxKind[SyntaxKind["CaseBlock"] = 235] = "CaseBlock"; SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 236] = "NamespaceExportDeclaration"; SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 237] = "ImportEqualsDeclaration"; SyntaxKind[SyntaxKind["ImportDeclaration"] = 238] = "ImportDeclaration"; SyntaxKind[SyntaxKind["ImportClause"] = 239] = "ImportClause"; SyntaxKind[SyntaxKind["NamespaceImport"] = 240] = "NamespaceImport"; SyntaxKind[SyntaxKind["NamedImports"] = 241] = "NamedImports"; SyntaxKind[SyntaxKind["ImportSpecifier"] = 242] = "ImportSpecifier"; SyntaxKind[SyntaxKind["ExportAssignment"] = 243] = "ExportAssignment"; SyntaxKind[SyntaxKind["ExportDeclaration"] = 244] = "ExportDeclaration"; SyntaxKind[SyntaxKind["NamedExports"] = 245] = "NamedExports"; SyntaxKind[SyntaxKind["ExportSpecifier"] = 246] = "ExportSpecifier"; SyntaxKind[SyntaxKind["MissingDeclaration"] = 247] = "MissingDeclaration"; // Module references SyntaxKind[SyntaxKind["ExternalModuleReference"] = 248] = "ExternalModuleReference"; // JSX SyntaxKind[SyntaxKind["JsxElement"] = 249] = "JsxElement"; SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 250] = "JsxSelfClosingElement"; SyntaxKind[SyntaxKind["JsxOpeningElement"] = 251] = "JsxOpeningElement"; SyntaxKind[SyntaxKind["JsxClosingElement"] = 252] = "JsxClosingElement"; SyntaxKind[SyntaxKind["JsxAttribute"] = 253] = "JsxAttribute"; SyntaxKind[SyntaxKind["JsxAttributes"] = 254] = "JsxAttributes"; SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 255] = "JsxSpreadAttribute"; SyntaxKind[SyntaxKind["JsxExpression"] = 256] = "JsxExpression"; // Clauses SyntaxKind[SyntaxKind["CaseClause"] = 257] = "CaseClause"; SyntaxKind[SyntaxKind["DefaultClause"] = 258] = "DefaultClause"; SyntaxKind[SyntaxKind["HeritageClause"] = 259] = "HeritageClause"; SyntaxKind[SyntaxKind["CatchClause"] = 260] = "CatchClause"; // Property assignments SyntaxKind[SyntaxKind["PropertyAssignment"] = 261] = "PropertyAssignment"; SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 262] = "ShorthandPropertyAssignment"; SyntaxKind[SyntaxKind["SpreadAssignment"] = 263] = "SpreadAssignment"; // Enum SyntaxKind[SyntaxKind["EnumMember"] = 264] = "EnumMember"; // Top-level nodes SyntaxKind[SyntaxKind["SourceFile"] = 265] = "SourceFile"; SyntaxKind[SyntaxKind["Bundle"] = 266] = "Bundle"; // JSDoc nodes SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 267] = "JSDocTypeExpression"; // The * type SyntaxKind[SyntaxKind["JSDocAllType"] = 268] = "JSDocAllType"; // The ? type SyntaxKind[SyntaxKind["JSDocUnknownType"] = 269] = "JSDocUnknownType"; SyntaxKind[SyntaxKind["JSDocNullableType"] = 270] = "JSDocNullableType"; SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 271] = "JSDocNonNullableType"; SyntaxKind[SyntaxKind["JSDocOptionalType"] = 272] = "JSDocOptionalType"; SyntaxKind[SyntaxKind["JSDocFunctionType"] = 273] = "JSDocFunctionType"; SyntaxKind[SyntaxKind["JSDocVariadicType"] = 274] = "JSDocVariadicType"; SyntaxKind[SyntaxKind["JSDocComment"] = 275] = "JSDocComment"; SyntaxKind[SyntaxKind["JSDocTag"] = 276] = "JSDocTag"; SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 277] = "JSDocAugmentsTag"; SyntaxKind[SyntaxKind["JSDocClassTag"] = 278] = "JSDocClassTag"; SyntaxKind[SyntaxKind["JSDocParameterTag"] = 279] = "JSDocParameterTag"; SyntaxKind[SyntaxKind["JSDocReturnTag"] = 280] = "JSDocReturnTag"; SyntaxKind[SyntaxKind["JSDocTypeTag"] = 281] = "JSDocTypeTag"; SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 282] = "JSDocTemplateTag"; SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 283] = "JSDocTypedefTag"; SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 284] = "JSDocPropertyTag"; SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 285] = "JSDocTypeLiteral"; // Synthesized list SyntaxKind[SyntaxKind["SyntaxList"] = 286] = "SyntaxList"; // Transformation nodes SyntaxKind[SyntaxKind["NotEmittedStatement"] = 287] = "NotEmittedStatement"; SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 288] = "PartiallyEmittedExpression"; SyntaxKind[SyntaxKind["CommaListExpression"] = 289] = "CommaListExpression"; SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 290] = "MergeDeclarationMarker"; SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 291] = "EndOfDeclarationMarker"; // Enum value count SyntaxKind[SyntaxKind["Count"] = 292] = "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"] = 142] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 108] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 116] = "LastFutureReservedWord"; SyntaxKind[SyntaxKind["FirstTypeNode"] = 158] = "FirstTypeNode"; SyntaxKind[SyntaxKind["LastTypeNode"] = 173] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 17] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 70] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; SyntaxKind[SyntaxKind["LastToken"] = 142] = "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"] = 143] = "FirstNode"; SyntaxKind[SyntaxKind["FirstJSDocNode"] = 267] = "FirstJSDocNode"; SyntaxKind[SyntaxKind["LastJSDocNode"] = 285] = "LastJSDocNode"; SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 276] = "FirstJSDocTagNode"; SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 285] = "LastJSDocTagNode"; })(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"; // This flag will be set when the parser encounters a dynamic import expression so that module resolution // will not have to walk the tree if the flag is not set. However, this flag is just a approximation because // once it is set, the flag never gets cleared (hence why it's named "PossiblyContainsDynamicImport"). // During editing, if dynamic import is removed, incremental parsing will *NOT* update this flag. This means that the tree will always be traversed // during module resolution. 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"; NodeFlags[NodeFlags["JSDoc"] = 1048576] = "JSDoc"; NodeFlags[NodeFlags["BlockScoped"] = 3] = "BlockScoped"; NodeFlags[NodeFlags["ReachabilityCheckFlags"] = 384] = "ReachabilityCheckFlags"; NodeFlags[NodeFlags["ReachabilityAndEmitFlags"] = 1408] = "ReachabilityAndEmitFlags"; // Parsing context flags NodeFlags[NodeFlags["ContextFlags"] = 96256] = "ContextFlags"; // Exclude these flags when parsing a Type NodeFlags[NodeFlags["TypeExcludesFlags"] = 20480] = "TypeExcludesFlags"; })(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 = 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 GeneratedIdentifierKind; (function (GeneratedIdentifierKind) { GeneratedIdentifierKind[GeneratedIdentifierKind["None"] = 0] = "None"; GeneratedIdentifierKind[GeneratedIdentifierKind["Auto"] = 1] = "Auto"; GeneratedIdentifierKind[GeneratedIdentifierKind["Loop"] = 2] = "Loop"; GeneratedIdentifierKind[GeneratedIdentifierKind["Unique"] = 3] = "Unique"; GeneratedIdentifierKind[GeneratedIdentifierKind["Node"] = 4] = "Node"; })(GeneratedIdentifierKind = ts.GeneratedIdentifierKind || (ts.GeneratedIdentifierKind = {})); /* @internal */ var NumericLiteralFlags; (function (NumericLiteralFlags) { NumericLiteralFlags[NumericLiteralFlags["None"] = 0] = "None"; NumericLiteralFlags[NumericLiteralFlags["Scientific"] = 2] = "Scientific"; NumericLiteralFlags[NumericLiteralFlags["Octal"] = 4] = "Octal"; NumericLiteralFlags[NumericLiteralFlags["HexSpecifier"] = 8] = "HexSpecifier"; NumericLiteralFlags[NumericLiteralFlags["BinarySpecifier"] = 16] = "BinarySpecifier"; NumericLiteralFlags[NumericLiteralFlags["OctalSpecifier"] = 32] = "OctalSpecifier"; NumericLiteralFlags[NumericLiteralFlags["BinaryOrOctalSpecifier"] = 48] = "BinaryOrOctalSpecifier"; })(NumericLiteralFlags = ts.NumericLiteralFlags || (ts.NumericLiteralFlags = {})); 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 = {})); var NodeBuilderFlags; (function (NodeBuilderFlags) { NodeBuilderFlags[NodeBuilderFlags["None"] = 0] = "None"; // Options NodeBuilderFlags[NodeBuilderFlags["NoTruncation"] = 1] = "NoTruncation"; NodeBuilderFlags[NodeBuilderFlags["WriteArrayAsGenericType"] = 2] = "WriteArrayAsGenericType"; NodeBuilderFlags[NodeBuilderFlags["WriteTypeArgumentsOfSignature"] = 32] = "WriteTypeArgumentsOfSignature"; NodeBuilderFlags[NodeBuilderFlags["UseFullyQualifiedType"] = 64] = "UseFullyQualifiedType"; NodeBuilderFlags[NodeBuilderFlags["SuppressAnyReturnType"] = 256] = "SuppressAnyReturnType"; NodeBuilderFlags[NodeBuilderFlags["WriteTypeParametersInQualifiedName"] = 512] = "WriteTypeParametersInQualifiedName"; // Error handling NodeBuilderFlags[NodeBuilderFlags["AllowThisInObjectLiteral"] = 1024] = "AllowThisInObjectLiteral"; NodeBuilderFlags[NodeBuilderFlags["AllowQualifedNameInPlaceOfIdentifier"] = 2048] = "AllowQualifedNameInPlaceOfIdentifier"; NodeBuilderFlags[NodeBuilderFlags["AllowAnonymousIdentifier"] = 8192] = "AllowAnonymousIdentifier"; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyUnionOrIntersection"] = 16384] = "AllowEmptyUnionOrIntersection"; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyTuple"] = 32768] = "AllowEmptyTuple"; NodeBuilderFlags[NodeBuilderFlags["IgnoreErrors"] = 60416] = "IgnoreErrors"; // State NodeBuilderFlags[NodeBuilderFlags["InObjectTypeLiteral"] = 1048576] = "InObjectTypeLiteral"; NodeBuilderFlags[NodeBuilderFlags["InTypeAlias"] = 8388608] = "InTypeAlias"; })(NodeBuilderFlags = ts.NodeBuilderFlags || (ts.NodeBuilderFlags = {})); var TypeFormatFlags; (function (TypeFormatFlags) { TypeFormatFlags[TypeFormatFlags["None"] = 0] = "None"; TypeFormatFlags[TypeFormatFlags["WriteArrayAsGenericType"] = 1] = "WriteArrayAsGenericType"; TypeFormatFlags[TypeFormatFlags["UseTypeOfFunction"] = 4] = "UseTypeOfFunction"; TypeFormatFlags[TypeFormatFlags["NoTruncation"] = 8] = "NoTruncation"; TypeFormatFlags[TypeFormatFlags["WriteArrowStyleSignature"] = 16] = "WriteArrowStyleSignature"; TypeFormatFlags[TypeFormatFlags["WriteOwnNameForAnyLike"] = 32] = "WriteOwnNameForAnyLike"; TypeFormatFlags[TypeFormatFlags["WriteTypeArgumentsOfSignature"] = 64] = "WriteTypeArgumentsOfSignature"; TypeFormatFlags[TypeFormatFlags["InElementType"] = 128] = "InElementType"; TypeFormatFlags[TypeFormatFlags["UseFullyQualifiedType"] = 256] = "UseFullyQualifiedType"; TypeFormatFlags[TypeFormatFlags["InFirstTypeArgument"] = 512] = "InFirstTypeArgument"; TypeFormatFlags[TypeFormatFlags["InTypeAlias"] = 1024] = "InTypeAlias"; TypeFormatFlags[TypeFormatFlags["SuppressAnyReturnType"] = 4096] = "SuppressAnyReturnType"; TypeFormatFlags[TypeFormatFlags["AddUndefined"] = 8192] = "AddUndefined"; TypeFormatFlags[TypeFormatFlags["WriteClassExpressionAsTypeLiteral"] = 16384] = "WriteClassExpressionAsTypeLiteral"; TypeFormatFlags[TypeFormatFlags["InArrayType"] = 32768] = "InArrayType"; TypeFormatFlags[TypeFormatFlags["UseAliasDefinedOutsideCurrentScope"] = 65536] = "UseAliasDefinedOutsideCurrentScope"; // even though `T` can't be accessed in the current scope. })(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"; })(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] = "StringLikeType"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["BooleanType"] = 5] = "BooleanType"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["ArrayLikeType"] = 6] = "ArrayLikeType"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["ESSymbolType"] = 7] = "ESSymbolType"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["Promise"] = 8] = "Promise"; TypeReferenceSerializationKind[TypeReferenceSerializationKind["TypeWithCallSignature"] = 9] = "TypeWithCallSignature"; // with call signatures. TypeReferenceSerializationKind[TypeReferenceSerializationKind["ObjectType"] = 10] = "ObjectType"; })(TypeReferenceSerializationKind = ts.TypeReferenceSerializationKind || (ts.TypeReferenceSerializationKind = {})); var SymbolFlags; (function (SymbolFlags) { SymbolFlags[SymbolFlags["None"] = 0] = "None"; SymbolFlags[SymbolFlags["FunctionScopedVariable"] = 1] = "FunctionScopedVariable"; SymbolFlags[SymbolFlags["BlockScopedVariable"] = 2] = "BlockScopedVariable"; SymbolFlags[SymbolFlags["Property"] = 4] = "Property"; SymbolFlags[SymbolFlags["EnumMember"] = 8] = "EnumMember"; SymbolFlags[SymbolFlags["Function"] = 16] = "Function"; SymbolFlags[SymbolFlags["Class"] = 32] = "Class"; SymbolFlags[SymbolFlags["Interface"] = 64] = "Interface"; SymbolFlags[SymbolFlags["ConstEnum"] = 128] = "ConstEnum"; SymbolFlags[SymbolFlags["RegularEnum"] = 256] = "RegularEnum"; SymbolFlags[SymbolFlags["ValueModule"] = 512] = "ValueModule"; SymbolFlags[SymbolFlags["NamespaceModule"] = 1024] = "NamespaceModule"; SymbolFlags[SymbolFlags["TypeLiteral"] = 2048] = "TypeLiteral"; SymbolFlags[SymbolFlags["ObjectLiteral"] = 4096] = "ObjectLiteral"; SymbolFlags[SymbolFlags["Method"] = 8192] = "Method"; SymbolFlags[SymbolFlags["Constructor"] = 16384] = "Constructor"; SymbolFlags[SymbolFlags["GetAccessor"] = 32768] = "GetAccessor"; SymbolFlags[SymbolFlags["SetAccessor"] = 65536] = "SetAccessor"; SymbolFlags[SymbolFlags["Signature"] = 131072] = "Signature"; SymbolFlags[SymbolFlags["TypeParameter"] = 262144] = "TypeParameter"; SymbolFlags[SymbolFlags["TypeAlias"] = 524288] = "TypeAlias"; SymbolFlags[SymbolFlags["ExportValue"] = 1048576] = "ExportValue"; SymbolFlags[SymbolFlags["Alias"] = 2097152] = "Alias"; SymbolFlags[SymbolFlags["Prototype"] = 4194304] = "Prototype"; SymbolFlags[SymbolFlags["ExportStar"] = 8388608] = "ExportStar"; SymbolFlags[SymbolFlags["Optional"] = 16777216] = "Optional"; SymbolFlags[SymbolFlags["Transient"] = 33554432] = "Transient"; SymbolFlags[SymbolFlags["Enum"] = 384] = "Enum"; SymbolFlags[SymbolFlags["Variable"] = 3] = "Variable"; SymbolFlags[SymbolFlags["Value"] = 107455] = "Value"; SymbolFlags[SymbolFlags["Type"] = 793064] = "Type"; SymbolFlags[SymbolFlags["Namespace"] = 1920] = "Namespace"; SymbolFlags[SymbolFlags["Module"] = 1536] = "Module"; SymbolFlags[SymbolFlags["Accessor"] = 98304] = "Accessor"; // Variables can be redeclared, but can not redeclare a block-scoped declaration with the // same name, or any other value that is not a variable, e.g. ValueModule or Class SymbolFlags[SymbolFlags["FunctionScopedVariableExcludes"] = 107454] = "FunctionScopedVariableExcludes"; // Block-scoped declarations are not allowed to be re-declared // they can not merge with anything in the value space SymbolFlags[SymbolFlags["BlockScopedVariableExcludes"] = 107455] = "BlockScopedVariableExcludes"; SymbolFlags[SymbolFlags["ParameterExcludes"] = 107455] = "ParameterExcludes"; SymbolFlags[SymbolFlags["PropertyExcludes"] = 0] = "PropertyExcludes"; SymbolFlags[SymbolFlags["EnumMemberExcludes"] = 900095] = "EnumMemberExcludes"; SymbolFlags[SymbolFlags["FunctionExcludes"] = 106927] = "FunctionExcludes"; SymbolFlags[SymbolFlags["ClassExcludes"] = 899519] = "ClassExcludes"; SymbolFlags[SymbolFlags["InterfaceExcludes"] = 792968] = "InterfaceExcludes"; SymbolFlags[SymbolFlags["RegularEnumExcludes"] = 899327] = "RegularEnumExcludes"; SymbolFlags[SymbolFlags["ConstEnumExcludes"] = 899967] = "ConstEnumExcludes"; SymbolFlags[SymbolFlags["ValueModuleExcludes"] = 106639] = "ValueModuleExcludes"; SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; SymbolFlags[SymbolFlags["MethodExcludes"] = 99263] = "MethodExcludes"; SymbolFlags[SymbolFlags["GetAccessorExcludes"] = 41919] = "GetAccessorExcludes"; SymbolFlags[SymbolFlags["SetAccessorExcludes"] = 74687] = "SetAccessorExcludes"; SymbolFlags[SymbolFlags["TypeParameterExcludes"] = 530920] = "TypeParameterExcludes"; SymbolFlags[SymbolFlags["TypeAliasExcludes"] = 793064] = "TypeAliasExcludes"; SymbolFlags[SymbolFlags["AliasExcludes"] = 2097152] = "AliasExcludes"; SymbolFlags[SymbolFlags["ModuleMember"] = 2623475] = "ModuleMember"; SymbolFlags[SymbolFlags["ExportHasLocal"] = 944] = "ExportHasLocal"; SymbolFlags[SymbolFlags["HasExports"] = 1952] = "HasExports"; SymbolFlags[SymbolFlags["HasMembers"] = 6240] = "HasMembers"; SymbolFlags[SymbolFlags["BlockScoped"] = 418] = "BlockScoped"; SymbolFlags[SymbolFlags["PropertyOrAccessor"] = 98308] = "PropertyOrAccessor"; SymbolFlags[SymbolFlags["ClassMember"] = 106500] = "ClassMember"; /* @internal */ // The set of things we consider semantically classifiable. Used to speed up the LS during // classification. SymbolFlags[SymbolFlags["Classifiable"] = 788448] = "